Descarrega e instal·lació de CodeIgniter
Instal·lació Codeigniter
Cada cop que vulguem iniciar un projecte amb CodeIgniter haurem d’instal·lar una instància de CI4 i per fer-ho emprarem el gestor de paquets composer
composer create-project codeigniter4/appstarter elmeuprojecte --no-dev
El paràmetre no-dev desactiva les proves unitàries que utilitzaríem en cas de desenvolupar una llibreria o alguna ampliació de CodeIgniter, en cas de requerir dur a terme proves unitàries (php-unit) no s’hauria d’incloure el paràmetre no-dev en la instrucció anterior.
La instrucció ens crearà una carpeta anomenada elmeuprojecte que contindrà un arxiu composer.json amb els requisits d’un projecte que treballi amb CI4 i una estructura bàsica de carpetes, molts arxius no hauran estat descarregats i perquè aquests arxius es descarreguin caldrà executar composer install.
cd elmeuprojecte
composer install
En qualsevol moment podem actualitzar el Framework o les llibreries emprant l'eina composer
composer update
La jerarquia de carpetes que tenen els projectes és la següent:
|
Consola CodeIgniter
CodeIgniter com molts frameworks tenen les seves pròpies instruccions de consola que ens permeten crear codi de forma automàtica, configurar, revisar propietats, executar tasques de manteniment, entre altres. En el cas de CI4 la instrucció és SPARK que és un arxiu que s’instal·la per defecte en la carpeta del nostre projecte.
L'instrucció spark en entorn windows s'haurà d'executar com a php spark pero en Linux es pot executar directament la instrucció des de consola spark
Comandes spark
php spark
Mostra les diferents instruccions spark que tenim disponibles
Ajuda Spark
php spark help COMANDA
Mostra ajuda de la comanda concreta que li passa com a paràmetre
Seeding. Inicialitzar BBDD. Sembrar BBDD
php spark db:seed NOM_SEEDER
Inicia el procés d’inserció de dades de prova a la base de dades segons el generador que es passi per paràmetre
Iniciar webserver debug
php spark serve
Inicia el servidor de debugging al port 8080
Iniciar webserver debug al port 80
php spark serve --port 80
Inicia el servidor de debugging al port especificat per paràmetre, en aquest cas el 80
Migracions. Executar
php spark migrate
php spark migrate --all
Aplica totes les migracions, si cal, crea una taula de migracions a la base de dadeas on s’emmagatzemarà l’estat de cada migració. El paràmetre --all permet executar migracions que es trobin dins de llibreries a més d’aquelles que es trobin en el nostre projecte (App/Database/Migrations)
Si volem executar les migracions des d’un controller podríem fer-ho emprant els services de CodeIgniter. Per exemple per executar migracions des d’un controller utilitzaríem un codi com el següent:
$migrate = \Config\Services::migrations();
try {
$migrate->latest();
} catch (\Throwable $e) {
// Do something with the error here...
}
Migracions. Desfer
php spark migrate:rollback
Reverteix el darrer bloc de migracions executat
Migracions. Mostrar estat
php spark migrate:status
Mostrar les migracions aplicades i en cas que alguna no ho estigui, mostra la data d’execució en blanc
Rutes. Visualitzar
php spark routes
php spark routes -h
Mostra totes les rutes definides per l’usuari, així mateix també mostra els filtres que afecten cadascuna d’elles. L’execució amb el paràmetre -h ens mostrarà les rutes ordenades i agrupades segons el controller
Namespaces. Mostra els namespaces
php spark namespaces
Mostra els namespaces definits dins el projecte
Arxiu .ENV
Per defecte CodeIgniter inicia en mode producció per així activar la seguretat de certs apartats del codi de la nostra aplicació. Per configurar CodeIgniter emprarem els arxius que es troben dins la carpeta App/Config, però aquests arxius estan destinats a la configuració durant la producció, durant el procés de desenvolupament emprarem un arxiu anomenat env que es troba a l’arrel del projecte.
Perquè aquest arxiu sigui operatiu caldrà canviar-li el nom a .env
# REM Windows/DOS mode
# REM Rename file env to .env
ren env .env
# LINUX mode
# Rename file env to .env
mv env .env
Aquest arxiu conté els mateixos paràmetres que els que es troben distribuïts dins la carpeta App/Config, però seran d’execució prioritària respecte als que allí s’hi troben. Això ens permet sobreescriure elements de la configuració amb un sol arxiu, molt útil per entorns de desenvolupament.
Primer caldrà indicar-li a CodeIgniter4 que estem en procés de desenvolupament, per fer-ho editarem l’arxiu .env i n’establirem la variable CI_ENVIRONMENT
#----------------------------------------------------
# ENVIRONMENT
#----------------------------------------------------
CI_ENVIRONMENT = development
Aquesta línia de l’arxiu inicialment es troba comentada i establerta a production, caldrà treure l’indicador de comentari i canviar-la a development.
Seguidament, si volem aprofitar que CodeIgniter disposa d’una Debug Toolbar que ens permetrà debugar les nostres aplicacions més fàcilment haurem d’establir un altre paràmetre. Quan un paràmetre en l'arxiu .env comença amb un prefix vol dir que aquell paràmetre també es troba en un arxiu de la carpeta config amb aquell nom.
Per exemple, app.baseURL és el paràmetre baseURL que es troba a l'arxiu App\Config\App.php
#---------------------------------------------------
# APP
#---------------------------------------------------
app.baseURL = 'http://localhost'
baseURL ha de coincidir amb l'URL del servidor de debug perquè així CI4 ens hi incorpori la toolbar, això vol dir que si el port és diferent del 80 també caldrà indicar-lo en baseURL com a http://localhost:8080 per exemple