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!



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow