codeigniter Tutorial
Iniziare con codeigniter
Ricerca…
Osservazioni
CodeIgniter è un framework MVC scritto in e per PHP.
È leggero rispetto ad altri framework MVC là fuori, al costo di avere meno funzionalità, ad esempio non esiste un sistema di autenticazione integrato che potrebbe far parte di altri framework.
CodeIgniter è una buona scelta di framework per coloro che stanno iniziando con MVC in quanto non impone alcun particolare standard per la denominazione e la struttura del codice; ma è adatto anche a progetti più grandi in cui una vasta gamma di funzionalità contenute in altri framework potrebbe non essere necessaria.
Versioni
Versione | Data di rilascio |
---|---|
Versione Beta 1.0 | 2006-02-28 |
Versione 2.0.0 | 2011-01-28 |
Versione 2.2.0 | 2014/06/02 |
Versione 3.0.0 | 2015/03/30 |
Versione 3.1.3 | 2017/01/09 |
La versione è 3.1.4 | 2017/03/20 |
La versione è 3.1.5 | 2017/06/19 |
Installazione e configurazione
Ambiente Windows
- Installa XAMPP o WAMP
- Scarica e decomprimi il pacchetto da Codeigniter.com
- Estrai tutto il documento nello spazio del server (htdocs o directory www)
Ambiente Mac
- Installa MAMP
- Scarica e decomprimi il pacchetto da Codeigniter.com
- Estrai tutto il documento nello spazio del server (htdocs)
Ambiente Linux
- Scarica e decomprimi il pacchetto da Codeigniter.com
- Posiziona la cartella estratta in / var / www (in WAMP) o xampp / htdocs (XAMPP)
GitHub
git clone https://github.com/bcit-ci/CodeIgniter.git
Se segui correttamente il sistema, otterrai la schermata seguente.
URL di base
- Vai a
application/config/config.php
- Definire l'URL di base come
$config['base_url'] = 'http://localhost/path/to/folder';
Rimuovi index.php
dall'URL
Configurazione di Apache |
---|
vai alla radice
crea il file htaccess
Aggiungi sotto il codice al suo interno
RewriteEngine on RewriteCond $1 !^(index\.php|assets|image|resources|robots\.txt) RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L,QSA]
Nota: il codice .htaccess varia a seconda del server di hosting. In alcuni server di hosting (ad esempio: Godaddy) è necessario utilizzare un extra ?
nell'ultima riga del codice precedente. La seguente riga sarà sostituita dall'ultima riga nel caso applicabile:
RewriteRule ^(.*)$ index.php?/$1 [L,QSA]
Configurazione Nginx |
---|
Aprire il file di configurazione di nginx (per impostazione predefinita:
/etc/nginx/sites-available/default
)Aggiungi sotto il codice al suo interno
server { server_name domain.tld; root /path-to-codeigniter-folder; //you codeigniter path index index.html index.php; # set expiration of assets to MAX for caching location ~* \.(ico|css|js|gif|jpe?g|png)(\?[0-9]+)?$ { expires max; log_not_found off; } location / { # Check if a file or directory index file exists, else route it to index.php. try_files $uri $uri/ /index.php; } location ~* \.php$ { fastcgi_pass 127.0.0.1:9000; include fastcgi.conf; } }
Configurazione del database
- Vai a
application/config/database.php
- Imposta le seguenti variabili di configurazione.
- Ospite
- Nome utente
- Parola d'ordine
- Nome del database
- Porta
Imposta il controller di default
- Vai a
application/config/routes.php
- imposta il seguente valore della variabile di configurazione con il nome del controller.
- default_controller
Libreria e helper di caricamento automatico
- Vai a
application/config/autoload.php
- imposta il valore di caricamento automatico come
$autoload['libraries'] = array('database', 'session');
- imposta il valore Helper come
$autoload['helper'] = array('url', 'file', 'form', 'html', 'text');
Esegui più applicazioni su un unico sistema di elementi della configurazione
Codeigniter può essere configurato per eseguire più di un progetto senza duplicare i file core CI.
È possibile suddividendo il lato Applicazioni CI. Ad esempio, prendiamo progetto del sito Web, che contiene applicazioni di Content Management System (CMS) front-end
e back-end
. In questo caso la struttura della cartella CI sarà simile a:
Struttura delle cartelle:
├── Codeigniter
│ ├── applications
│ │ ├─ front-end
│ │ │ ├── views
│ │ │ ├── models
│ │ │ ├── controllers
│ │ │ ├── config
│ │ │ └── ...
│ │ ├─ back-end
│ │ │ ├── views
│ │ │ ├── models
│ │ │ ├── controllers
│ │ │ ├── config
│ │ │ └── ...
│ │ │
│ ├── system
│ │ ├── core
│ │ ├── database
│ │ ├── helpers
│ │ └── ...
│ │
│ ├── index.php
└ └── backend.php
Nella cartella delle applications
abbiamo creato due cartelle: front-end
e back-end
e copiato tutto il contenuto predefinito delle applications
in queste due cartelle.
Inoltre abbiamo duplicato il file index.php
nella cartella principale come backend.php
La prossima è configurare l' CI
configurazione in modo che funzioni con queste due istanze dell'applicazione.
Configurazione Codeigniter :
Aprire i file index.php e backend.php e aggiornare application_folder
confg:
//index.php
$application_folder = 'applications/front-end';
//backend.php
$application_folder = 'applications/back-end';
Dopo la configurazione di cui sopra, CI è pronto per eseguire due applicazioni in un sistema CI:
Richiesta su
example.com/Codeigniter/index.php
aprirà l'appfront-end
Richiesta su
example.com/Codeigniter/backend.php
aprirà l'app diback-end
Aumenta la sicurezza nascondendo la posizione dei tuoi file CodeIgniter
All'interno di CodeIgniter ci sono due directory principali di cui preoccuparsi: sistema e applicazione . La cartella di sistema contiene il core bud di CodeIgniter. La cartella dell'applicazione conterrà tutto il codice specifico per l'applicazione, inclusi modelli, controllori, viste e altre librerie pertinenti.
Per le istruzioni di installazione di CodeIgniter, nell'interesse della protezione dell'applicazione, sia la cartella del sistema che quella dell'applicazione devono essere posizionate sopra la radice Web in modo che non siano direttamente accessibili tramite un browser. Per impostazione predefinita, i file .htaccess sono inclusi in ogni cartella per aiutare a prevenire l'accesso diretto, ma è meglio rimuoverli dal pubblico accesso nel caso in cui la configurazione del server web cambi o non rispetti il .htaccess.
├── CodeIgniter
│ ├── application
│ ├── system
│ ├── wwwroot
│ │ ├── index.php
Dopo aver spostato il sistema e le cartelle dell'applicazione, apri il file index.php
principale e imposta $system_path
, $application_folder
variables, preferibilmente con un percorso completo, ad esempio ' /www/MyUser/system'
. Tuttavia, i percorsi relativi dovrebbero funzionare.
Per Linux / Apache:
$application_folder = './application';
$system_path = './system';
Per Windows / IIS:
$application_folder = '../application/';
$system_path = '../system/';