introduction
Codeigniter est un framework PHP très puissant avec une petite empreinte.
Ce guide suppose que vous avez au moins une pile LAMP fonctionnelle et un accès root à votre VPS.
Installer Codeigniter
Tout d'abord, accédez à votre dossier racine Apache.
cd /var/www/html
Téléchargez la dernière version stable de Codeigniter.
wget https://github.com/bcit-ci/CodeIgniter/archive/3.1.5.zip
Extrayez le fichier téléchargé.
unzip 3.1.5.zip
Si vous obtenez une erreur:, The program 'unzip' is currently not installed.
vous devez installer unzip.
sudo apt install unzip
Essayez maintenant d'extraire à nouveau.
Notez un nouveau répertoire appelé CodeIgniter-3.1.5
. Renommez ce dossier en codeigniter
.
mv CodeIgniter-3.1.5 codeigniter
Accédez à http://[vultr-instance-ip]/codeigniter
et vous serez accueilli avec la page d'accueil de codeigniter. Cette page d'accueil est produite par un exemple de contrôleur situé à application/controllers
appelé Welcome.php
. La page chargée se trouve dans application/views
et est appelée welcome.php
.
Configuration et jolies URL
Codeigniter est maintenant opérationnel et vous devez faire une configuration initiale. Si vous prévoyez d'utiliser une base de données, vous devrez configurer l'accès à la base de données dans le database.php
fichier de configuration situé à l'adresse application/config/database.php
. Recherchez le bloc suivant et mettez-le à jour avec vos informations de connexion.
$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => '',
'password' => '',
'database' => '',
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);
Enregistrez le fichier et quittez. Vous avez terminé la configuration de la base de données, passons maintenant en revue le schéma d'URL Codeigniter.
Jolies URL
Par défaut, les URL dans Codeigniter sont conçues pour être conviviales avec une approche basée sur les segments:
http://[vultr-instance-ip]/codeigniter/index.php/[controller]/[method]/[param]
Suivant l'approche MVC, le [controller]
segment représente une classe de contrôleur située dans application/controllers
, le [method]
segment une méthode dans cette classe et le [param]
segment est un paramètre transmis à la méthode.
Testons maintenant cette configuration en ajoutant la méthode suivante à la méthode d'index dans application/controllers/Welcome.php
:
public function hello($user = 'John Doe')
{
echo "Hello {$user}!";
}
Naviguez maintenant vers http://[vultr-instance-ip]/codeigniter/index.php/welcome/hello/Jack
. Vous devriez voir Hello Jack!
dans votre navigateur.
Suppression index.php
Par défaut, index.php
sera inclus dans votre URL, pour le supprimer, nous devons activer le mod_rewrite
module Apache , ajouter un .htaccess
fichier au dossier racine de votre application et effectuer certaines configurations dans application/config/config.php
.
Tout d'abord, vérifions si mod_rewrite
est déjà activé en exécutant la commande suivante.
apache2ctl -M
Si vous voyez rewrite_module
dans la liste, vous pouvez continuer, sinon activez-la.
a2enmod rewrite
Redémarrez le serveur Apache.
sudo service apache2 restart
Maintenant, créez le .htaccess
fichier sur /var/www/html/codeigniter/
et placez-y le contenu suivant.
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php?/$0 [PT,L]
Assurez - vous que votre .htaccess
fichier est activé par la mise AllowOverride
à All
et en ajoutant Order allow,deny
et allow from all
dans le fichier des hôtes virtuels, ou dans votre configuration globale apache.
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
Order allow,deny
allow from all
</Directory>
Maintenant, supprimez le index.php
fichier des URL dans le fichier de configuration Codeigniter application/config/config.php
.
Trouvez le code suivant,
$config['index_page'] = 'index.php';
Et remplacez-le par ceci.
$config['index_page'] = '';
Vous pouvez désormais accéder à vos URL sans le index.php
fichier. Accédez à http://[vultr-instance-ip]/codeigniter/welcome/hello/Jack
et vérifiez cela. Vous devriez voir le même message qu'auparavant.
Conclusion
Nous avons installé le framework Codeigniter et supprimé index.php
de nos URL. Vous pouvez en savoir plus sur ce cadre à travers le guide de l'utilisateur officiel .