codeigniter
Iniziamo: Hello World
Ricerca…
Un'applicazione Hello World molto semplice
Partendo da una nuova installazione di Codeigniter 3, ecco un modo semplice per iniziare con un'applicazione Hello World, per rompere il ghiaccio con questo solido framework PHP.
Per fare questo puoi iniziare a creare la vista che vogliamo mostrare per la nostra app Hello World.
Lo inseriremo nella cartella dell'applicazione, qui:
In hello_world.php
( /application/views/
)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Hello World</title>
</head>
<body>
<h1>Hello World!</h1>
</body>
</html>
È solo un semplice contenuto HTML.
Ora, per rendere visibile questa vista, abbiamo bisogno di un controller . Il controller è quello che richiama la vista per la visualizzazione del suo contenuto.
Affinché funzioni correttamente, il controller deve andare nella cartella dei controller appropriata.
Qui è dove posizioneremo il nostro controller Hello World:
/application/controllers/Hello_world.php
(Il nome del controller è generalmente snake_case con la prima lettera maiuscola)
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Hello_world extends CI_Controller {
public function __construct()
{
parent::__construct();
}
public function index(){
$this->load->view('hello_world');
}
}
La funzione predefinita per un controller è la funzione di indice.
Ora sarai in grado di vedere il contenuto della tua pagina Hello World accedendo al seguente indirizzo:
http://[your_domain_name]/index.php/hello_world
o, nel caso in cui hai applicato la correzione usando .htaccess (torna alla pagina di installazione per la correzione)
http://[your_domain_name]/hello_world
(Se lavori a livello locale, molto probabilmente l'indirizzo in cui troverai la tua pagina è: http://localhost/hello_world
)
L'URL è in realtà formato chiamando la classe del controller (in questo caso Hello_world
, ma utilizzando tutto in minuscolo nell'URL). In questo caso è sufficiente, poiché abbiamo usato la funzione indice. Se avessimo usato un nome di funzione diverso (diciamo greetings
), avremmo dovuto usare un URL come questo:
http://[your_domain_name]/hello_world/greetings
Che è strutturato come /[controller_name]/[method_name]
.
Ecco qui! La tua prima applicazione per Codeigniter funziona!
Usiamo il controller un po 'di più
Ora proveremo a cercare un esempio un po 'più complesso, utilizzando le funzionalità del controller per riempire la vista.
Ecco la nostra opinione: /application/views/hello_world.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Hello World</title>
</head>
<body>
<h1><?php echo $greetings;?></h1>
</body>
</html>
Ora abbiamo un segnaposto per i nostri saluti da mostrare.
Ecco come cambiamo il controller in modo che funzioni:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Hello_world extends CI_Controller {
public function __construct() {
parent::__construct();
}
public function greetings(){
$data = array('greetings'=>'Hello World');
$this->load->view('hello_world',$data);
}
}
L'array $data
viene preparato con le informazioni da iniettare nella vista, utilizzando la stessa etichetta ( greetings
) che è stata richiamata all'interno della vista.
Il risultato finale è lo stesso del primo esempio, ma stiamo usando più delle potenzialità del framework!
Scegliamo i nostri saluti: Hello World o Good Bye World o ...?
Diciamo che vogliamo un saluto alternativo che sia accessibile attraverso un URL diverso. Potremmo creare una nuova funzione o persino un nuovo controller per questo, ma una best practice è ottimizzare ciò che abbiamo già, per farlo funzionare al meglio!
Per fare ciò, manterremo la stessa vista degli esempi precedenti, ma introdurremo un parametro per la nostra funzione, in modo che sia in grado di scegliere tra due diversi saluti:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Hello_world extends CI_Controller {
public function __construct() {
parent::__construct();
}
public function greetings($my_greetings){
switch($my_greetings)
{
case 'goodbye':
$say = 'Good Bye World';
break;
case 'morning':
$say = 'Good Morning World';
break;
default:
$say = 'Hello World';
}
$data = array('greetings'=>$say);
$this->load->view('hello_world',$data);
}
}
Ora abbiamo più opzioni di saluto! Per visualizzarli, aggiungeremo il parametro all'URL, come segue:
http://[your_domain_name]/hello_world/greetings/goodbye
Questo ci mostrerà il messaggio: "Good Bye World".
La struttura dell'URL è la seguente:
http://[your_domain_name]/[controller_name]/[function_name]/[parameter_1]
In questo caso, per tornare al nostro buon vecchio "Hello World", è sufficiente chiamare l'ex url, senza parametri:
http://localhost/hello_world/greetings
Puoi aggiungere più parametri alla tua funzione (ad esempio, se ne hai bisogno 3):
public function greetings($param1,$param2,$param3)
e possono essere riempiti usando l'url come segue:
http://[your_domain_name]/[controller_name]/[function_name]/[param1]/[param2]/[param3]
ad es. http://localhost/hello_world/greetings/goodbye/italian/red
In questo modo puoi avere parametri passati direttamente dall'URL che influenzerà il contenuto di ciò che verrà mostrato.
Per saperne di più su come passare i parametri attraverso l'URL, potresti voler esaminare l'argomento del routing!