Pages statiques

Remarque: Ce tutoriel suppose que vous avez téléchargé CodeIgniter et installé le cadre dans votre environnement de développement.

La première chose que vous allez faire est de mettre en place un contrôleur pour gérer les pages statiques. Un contrôleur est tout simplement une classe qui aide à déléguer le travail. Il est la colle de votre application web.

Par exemple, lorsqu’un appel est fait à:

On peut imaginer qu’il ya un contrôleur nommé « nouvelles ». La méthode appelée sur les nouvelles serait « plus tard ». Le travail de la méthode de nouvelles pourrait être de saisir 10 articles de presse, et les rendre sur la page. Très souvent, dans MVC, vous verrez les modèles d’URL qui correspondent à:

Comme schémas d’URL deviennent plus complexes, cela peut changer. Mais pour l’instant, cela est tout ce que nous aurons besoin de connaître.

Créez un fichier à l’ application / contrôleurs / pages.php avec le code suivant.

<? php 
classe  Pages  étend  CI_Controller  {

        publique  fonction  vue ( page $  =  'maison' ) 
        { 
        } 
}

Vous avez créé une classe nommée Pages, avec une méthode d’affichage qui accepte un argument nommé $page. La Pagesclasse étend la CI_Controllerclasse. Cela signifie que la nouvelle classe de pages peut accéder aux méthodes et variables définies dans la CI_Controllerclasse ( système / core / Controller.php ).

Le contrôleur est ce qui deviendra le centre de chaque demande à votre application Web. Au cours des discussions CodeIgniter très techniques, il peut être considéré comme l’ objet super . Comme toute classe php, vous faites référence au sein de vos contrôleurs comme $this. Se référant à $thiscomment vous allez charger les bibliothèques, les vues et commander généralement le cadre.

Maintenant, vous avez créé votre première méthode, il est temps de faire quelques modèles de page de base. Nous allons créer deux « vues » (modèles de page) qui agissent comme notre pied de page et en-tête.

Créer l’ en- tête à l’ application / vues / templates / header.php et ajoutez le code suivant:

< Html > 
        < tête > 
                < title > CodeIgniter  Tutorial </ title > 
        </ tête > 
        < body >

                < H1 > <? php  echo  $ titre ;  ?> </ H1 >

L’ en- tête contient le code HTML de base que vous souhaitez afficher avant de charger la vue principale, avec un titre. Il sera également sortie la $titlevariable que nous allons définir plus tard dans le contrôleur. Maintenant, créez un pied de page à l’ application / vues / modèles / footer.php qui comprend le code suivant:

                < Em > & copie ;  2015 </ em > 
        </ body > 
</ html >

Ajout logique au dispositif de commande

Plus tôt vous configurez un contrôleur avec une view()méthode. La méthode accepte un paramètre, qui est le nom de la page à charger. Les modèles de pages statiques seront situés dans l’ application / vues / pages / répertoire.

Dans ce répertoire, créez deux fichiers nommés home.php et about.php . Dans ces fichiers, tapez un texte – tout ce que vous voulez – et les sauver. Si vous aimez particulièrement un original, essayez « Bonjour tout le monde! ».

Pour charger ces pages, vous devrez vérifier si la page demandée existe réellement:

publique  fonction  vue ( $ page  =  'home' ) 
{ 
        si  (  !  file_exists ( AppPath . 'vues / pages /' . $ page . '.php' )) 
        { 
                // Whoops, nous n'avons pas une page pour ça! 
                show_404 (); 
        }

        $ data [ 'title' ]  =  ucfirst ( page $ );  // Capitaliser la première lettre

        $ this -> charge -> vue ( 'templates / en- tête' ,  $ data ); 
        $ this -> charge -> vue ( 'pages /' . $ page ,  $ data ); 
        $ this -> charge -> vue ( 'templates / pied de page' ,  $ data ); 
}

Maintenant, lorsque la page existe, il est chargé, y compris l’en-tête et pied de page, et affiché à l’utilisateur. Si la page n’existe pas, un « 404 Page introuvable » erreur est affiché.

La première ligne de cette méthode permet de vérifier si la page existe réellement. Natif de PHP file_exists()fonction est utilisée pour vérifier si le fichier est là où il est prévu d’être. show_404()est une fonction CodeIgniter intégrée qui rend la page d’erreur par défaut.

Dans le modèle d’ en- tête, la $titlevariable a été utilisée pour personnaliser le titre de la page. La valeur du titre est défini dans le présent procédé, mais au lieu d’attribuer la valeur à une variable, il est affecté à l’élément de document dans la $datamatrice.

La dernière chose qui doit être fait est le chargement des vues dans l’ordre doivent être affichés. Le deuxième paramètre dans le view()procédé est utilisé pour transmettre des valeurs à la vue. Chaque valeur du $datatableau est affectée à une variable avec le nom de sa clé. Ainsi , la valeur de $data['title']la commande est équivalente à $titlela vue.

routage

Le contrôleur fonctionne maintenant! Pointez votre navigateur pour [your-site-url]index.php/pages/viewvoir votre page. Lorsque vous visitez , index.php/pages/view/aboutvous verrez la page à propos, y compris à nouveau l’ en- tête et pied de page.

L’utilisation de règles personnalisées de routage, vous avez le pouvoir de la carte toute URI à un contrôleur et la méthode, et se libérer de la convention normale: http://example.com/[controller-class]/[controller-method]/[arguments]

Faisons cela. Ouvrez le fichier de routage situé à l’ application / config / routes.php et ajoutez les deux lignes suivantes. Retirez tout le code qui définit un élément dans le $routetableau.

$ route [ 'de default_controller' ]  =  'pages / vue' ; 
$ route [ '(: any)' ]  =  'pages / view / $ 1' ;

CodeIgniter lit ses règles de routage de haut en bas et achemine la demande à la première règle de correspondance. Chaque règle est une expression régulière (côté gauche) mis en correspondance avec un nom de commande et un procédé séparées par des barres obliques (côté droit). Lorsqu’une demande arrive, CodeIgniter recherche le premier match, et appelle le contrôleur approprié et la méthode, éventuellement avec des arguments.

Plus d’ informations sur le routage peut être trouvée dans l’URI de routage des documents .

Ici, la seconde règle dans le $routestableau correspond à une demande en utilisant la chaîne de caractères génériques (:any). et transmet le paramètre à la view()méthode de la Pagesclasse.

Maintenant , visitez index.php/about. Est-ce qu’il routés correctement la view() méthode dans le contrôleur de pages? Impressionnant!

Voir la documentation officielle