On Tue, 2010-01-19 at 15:11 +0000, Ben Stones wrote: > Hi, > > I've been learning about object oriented programming for the past few weeks > and I've understood it pretty well, but I have one question. Usually with > PHP scripts I make, all the functionality for a specific page is in the > actual PHP file, and I'd use PHP functions in a separate directory which > would be included in whichever PHP file needs specific functions I have > created. The functions would be for the specific things in my script, such > as validation checks, functionality that will be used/repeated a lot > throughout my script, etc. What I don't understand about OOP is what its > primary purpose is for. Do I use OOP for all the functionality of my > application, in separate directories, and include these specific class files > and call the methods to complete specific functionality needed for whatever > PHP file I'm working on, or is OOP used for specific functionality like I > would with functions? Essentially what I'm asking is what is the primary > purpose for OOP? Hope you understand. > > Thanks, There are a few advantages by going the OOP route with PHP. Firstly, you can bring together what would normally be in several variables into one object, making it easier to work with, instead of having to use various global variables to hold all the information. Also, you can instantiate more than one object of the same type, and it is a lot easier to work with than global variables. For some complex cases, you could only manage this with a huge global array, which would become unwieldy if made too large. Secondly, object allow inheritance. So, if you create an object class, you could use that as a basis for another more complex object by building upon it with inheritance. You can also use other classes as a basis for a more complex one of your own. Pear does this quite a lot. Lastly, with OOP, you can create functions that can only be called from within your object. These methods allow you to create functions that will only ever be used by your classes, and won't accidentally be called from anywhere else in your scripts. Thanks, Ash http://www.ashleysheridan.co.uk