Recherche…


Une application très simple Hello World

À partir d'une nouvelle installation de Codeigniter 3, voici un moyen simple de commencer avec une application Hello World, pour briser la glace avec ce solide framework PHP.

Pour ce faire, vous pouvez commencer à créer la vue que nous souhaitons afficher pour notre application Hello World.

Nous allons le mettre dans votre dossier de candidature, ici:

Dans 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>

C'est juste un simple contenu HTML.

Maintenant, pour faire apparaître cette vue, nous avons besoin d'un contrôleur . Le contrôleur est celui qui va rappeler la vue pour que son contenu soit affiché.

Pour que cela fonctionne correctement, le contrôleur doit aller dans le dossier des contrôleurs appropriés.

Voici où nous allons placer notre contrôleur Hello World:

/application/controllers/Hello_world.php

(Le nom du contrôleur est généralement snake_case avec la première lettre en majuscule)

<?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 fonction par défaut d'un contrôleur est la fonction d'index.

Maintenant, vous pourrez voir le contenu de votre page Hello World en accédant à l'adresse suivante:

http://[your_domain_name]/index.php/hello_world

ou, si vous avez appliqué le correctif à l'aide de .htaccess (retournez à la page d'installation du correctif)

http://[your_domain_name]/hello_world

(Si vous travaillez localement, l'adresse à laquelle vous trouverez votre page est probablement: http://localhost/hello_world )

L'URL est en fait formée en appelant votre classe de contrôleur (dans ce cas, Hello_world , mais en utilisant toutes les minuscules dans l'URL). Dans ce cas, cela suffit, car nous avons utilisé la fonction index. Si nous avions utilisé un nom de fonction différent (disons greetings ), nous aurions dû utiliser une URL comme celle-ci:

http://[your_domain_name]/hello_world/greetings

Qui est structuré comme /[controller_name]/[method_name] .

Voici! Votre première application Codeigniter fonctionne!

Utilisons un peu plus le contrôleur

Nous allons maintenant essayer un exemple un peu plus complexe, en utilisant les capacités du contrôleur pour remplir la vue.

Voici notre vue: /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>

Nous avons maintenant un espace réservé pour afficher nos salutations.

Voici comment nous changeons le contrôleur pour que cela fonctionne:

<?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);
    }
}

Le tableau $data est préparé avec les informations à injecter dans la vue, en utilisant le même libellé ( greetings ) qui a été rappelé dans la vue.

Le résultat final est le même qu'avec le premier exemple, mais nous utilisons maintenant plus de potentialité du framework!

Choisissons nos salutations: Hello World ou Good Bye World ou ...?

Disons que nous voulons avoir un message d'accueil alternatif accessible via une URL différente. Nous pourrions créer une nouvelle fonction ou même un nouveau contrôleur pour cela, mais une meilleure pratique consiste à optimiser ce que nous avons déjà, à le faire fonctionner au mieux!

Pour ce faire, nous conserverons la même vue que dans les exemples précédents, mais nous introduirons un paramètre à notre fonction, afin de pouvoir choisir entre deux messages d'accueil différents:

<?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);
    }
}

Maintenant, nous avons plusieurs options de salutations! Pour les visualiser, nous allons ajouter le paramètre à l’URL, comme suit:

http://[your_domain_name]/hello_world/greetings/goodbye

Cela nous montrera le message: "Good Bye World".

La structure de l'URL est la suivante:

http://[your_domain_name]/[controller_name]/[function_name]/[parameter_1]

Dans ce cas, pour revenir à notre bon vieux "Hello World", il suffit d'appeler l'ancienne URL, sans paramètres:

http://localhost/hello_world/greetings

Vous pouvez ajouter plusieurs paramètres à votre fonction (par exemple, si vous en avez besoin de trois):

public function greetings($param1,$param2,$param3)

et ils peuvent être remplis en utilisant l'url comme suit:

http://[your_domain_name]/[controller_name]/[function_name]/[param1]/[param2]/[param3]

par exemple http://localhost/hello_world/greetings/goodbye/italian/red

De cette façon, vous pouvez avoir des paramètres directement transmis depuis l'URL qui affectera le contenu de ce qui sera affiché.

Pour en savoir plus sur la manière de transmettre des paramètres via l'URL, vous pouvez vous intéresser au routage!



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow