Re: New to OO programming
- From: Scott <nospam@xxxxxxxxxx>
- Date: Thu, 09 Mar 2006 14:08:55 -0500
I agree - the manual is pretty dull, especially when you don't understand the whole purpose behind using OOP.
Richard was right when he said "For larger application development it is a godsend, though." One reason why OOP is the way to go when developing larger applications is because it allows you to focus on one particular part of the application at a time, instead of trying to constantly keep the whole big picture in your head.
For example, let's say you're developing a shopping cart. Think of the cart itself as an object - a real world physical object, like a cart in a grocery store. What purpose does the cart serve? It holds items. On a website, a cart needs to be able to receive and remove items. So your initial class would probably start out something like this (I'll do this with PHP4 for now for the sake of simplicity):
class cart {
var $items = array(); // This will hold all the items in the cart
function addItem($itemNo, $qty) {
if(isset($this->items[$itemNo])) {
$this->items[$itemNo]['qty'] += $qty;
} else {
$this->items[$itemNo]['qty'] = $qty;
}
}
function removeItem($itemNo, $qty) {
if(isset($this->items[$itemNo])) {
$this->items[$itemNo] -= $qty;
}
}
}
Now, what you have is all the code that affects the shopping cart in one place. You add properties and methods (vars and functions) based on what functionality you want your cart to have. For example, you'll probably want to add a displayContents() function for users to view the contents of the cart.
The items you put in the cart can also be objects with properties such as price, weight, item number, and name (although you'd need to do your addItem function a little differently than I did). This will make it easy to access these properties when you display the cart contents. ($this->items[$itemNo]->price) or something to that effect.
While PHP 5 has far superior OOP capabilities than PHP 4, it is also much more complex. There's a book by W.J. Gilmore called "Beginning PHP 5 and MySQL: From Novice to Professional". While this wasn't the best PHP book I've read, it did do a good job of explaining OOP in PHP 5.
Hope this helped!
Scott
gardnern wrote:
Ive been using PHP 4 for about 3.5 years now, and havnt messed with.
objects and classes for whatever reason, however I know I need to start
using them. With someone who has no class/object programming
experience, php's manual is quite dull and leaves me scratching my
head. Is there a more indepth manual or tutortial somewhere that can
explain everything, and more importantly... I cant figure out why and
when an object/class would be used? Im also switching to PHP 5. Thanks.
- Follow-Ups:
- Re: New to OO programming
- From: simonp
- Re: New to OO programming
- From: gardnern
- Re: New to OO programming
- References:
- New to OO programming
- From: gardnern
- New to OO programming
- Prev by Date: pqsql fieldnames
- Next by Date: Re: PHP5 considered Beta (modules coexisting with PHP 4)
- Previous by thread: Re: New to OO programming
- Next by thread: Re: New to OO programming
- Index(es):
Relevant Pages
|