Kohana è un framework PHP 5 che usa la struttura Model View Controller. Questo framework mira essenzialmente ad essere sicuro, leggero e facile da usare.
Caratteristiche
- Estrememente sicuro
- Eccezionalmente leggero
- Breve curva di apprendimento
- Usa la struttura MVC
- UTF-8 compatibile al 100%
- Architettura Loosely coupled
- Estremamente semplice da estendere
Tecnologia
- PHP 5 OOP rigorosa
- Semplice astrazione dei database attraverso helper SQL
- Driver di sessione multipli (nativo, database, cookie)
- Potente gestione degli eventi che permette modifiche dinamiche
- Originariamente basato su CodeIgniter
Cosa ha di diverso Kohana?
Sebbene Kohana utilizzi strutture e concetti ormai comuni, ci sono alcuni aspetti per cui Kohana riesce a distinguersi:
- È gestito da una comunità, non da un'azienda. Lo sviluppo di Kohana è gestito da un team di persone che necessitano di un framework per questioni di velocità e potenza delle soluzioni.
- PHP 5 OOP rigorosa. Offre numerosi vantaggi: protezione della visibilità, caricamento automatico delle classi, overloading, connessioni, astrazioni e unicità.
- Estremamente leggero. Kohana non ha alcuna dipendenza da estensioni PECL o librerie PEAR. È stato evitato l'uso di librerie monolitiche a favore di soluzioni ottimizzate.
- GET, POST, COOKIE, e SESSION funzionano come devono. Kohana non limita l'accessso alle variabili globali e offre al tempo stesso un filtro e una protezione da XSS.
- Caricamento automatico delle classi. Il caricamento delle classi avviene nel momento in cui lo necessita l'applicazione.
- Nessun conflitto sui nomi. Tutti le classi hanno un suffisso per permettere l'uso di nomi simili tra i componenti, al fine di ottenere API il più coerenti possibile.
- Risorse a cascata che offrono un'estendibilità senza precedenti. Praticamente ogni parte di Kohana puà essere sostituita o estesa senza dover modificare alcuna parte del core. Il sistema di moduli permette di aggiungere plugin con file multipli alla tua applicazione in maniera trasparente.
- Consistenza tra libreria di driver e API. Le librerie possono utilizzare diversi "driver" per gestire API esterne diverse in maniera trasparente. Per esempio, è possibile gestire contemporaneamente sessioni multiple di memorizzazione di dati (database, cookie e nativa), e al tempo stesso usare la stessa interfaccia tra tutte quante. Questo permette di sviluppare nuovi driver per le librerie esistenti, mantenendo così inalterate e trasparenti le API che le utilizzano.
- Potente gestione degli eventi. Il sistema di gestione degli eventi incorpora una struttura di tipo Observer, la quale permette un estremo livello di personalizzazione sulla gestione degli eventi, potenzialmente senza limiti.
- Rapido ciclo di sviluppo. Un rapido sviluppo ottiene come risultato una risposta veloce agli errori e alle richieste degli utenti.