KohanaPHP
{{ infobox website | name = KohanaPHP | screenshot = | caption = KohanaPHP homepage on 2007-11-17. | url = http://kohanaphp.com | type = PHP5 Framework | owner = KohanaPHP | author = KohanaPHP }}
Kohana is an open source web application PHP5 framework that uses the Model View Controller architectural pattern. It aims to be secure, lightweight, and easy to use.
History
Kohana was originally created as a project fork of the CodeIgniter PHP Framework.
The principal reason for the fork was that the lack of feedback and bug fixing that was present and the time between bugs being identified and an official release incorporating these fixes. Also the amount of influence the community had on further development of the framework. As EllisLab are sole developers of the framework they control the development, this has frustrated a number of developers who want to be able influence the design process and Contribute code.
Differences Between Kohana and CodeIgniter
- Strict PHP5 OOP. Offers many benefits: visibility protection, automatic class loading, overloading, interfaces, abstracts, and singletons.
- Continues CodeIgniter design patterns. Anyone who has used CodeIgniter will quickly understand Kohana's structure and design patterns.
- Community, not company, driven. Kohana is driven by community discussion, IDeaS, and code. Kohana developers are from all around the world, each with their own talents. This allows a rapid and flexible development cycle that can respond to bugs and requests within hours, instead of days or months.
- GET, POST, COOKIE, and SESSION arrays all work as expected. Kohana does not limit your access to global data, but offers the same filtering and XSS protection that CodeIgniter does.
- Cascading resources, modules, and inheritance. Controllers, models, libraries, helpers, and views can be loaded from any location within your system, application, or module paths. Configuration options are inherited and can by dynamically overwritten by each application.
- No namespace conflicts. Class suffixes, like _Controller, are used to PReVENT namespace conflicts. This allows a Users controller and Users model to both be loaded at the same time.
- True auto-loading of classes. This includes libraries, controllers, models, and helpers. This is not pre-loading, but true dynamic loading of classes, as they are requested.
- Helpers are static classes, not functions. For example, instead of using form_open(), you would use form::open().
- Library drivers and API consistency. Libraries can use different "drivers" to handle different external APIs transparently. For example, multiple session storage options are available (database, cookie, and native), but the same interface is used for all of them. This allows new drivers to be developed for existing libraries, which keeps the API consistent and transparent.
- Powerful event handler. Kohana events can by dynamically added to, replaced, or even removed completely. This allows many changes to Kohana execution process, without modification to existing system code.
Features
- Highly secure
- Extremely lightweight
- Short learning curve
- Uses the MVC pattern
- 100% UTF-8 compatible
- Loosely coupled architecture
- Extremely easy to extend
Technology
- Strict PHP5 OOP
- Simple database abstraction using SQL helpers
- Multiple session drivers (native, database, and cookie)
- Powerful event handler allows small modifications dynamically
External links
See also
- Comparison of web application frameworks