Re: New to OO programming



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.

.



Relevant Pages

  • Re: php shopping cart needed.
    ... the cost to include this is double what I am ... > we need an all PHP cart. ... >>> of price for this program, with no other charges involved. ...
    (microsoft.public.frontpage.programming)
  • Help with mail Forwarding
    ... running Apache / PHP / MySQL etc ... In aliases I specify my most used ISP pop address and all mail for ... I am testing an osc cart and the two option for mail from the cart ... I have a .forward file (theres also an mbox) specifying the same most used ...
    (freebsd-questions)
  • Re: [PHP] Help with a foreach statement
    ... dual-demesnional array in $cart. ... My ECHO statement should look like this: ... PHP General Mailing List ...
    (php.general)
  • Shopping Cart Hell
    ... New to php and mysql ... His customers login and see their own specific gallery of ... I wouldn't know how to get that info into a persistent shopping cart ... session cart. ...
    (comp.lang.php)
  • Re: WalMart killed our Jewel
    ... California says they hardly check your cart. ... Their main purpose is to put ...
    (rec.food.cooking)