|
Smart Architectures in PHP
Pretty Pictures
I've found that managers love to have pretty pictures and diagrams
drawn up for them, so here's one that will impress the best of them.
The idea behind this structure is that you are separating your logic
from the "presentation", meaning anything complicated is going on
down there in the "API/Data Access Layer".
Rather than coding
security checks, update statements, etc, etc throughout your HTML
layer, you should theoretically code the bulk of that in the API layer.
The HTML layer will then make simple function calls that return
either arrays, objects, or (my favorite) database result sets.
If you do this right, the topmost layer will be very thin so you
can easily create/maintain it.

Drawing from this example, the HTML interface depends on some direct
calls to the API layer, some calls to an HTML utility library (which
could, for example, generate pop-up boxes, or whatever), and those
libraries make calls to the database using a database abstraction
layer (again so you aren't tied to any particular database).
[ 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. | ||


