|
Smart Architectures in PHP
Tim Perdue
I've been wanting to write this article for a long time, but
never really had the time to do it right. So rather than say
this is going to be a how-to, I'm hoping that this article
will be the seed of discussion about how to build great, scalable
web applications.
Certainly over the past 2-3 years, my web development skills have
changed dramatically. I look back at the source code for Geocrawler
and can't believe I wrote that. The source code for PHPBuilder is
also far from exemplary, as it's really just a hodge-podge of
various GPL'd software packages cobbled together.
SourceForge was really the
first serious app I helped write as an experienced PHP developer and
I think it shows to an extent in the end result. The code is pretty
much broken up into decent libraries and sensible function calls.
The database structure is very clean. The various subsections of
the site are generally not dependent on the other parts of the site.
But it's not perfect. If I had it to do again, I would try to
make more of a point of keeping the HTML layer more clearly
separated from the database layer, either through objects or
a cleaner function library.
[ Next Page ]
| Comments: | ||
| RE: Calling PHP.EXE from the commandline | rad | 11/11/05 01:18 |
| RE: Attachment html file with php mail() function | fayaz | 12/03/04 05:46 |
| RE: My best advice | Jclout | 04/01/03 13:31 |
| many hours saved thanks to this. | SAMUEL MORHAIM | 12/26/02 10:55 |
| skyscaper | albana | 11/05/02 13:17 |
| RE: OO Application based on this approach | Dominic Locas | 10/10/02 19:47 |
| RE: OO Application based on this approach | Mike | 10/04/02 08:01 |
| RE: Seperation technique example | Brian Lacy | 09/12/02 02:51 |
| RE: OO Application based on this approach | Brian Lacy | 09/12/02 02:42 |
| RE: Seperation technique example | Chris Adams | 05/23/02 17:30 |
| RE: OO Application based on this approach | T-Dob | 05/08/02 20:25 |
| Blame the php samples.... | kace | 05/05/02 20:05 |
| RE: OO Application based on this approach | Nicolas DEROIS | 04/29/02 08:31 |
| RE: OO Application based on this approach | Nicolas DEROIS | 04/25/02 11:24 |
| function calls != OO | Duane Gran | 03/26/02 08:51 |
| Cool article | Chris Travers | 02/20/02 16:18 |
| RE: OO Application based on this approach | Brian Schaeffer | 02/15/02 12:22 |
| Basic layout | Eric | 01/31/02 17:56 |
| RE: OO Application based on this approach | Fabio Lima | 01/23/02 20:48 |
| RE: OO Application based on this approach | Massimo Ferrario | 01/04/02 05:47 |
| Arcadia architecture | paul hartzog | 12/20/01 15:37 |
| Seperation technique example | Jerome Schellie | 11/24/01 14:13 |
| RE: OO Application based on this approach | Karim | 09/18/01 08:29 |
| 2 words: Design Patterns | Eric Miles | 08/30/01 12:45 |
| Attachment html file with php mail() function | Navdeep Singh | 07/17/01 06:44 |
| OO Application based on this approach | Alex | 07/02/01 16:06 |
| Separating the Layers | J. Howard | 06/27/01 08:16 |
| RE: separating presentation | Ryan | 06/11/01 15:44 |
| RE: What about end users? | Ryan | 06/11/01 15:32 |
| RE: My best advice | salvador dali | 06/01/01 08:49 |
| RE: My best advice | Mutes | 05/17/01 17:39 |
| RE: Architecture comments | 7stud | 05/15/01 19:57 |
| separating presentation | 7stud | 05/14/01 19:40 |
| RE: Implementing in a 4 Layer architecture. | Eduardo Zarate | 04/27/01 21:20 |
| RE: My best advice | Robert Christiansen | 04/19/01 17:37 |
| RE 4 layer architecture | tony davis | 04/09/01 17:27 |
| RE: XML under HTML | dan | 03/30/01 03:24 |
| Architecture comments | dan | 03/30/01 03:20 |
| when to make a function | Eric Blade | 03/26/01 00:04 |
| RE: CSS: Separating presentation from design | Eric Blade | 03/25/01 23:58 |
| RE: site architecture | dingding21cn | 03/22/01 21:38 |
| RE: CSS: Separating presentation from design | Phillip Oertel | 02/23/01 18:29 |
| RE: My best advice | Carfield Yim | 02/22/01 21:10 |
| A really good book... | Jeroen | 01/29/01 06:40 |
| RE: XML under HTML | vahidf | 01/28/01 19:28 |
| RE: Any More Tutorials Like This | The Duke | 01/22/01 02:41 |
| RE: Implementing in a 4 Layer architecture. | Kirk Fretwell | 12/30/00 12:46 |
| help me | mehrdad | 12/01/00 10:33 |
| Calling PHP.EXE from the commandline | rob | 11/29/00 16:56 |
| RE: XML under HTML | James | 11/23/00 22:20 |
| XML - MySQL Interaction | Joel Allen | 11/23/00 19:04 |
| PHP Coding Standard | Fredrik Kristiansen | 11/16/00 17:59 |
| RE: Why not open-source phpbuilder.com | mubarmej | 11/16/00 12:51 |
| RE: PHP Coding Standard | Chris Kings-Lynne | 11/08/00 22:02 |
| RE: Printing Function in PHP | Kaj Haffenden | 11/08/00 06:26 |
| RE: Why not open-source phpbuilder.com | Tim Perdue, PHPBuilder.com | 11/07/00 11:40 |
| Why not open-source phpbuilder.com | Anoiksi Alekhine | 11/07/00 11:07 |
| RE: PHP Coding Standard | Jan Lehnardt | 11/06/00 08:48 |
| RE: Convincing my Boss | Kartic Krishnamurthy | 11/05/00 22:06 |
| RE: My best advice | Fred Kuipers | 11/03/00 13:27 |
| PHP4 and server support? | Dan Learning PHP4 | 11/03/00 00:25 |
| RE: Implementing in a 4 Layer architecture. | Tim Perdue, PHPBuilder.com | 11/01/00 13:01 |
| Implementing in a 4 Layer architecture. | Charles-A. Rovira | 11/01/00 11:37 |
| RE: PHP Coding Standard | morpheus | 11/01/00 01:16 |
| RE: PHP Coding Standard | stewy | 10/31/00 21:15 |
| RE: Convincing my Boss | Herman Veluwenkamp | 10/30/00 16:07 |
| Convincing my Boss | Guido Frigo | 10/30/00 06:55 |
| Printing Function in PHP | Johnny Au Yeung | 10/30/00 04:38 |
| RE: PHP Coding Standard | Tim Perdue, PHPBuilder.com | 10/29/00 14:03 |
| RE: PHP Coding Standard | Jan Lehnardt | 10/28/00 06:10 |
| RE: PHP Coding Standard | Chad Morgan | 10/27/00 12:43 |
| RE: PHP Coding Standard | Fredrik Kristiansen | 10/26/00 19:38 |
| PHP Coding Standard | Chris Kings-Lynne | 10/26/00 01:39 |
| RE: My best advice | brian | 10/24/00 13:38 |
| Use of Returns; was RE: My best advice | Tom Anderson | 10/23/00 15:08 |
| RE: My best advice | Aliba Sorahanazo | 10/21/00 01:28 |
| Great idea, but... | Fredrik Kristiansen | 10/20/00 13:59 |
| RE: My best advice | JAvier Leyba | 10/20/00 11:48 |
| RE: My best advice | Cliff Baeseman | 10/19/00 14:24 |
| RE: Any More Tutorials Like This | Tom Anderson | 10/19/00 11:33 |
| RE: CSS: Separating presentation from design | Domingo | 10/19/00 11:14 |
| RE: basics-101 | Steven Holloway | 10/19/00 03:44 |
| On the Same Wavelength | Steven Holloway | 10/19/00 03:38 |
| cool stuff with define() | Levi Burton | 10/19/00 03:07 |
| RE: XML under HTML | Urs Gehrig | 10/18/00 19:23 |
| Any More Tutorials Like This | Joel Allen | 10/18/00 16:07 |
| Take a look at Java-frameworks! | Heiko Schlichting | 10/18/00 13:02 |
| RE: My best advice | Tom Anderson | 10/18/00 12:01 |
| DB Result Sets and HTML Layer questions | Alex V | 10/17/00 23:31 |
| RE: My best advice | Richard Heyes | 10/17/00 15:17 |
| RE: My best advice | Jeff Horner | 10/17/00 12:10 |
| Some sourcecode | Fredrik Kristiansen | 10/17/00 08:04 |
| RE: My best advice | sergey | 10/16/00 20:15 |
| RE: Java anyone? | Hunter Hillegas | 10/16/00 19:42 |
| RE: My best advice | oguz altun | 10/16/00 14:23 |
| My best advice | Cliff Baeseman | 10/16/00 00:39 |
| RE: Good article | Doeleman | 10/15/00 09:30 |
| Son of a.... | phenylketonurics | 10/14/00 15:03 |
| RE: OO data abstraction | Jan Lehnardt | 10/14/00 05:38 |
| RE: Nothing new | llemon | 10/14/00 01:57 |
| CSS: Separating presentation from design | Jesper Rønn | 10/13/00 18:54 |
| Great!! | T.R. Cox | 10/13/00 17:01 |
| global $feedback ??? | Greg Sohl | 10/13/00 15:51 |
| RE: basics-101 | Brian | 10/13/00 13:42 |
| RE: OO data abstraction | Tom Anderson | 10/13/00 13:12 |
| RE: Java anyone? | Wolfram Kriesing | 10/13/00 12:36 |
| RE: OO data abstraction | Wolfram Kriesing | 10/13/00 12:34 |
| RE: In the planning stages | Jan Lehnardt | 10/13/00 07:08 |
| RE: What about end users? | Jan Lehnardt | 10/13/00 05:28 |
| RE: basics-101 | Adrian Kubala | 10/13/00 01:58 |
| RE: OO data abstraction | Adrian Kubala | 10/13/00 01:45 |
| RE: What about end users? | Charles W. Lowe | 10/12/00 23:31 |
| RE: basics-101 | Paul Hampton | 10/12/00 18:10 |
| RE: Java anyone? | Hunter Hillegas | 10/12/00 16:43 |
| RE: OO data abstraction | Jan Lehnardt | 10/12/00 15:38 |
| RE: basics-101 | Tim Perdue, PHPBuilder.com | 10/12/00 13:28 |
| What about end users? | Cliff Ingham | 10/12/00 13:09 |
| RE: basics-101 | Tom Anderson | 10/12/00 12:44 |
| RE: XML under HTML | Luis Argerich | 10/12/00 11:15 |
| RE: OO data abstraction | Matt Flaherty | 10/12/00 08:41 |
| Java anyone? | Stig | 10/12/00 03:34 |
| RE: basics-101 | Kurt | 10/12/00 03:33 |
| RE: Nothing new | stewy | 10/11/00 23:06 |
| basics-101 | stewy | 10/11/00 22:54 |
| In the planning stages | Sean Grimes | 10/11/00 20:05 |
| OO data abstraction | Adrian Kubala | 10/11/00 17:31 |
| RE: Nothing new | Tim Perdue, PHPBuilder.com | 10/11/00 17:18 |
| RE: XML under HTML | Herman Veluwenkamp | 10/11/00 16:45 |
| Nothing new | thanasis | 10/11/00 16:21 |
| RE: XML under HTML | Tim Perdue, PHPBuilder.com | 10/11/00 16:20 |
| RE: Good article -- page 5 is bit unclear | Tim Perdue, PHPBuilder.com | 10/11/00 16:17 |
| RE: Error in example? | Tim Perdue, PHPBuilder.com | 10/11/00 16:15 |
| I welcome your feedback | Luis Argerich | 10/11/00 15:49 |
| XML under HTML | Jan Lehnardt | 10/11/00 14:23 |
| site architecture | Bill | 10/11/00 13:03 |
| Absolutely | Dan Zambonini | 10/11/00 12:26 |
| Use FastTemplateClass | Andreas Markussen | 10/11/00 11:23 |
| Good article -- page 5 is bit unclear | John Lim | 10/11/00 09:58 |
| Balance is Hard to get | Onno Benschop, ITmaze.com.au | 10/11/00 09:38 |
| Error in example? | Patrick Aland | 10/11/00 09:28 |
| FreeEnergy... | Kit | 10/11/00 08:43 |
| what a wicked article! | ray | 10/11/00 04:50 |
|
If you are looking for help, please post on the appropriate forum here. Your questions will be answered much more quickly. | ||


