Re: [PHP] everything as classes
On Thursday 03 April 2008, robert wrote: Along the lines of a previous post How to get a code review, I am curious if it is overkill to create everything in classes. For example, a movie website where there is a class for the movie datatype, class for getting/adding/deleting/updating movie's data to the database, and class for displaying the data. (Of course there are classes for general functionality like sql database connection etc.) For listing movies alone there are at least 4 different inheritance classes for chronological, alphabetic, category and keyword. Anyway this is how I coded something similar but for Flash/Actionscript site but I'm not sure about a PHP site. I appreciate your comments. - robert Procedural code is a hack saw. OOP is a table saw. Sometimes, all you need is a hack saw. It's simple, straightforward, easy to learn how to use, and you can pick it up and use it in various ways and places. It's harder to get wrong, and when you do you can usually just turn your hand at a weird angle for a bit and make it work. Other times, you really need a table saw. It takes longer to build and setup and can be more difficult to understand if you're not used to it, but if done properly will slice and dice wood in ways you couldn't even think of with a hack saw. Of course, if you build it wrong then you're now out a very expensive table. Use whichever makes sense for your use case. In a language like PHP that has strong support for both, both the everything is an object and never use objects viewpoints are, well, ignorant. :-) -- Larry Garfield AIM: LOLG42 [EMAIL PROTECTED] ICQ: 6817012 If nature has made any one thing less susceptible than all others of exclusive property, it is the action of the thinking power called an idea, which an individual may exclusively possess as long as he keeps it to himself; but the moment it is divulged, it forces itself into the possession of every one, and the receiver cannot dispossess himself of it. -- Thomas Jefferson -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] everything as classes
Hi After spending yesterday afternoon I cleaned up my code and simplified in many places. I really like the idea to use Static class for single use database operations. Thank you very much to you that responded with comments. -robert On Apr 3, 2008, at 11:23 AM, Richard Heyes wrote: Along the lines of a previous post How to get a code review, I am curious if it is overkill to create everything in classes. Everything, yes. Sometimes all you need is a quick and not so dirty function. Though saying that, OO is generally thought of as the way to go. For example, a movie website where there is a class for the movie datatype, class for getting/adding/deleting/updating movie's data to the database, and class for displaying the data. (Of course there are classes for general functionality like sql database connection etc.) For listing movies alone there are at least 4 different inheritance classes for chronological, alphabetic, category and keyword. Anyway this is how I coded something similar but for Flash/ Actionscript site but I'm not sure about a PHP site. I appreciate your comments. Based on what you've described I would go with the following classes: Movie This class would handle fetching the movies data, updating it and/or deleting it. Or you could have a static Movie method for deleting one, eg Movie::Delete($id). Could also have a static Add() method which creates a movie and returns a movie object. DB Connection There are plenty of database classes around (not least my own PEAR replica - http://www.phpguru.org/article.php/121). Others include MDB2, PDO, ADODB etc. Movie Listing(s) (abstract?) | +- By name (alphabetical +- By category +- By keyword +- By date (chronological) Here you'd have the code to show listings. With common code on the parent movie listings class and with specific code on the appropriate child class. -- Richard Heyes Employ me: http://www.phpguru.org/cv -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] everything as classes
Along the lines of a previous post How to get a code review, I am curious if it is overkill to create everything in classes. For example, a movie website where there is a class for the movie datatype, class for getting/adding/deleting/updating movie's data to the database, and class for displaying the data. (Of course there are classes for general functionality like sql database connection etc.) For listing movies alone there are at least 4 different inheritance classes for chronological, alphabetic, category and keyword. Anyway this is how I coded something similar but for Flash/Actionscript site but I'm not sure about a PHP site. I appreciate your comments. - robert -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] everything as classes
On Thu, Apr 3, 2008 at 10:33 AM, robert [EMAIL PROTECTED] wrote: Along the lines of a previous post How to get a code review, I am curious if it is overkill to create everything in classes. For example, a movie website where there is a class for the movie datatype, class for getting/adding/deleting/updating movie's data to the database, and class for displaying the data. (Of course there are classes for general functionality like sql database connection etc.) For listing movies alone there are at least 4 different inheritance classes for chronological, alphabetic, category and keyword. Anyway this is how I coded something similar but for Flash/Actionscript site but I'm not sure about a PHP site. I appreciate your comments. - robert to each his own; i am somewhat of an oop zealot, but i will advise u to heed the reality that php affords the use of functions in the global namespace and this feature is often useful even if an application is oop-centric. sometimes being able to just crank out a function and be done w/ it is nice :) and other times it makes sense from a design perspective to offer 'convenience' functions in the global scope, which often times may actually dip into functionality implemented in a class. this sort of stuff will be getting a twist in days to come (php 5.3+) when we will be able to write functions (that arent class members) and segregate them from the global scope albiet namespaces. -nathan
Re: [PHP] everything as classes
Along the lines of a previous post How to get a code review, I am curious if it is overkill to create everything in classes. Everything, yes. Sometimes all you need is a quick and not so dirty function. Though saying that, OO is generally thought of as the way to go. For example, a movie website where there is a class for the movie datatype, class for getting/adding/deleting/updating movie's data to the database, and class for displaying the data. (Of course there are classes for general functionality like sql database connection etc.) For listing movies alone there are at least 4 different inheritance classes for chronological, alphabetic, category and keyword. Anyway this is how I coded something similar but for Flash/Actionscript site but I'm not sure about a PHP site. I appreciate your comments. Based on what you've described I would go with the following classes: Movie This class would handle fetching the movies data, updating it and/or deleting it. Or you could have a static Movie method for deleting one, eg Movie::Delete($id). Could also have a static Add() method which creates a movie and returns a movie object. DB Connection There are plenty of database classes around (not least my own PEAR replica - http://www.phpguru.org/article.php/121). Others include MDB2, PDO, ADODB etc. Movie Listing(s) (abstract?) | +- By name (alphabetical +- By category +- By keyword +- By date (chronological) Here you'd have the code to show listings. With common code on the parent movie listings class and with specific code on the appropriate child class. -- Richard Heyes Employ me: http://www.phpguru.org/cv -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php