PHP & MVC

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

2 comments

Comments 1 - 2 of 2 previous next Post a comment

Post a comment
Embed Video
Edit your comment Cancel

8 Favorites & 1 Event

PHP & MVC - Presentation Transcript

  1. Daniel Cousineau & Chris Weldon Bar Camp Texas 2008 PHP AND MVC
  2. First Things First  http://www.google.com/search?hl=en&q=mvc  Google is wonderful, learn how to use it.  Or Yahoo  There are 6,203,493* search engines, use one  http://www.toosweettobesour.com/  Slides if anyone wants ‘em  http://www.chrisweldon.net/ * Possibly incorrect
  3. MVC Is…  Model, View, Controller  Object Oriented  Is communication between Model, View, and Controller Objects  Software Engineering  Organization  RAD  Code reuse!
  4. History
  5. MVC Is Not New!  Smalltalk-80 (circa 1980)  MVC first discussed in 1979 by Trygve Mikkjel Heyerdahl Reenskaug  MFC (Document/View)  Java’s Swing  QT4 (KDE)  Apple’s Cocoa (Core Data)  Notice a trend?  MVC is perfectly suited for GUI development…
  6. MVC And The Web  Made popular by Ruby on Rails  A good number of PHP MVC frameworks are Rails inspired  Wikipedia currently lists about 17 PHP MVC frameworks  CakePHP  Symfony  Code Igniter  Zend Framework  Make your own (I did!)
  7. Define MVC Model – View – Controller
  8. Model  Wikipedia:  “The domain-specific representation of the information that the application operates.”  Data Storage/Access  Often Data source backed  MySQL, MSSQL, Web Service, it doesn’t matter…  Abstraction, Abstraction, Abstraction!
  9. View  Wikipedia:  “Renders the model into a form suitable for interaction, typically a user interface element. Multiple views can exist for a single model for different purposes.”  HTML Templates  All formatting related code belongs here  A Smarty object is a good example  Any template engine works, however…  Abstraction, Abstraction, Abstraction!
  10. Controller  Wikipedia:  “Processes and responds to events, typically user actions, and may invoke changes on the model.”  A BIG DEAL  Process user inputs, communicate with Models and Views  The Go-Between  Much of the application’s core logic  Utilize the abstraction of before!  Invoke model, assign values to views
  11. Putting It Together… http://ash-mvc.org/website/framework/framework.html
  12. As A Framework
  13. Common Traits  index.php  Parses the URL  Often mod_rewrite used:  /controller/method/arg0/value0/arg1/…/valuen  Initializes proper controller  Executes correct method  Facilitates communication from controller to view  Signals view to render
  14. Directory Structure  Outside of web root. More secure! (generally)  config/  controllers/  models/  views/  Usually not PHP files  includes/  Any extra libraries, e.g. PHPMailer  framework/  Framework system files (do not have to reside in application)
  15. Helpers and Plug-ins  Usually common functions used by Views  E.g. format_phone(), create_calendar(), etc.  Some loaded through index.php, some loaded specifically by controller  Do not allow direct manipulation of models or controllers  Any code requiring access to models should be in the controller, not view
  16. Other Utilities…  Dispatcher classes  Abstract the location of files  Abstract creation of links/connections  Caching classes  Cache Templates? Output? SQL Queries? Opcode  Caching individual Templates poses a special problem  Will dynamism of framework affect caching?
  17. Why MVC?  Good architectural design  Code is organized and structure  Code structure lends itself to an easy to understand directory structure  Easy code maintenance  Because of abstraction, better strategic positioning of code will minimize the hunt for places to change  Easy to extend and grow  Modify parent classes, drop in new controller, etc.
  18. Sites Using PHP MVC Frameworks  CakePHP  Mozilla Addons  The Onion’s Online Store  Symfony  TED.com  Yahoo! Bookmarks  Pretty much everyone.
  19. The Cake Was NOT a Lie!

neraathneraath, 2 years ago

custom

5156 views, 8 favs, 4 embeds more stats

More Info

© All Rights Reserved

Go to text version
  • Total Views 5156
    • 5101 on SlideShare
    • 55 from embeds
  • Comments 2
  • Favorites 8
  • Downloads 317
Most viewed embeds
  • 47 views on http://www.nexen.net
  • 6 views on http://simonmichaelis.de
  • 1 views on http://static.slideshare.net
  • 1 views on http://www.slideshare.net

more

All embeds
  • 47 views on http://www.nexen.net
  • 6 views on http://simonmichaelis.de
  • 1 views on http://static.slideshare.net
  • 1 views on http://www.slideshare.net

less

Flagged as inappropriate Flag as inappropriate
Flag as innappropriate

Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

Cancel

Categories

Groups / Events