Why another framework?
I have used several frameworks in my time and designed a few before. While there are other great libraries out there like the Zend Framework, they are often bloated, slow and hard to understand and thus extend. Lightspeed is down to business and you can go over the whole core code of it in a coffee-break time. It still has all the main features you would expect from a framework and its structured similarly to Zend's so anyone from that background will have no problem understanding it quickly.
Every part of the system has been designed with performance in mind and caching is used internally and also provided for simple use to the user, using both APC and Memcache solutions.
It's licenced under the very permissive MIT licence so you can do pretty much anything with it.
Lightspeed PHP is Model-View-Controller design pattern oriented. The main tasks it solves are the following:
- Bootstrap the application
- Accept and understand a HTTP request
- Route and dispatch this request to an appropriate controller
- Execute business logic and render the results in a view
- Send back the response
In addition, the core framework handles translations for both routes and page content and provides simple interfaces for accessing caches and sessions.
Thats pretty much it, the core consists of only around ten classes and around thousand lines of code gets executed to handle the request, routing, dispatching, translations, view rendering and response. It really is tiny and fast.
For additional performance boost, it has been built from ground up to play well with the wonderful PHP to C++ transformer and compiler called Hiphop-PHP by Facebook that can make a simple Lightspeed application respond to requests in under a millisecond showing where the name comes from.
If you’re into performance and scalability like me, you might want to check out my Cassandra PHP Client Library built for reliable and fast communication with the wonderful Cassandra non-relational database.
Starting with Lightspeed PHP is easy, just download the framework and you will have a hello world application running. You may then want to check out the tutorial, that aims to teach you the core concepts to get up and running quickly. When you need specific help about some components, check out the manual explaining how to use and extend each part of the system. There is also a low-level reference generated from the source code, explaining every method.
Copyright (C) <2012> by <Priit Kallas> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.