Aveti intrebari? Sunteti in locul potrivit!
Codeigniter este un framework PHP foarte util care necesita resurse putine.
Acest ghid presupune ca aveti un stack LAMP instalat si acces root la server.
Instalarea Codeigniter
Primul pas este sa intrati in directorul root
cd /var/www/html
Descarcati ultima versiune stabila de Codeigniter.
wget https://github.com/bcit-ci/CodeIgniter/archive/3.1.5.zip
Extrageti arhiva descarcata
unzip 3.1.5.zip
Redenumiti directorul CodeIgniter-3.1.5
in codeigniter
mv CodeIgniter-3.1.5 codeigniter
Navigati la http://[adresa-server]/codeigniter
se va deschide pagina de bun venit. Acesata pagina este afisata de un exemplu de controller aflat in application/controllers
numit Welcome.php.
. Pagina incarcata se ala in application/views
si este numita welcome.php
.
Configurarea si optimizarea URL-urilor
Codeigniter este acum functional si este necesar sa efectuati anumite configurari initiale. In cazul in care doriti sa folositi o baza de date este necesar sa o configurati accesand database.php
, fisierul de configurare se afla in application/config/database.php
Gasiti block-ul de mai jos si actualizati informatiile de conectare:
$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
);
Salvati fisierul si inchideti editorul.
Configurarea URL-urilor
In mod implicit, URL-urile Codeigniter implicit au forma:
http://[adresa-server]/codeigniter/index.php/[controller]/[method]/[param]
Segmentul [controller]
reprezinta clasa Controller aflata la application/controllers,
Segementul [method]
din aceasta clasa si segmentul [param]
este un parametru transmis metodei.
Pentru a testa cofiguratia adaugati urmatoarea metoda la index application/controllers/Welcome.php
:
public function hello($user = 'John Doe')
{
echo "Hello {$user}!";
}
Acum navigati la http://[instata-server]/codeigniter/index.php/welcome/hello/Jack.
ar trebui sa aveti afisat Hello Jack!
Cum inlaturati index.php
In mod implicit index.php
este inclus in url, pentru a fi inlaturat in cazul in care aveti activat modul mod_rewrite
in Apache adaugati un fisier .htaccess
in directorul root al aplicatiei si trebuie facute cateva modificari in application/config/config.php
In primul rand ar trebui sa verificam daca mod_rewrite
este activ, executand comanda:
apache2ctl -M
Daca aveti afisat rewrite_module
in lista puteti trece la pasul urmator, altfel executati comanda:
a2enmod rewrite
Restartati serverul Apache
sudo service apache2 restart
Creati fisierul .htaccess
in /var/www/html/codeigniter/
si adaugati urmatoarele linii:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php?/$0 [PT,L]
Asigurati-va ca fisierul .htaccess este activ setand AllowOverride
in All
si adaugand Order allow,deny
si allow from all
in fisierul virtual host in setarile globale Apache.
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
Order allow,deny
allow from all
Acum, inlaturati fisierul index.php
din URL-urile din fisierul de configurare Codeigniter application/config/config.php
.
Identificati urmatoarea linie:
$config['index_page'] = 'index.php';
Inlocuiti-o cu :
$config['index_page'] = '';
Acum puteti accesa URL-urile aplicatiei fara index.php