LinkIgniter is a modified version of CodeIgniter.
We welcome donations! If you would like to make a contribution please do so using Pledgie. We would be extremely thankful!
- New directory structure: The
applicationfolder now resides in the root of the project folder, so that the
systemfolder is easily replaceable by any updates. All public files now reside in the
publicfolder, which is where the DocumentRoot of the webserver should now point to. This provides better security by isolating all sensitive files.
- Doctrine: LinkIgniter comes bundled with the Doctrine ORM. In the
applicationfolder you will find a
databasefolder containing all things related to Doctrine.
- Layouts Manager: CodeIgniter does not come with a layouts system. LinkIgniter comes with one bundled, and enables you to use layouts for your webpages. There is a default layout in the
default.phpwhich should give you a basic idea. When needing to render a view, simply call
$this->load->view()and the layout will be rendered with the contents of the view. You can find more info on this in the library itself, located in the applications library folder.
- Test Console: When developing, you will notice a small console in the bottom of all pages, which enables you to test Doctrine queries and stuff. Give it a try! (This component is still in VERY early development stages)
- Doctrine CLI: Once you've created your YAML schemas in the
application/database/schemafolder, you can use the included Doctrine CLI in the
utilitiesfolder, or use the included script
utilities/create-all-load-datawhich drops the database, creates a new one, loads the tables, creates the models and loads all fixtures (use this script with care though, it can bite).
- Code Baker: One of the great features of Cake is its code baker. We've re-created it (using their Inflector class). Once you've created all database tables, point your browser to http://localhost/linkigniter and press the Bake these tables button. This will create a complete scaffolding interface with Datatables included! Give it a try, it's awesome! You can even edit the templates used in the
application/views/linkigniter/baker_templatesfolder to customize your design. (This feature currently works on PHP versions prior to 5.3).
- Action Filters: Rails-like before_filters and after_filters. Just create a method in LI_Controller or your normal controllers and add
var $beforeFilters = array('method')to enable. More examples in the source for
LI_Controller.phpin the application/libraries folder.
- Automagic CSRF protection: CSRF (Cross-site request forgery) protection is enabled by default on LinkIgniter. It automatically secures all forms on your views by adding a randomly generated token to each form (whether they're created using the form helper or not, it doesn't matter), and checking said token on each POST request. The library also adds meta headers to your views so you can add the token to ajax requests. Painless CSRF protection!
Word of advice
This is in very early development stages, and there are probably some bugs running around the code. Feel free to fork the repo and submit pull requests with patches and new features!
On the licenses
The included MIT license only applies to our code (the code baker and the layouts library for example). Every third-party component has its own license.