Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Lithium PHP Framework Talk Outline
- About Lithium
- -------------
- Lithium PHP is modern PHP 5.3+ MVC framework aimed at developers looking for a framework that offers amazing flexibility built
- on top of a solid set of built-in conventions and defaults. Lithium takes liberal advantage of PHP 5.3 features like
- closures (anonymous functions), namespaces (for autoloading classes) and late-static-binding (proper subclassing for static methods).
- Lithium was developed by some of the core developers of CakePHP and brings a strong pedigree from experienced high-adoption framework designers.
- Talk Summary
- ------------
- - The Lithium Design Philosophy
- - Framework Highlights
- - The lifecycle of a Request
- - Working with models
- - Controllers and Routing
- - Views and the Media Class (for handling json, xml)
- - Working with and extending helpers
- - Introduction to Lithium’s Method Filter system
- Key Points
- -----------
- - Everything in Lithium can be extended or swapped out, including core framework dependencies
- - Lithium offers an astoundingly powerful chained method filtering system, which can intercept specially-designed methods
- at any point before or after execution. (thanks to closures)
- - Lithium handles multiple environment configurations out of the box for Caching, database connections and many other core components.
- - Lithium is flexible enough to build a microframework, integrate with existing apps or as a standalone app.
- Rough Slide outline
- -------------------
- - About Lithium
- - comparisons to CakePHP
- - Multiparadigm
- - object oriented, functional, aspect oriented, procedural
- - design pattern dogma
- - php is not java (play to your strengths)
- - php 5.3+ only
- - Lithium’s use of PHP5.3
- - namespaces
- - autoloading based on standardized namespace + path conventions
- - late static binding
- - properly subclass static methods
- - closures
- - filter system
- - aspect oriented programming
- - router redirect, intercepting flow
- - Lithium is adaptable
- - multiple environments
- - multiple database, mix & match SQL & NoSQL
- - flexible caching
- - can substitute dependencies
- - Installing
- - download zip
- - install via git
- - Typical Lifecycle of a request
- - Request Obj, Bootstrap, Dispatch, Route, Response
- - request obj
- - created on request, encapsulates all important data
- - bootstrap
- - load only the parts of the app you need
- - config info in one folder
- - Routing
- - how to map urls
- - reverse routing in views
- - microframework
- - Controllers
- - Assemble data from model, return vars for view
- - Models
- - Built in find methods
- - Multiple datasources
- - Static methods represent table/class, instance methods for resulting Record/Document Objects
- - Model results at itterable objects and model instance methods can be called on them.
- - View
- - automatic variable escaping
- - helpers
- - helpers autoload
- - easily override core helper output and behavior
- - extend helpers with your own version
- - Extending
- - all classes are extendable,
- - Importing libraries
Add Comment
Please, Sign In to add comment