Catégorie : Programmation Web

programmation Web

  • CodeIgniter : mise en place du HMVC

    Dans un précédent article, je vous avais montré que le MVC était intégré de base dans CodeIgniter.

    Pour des petits (ou moyens) projets, cette architecture permet de mieux gérer le code, et d’avoir un projet maintenable.

    Pour les gros projet, ce système n’est pas la meilleure solution. La meilleure solution pour est l’intégration de l’architecture HMVC.
    Pour expliquer en quelques mots, le HMVC est le fait de créer des micro-MVC empilables (c’est-à-dire des modules), pour mieux encapsulé les fonctionnalités du projet. Un forum pourrait être mis dans un module spécifique, tout comme un blog, etc…

    Voici un lien pour intégrer le HMVC sur CodeIgniter : Modular Extensions – HMVC

     

    L’intégration est très simple, il suffit d’intégrer le code du module dans les bon dossiers (application/core & application/third_party).

    Ensuite, toujours dans le dossier application, créer un dossier modules. C’est ici que vous pouvez créer tous les modules. Dans chaque modules, vous pouvez mettre les dossiers courant comme controllers, models, views, etc…

    Il est possible que vous ayez le bug suivant à la fin de cette installation : CodeIgniter HMVC object_to_array() error. N’hésitez pas à cliquer sur le lien pour corriger le bug.

  • Live sur les bonnes pratiques Web

    Live sur les bonnes pratiques Web

    Aujourd’hui, je partage avec vous un live de Grafikart sur le thème des bonnes pratiques en Programmation Web. Le live dure 2 heures, et plein de conseils en perspective.

  • CodeIgniter : Les bibliothèques

    Après le MVC et les helpers, je vous présente le dernier des cinq composants de codeigniter : les bibliothèques (ou librairies).

    Contrairement aux helpers, qui sont des petites fonctions simple et rapide à utiliser, les bibliothèques sont beaucoup plus complexe.

    Pour les utiliser, il faut faire comme pour les helpers, c’est-à-dire les charger. Il y a bien sur les deux manières de faire : la manière globale et la manière locale.

    L’intégration globale

    Pour la manière globale, il faut aller dans le dossier application/config, et ouvrir le fichier autoload.php. Dans ce fichier, vous retrouverez la ligne suivante :

    $autoload['libraries'] = array();

    Vous pourrez déjà y intégrer des librairies existante de Codeigniter, comme : Email, Form, Language, Pagination, etc…

    Cela donnera la ligne suivante :

    $autoload['libraries'] = array("email", "form", "pagination");

    Pour connaître ces bibliothèques, je vous conseille de voir la documentation du framework, à la page suivante : https://codeigniter.com/userguide3/libraries/index.html

    L’intégration globale n’est pas plus compliqué que pour les helpers.

    L’intégration locale

    Pour la manière locale, il faut aller charger la librairie depuis un contrôleur en utilisant l’instruction suivante :

    $this->load->library('nom');

    C’est aussi simple que ça.

    Certaines librairies nécessite un appel spécial. Je pense à Database ou l’appel ressemble à :

    $this->load->database();

    Database est vraiment un cas spécifique, mais je vous conseille vraiment de regarder la documentation pour éviter les erreurs et les problèmes.

    Création d’une bibliothèque

    Pour la création d’une bibliothèque, il faut aller dans le dossier application, puis libraries.
    Comme pour les helpers, il n’y a aucune bibliothèques pour le moment, nous pouvons en créer un. Nous l’appellerons Template.php (Lien). C’est une création de Jerome Jaglale, que vous pouvez retrouver sur son site.

    class Template {
    var $template_data = array();

    function set($name, $value)
    {
    $this->template_data[$name] = $value;
    }

    function load($template =  », $view =  » , $view_data = array(), $return = FALSE)
    {
    $this->CI =& get_instance();
    $this->set(‘contents’, $this->CI->load->view($view, $view_data, TRUE));
    return $this->CI->load->view($template, $this->template_data, $return);
    }
    }

    Cette librairie créé une surcouche de la fonction view de codeigniter. Il permet de lier une vue à un Layout déterminé.

    Pour en savoir plus : Most Simple Template Library for CodeIgniter

    Conclusion

    Maintenant, vous connaissez tous les composants de base de CodeIgniter. Vous pourrez l’utiliser sans problèmes.

    Je ferai prochainement d’autres articles sur CodeIgniter, avec un niveau plus avancé.

    Profitez-en bien !

  • CodeIgniter et les helpers

    Dans un précédent article, j’avais présenté les 3 premiers composants de CodeIgniter : le MVC. Aujourd’hui, je vais vous présenter le quatrième : Les Helpers.

    Ces Helpers contiennent un ensemble de fonctions basique, souvent réunies par thèmes (ex : Date, URL, etc…). Les fonctions sont indépendantes entre elle.

    Je vais vous montrer comment charger un helper déjà existant, mais aussi comment en créer un.

    Pour charger un helper, il y a deux manières de faire :

    • La manière globale, pour une utilisation dans toute l’application.
    • La manière locale, dans un contrôleur, pour une utilisation plus spécifique.

    L’intégration globale

    Pour la manière globale, il faut aller dans le dossier application/config, et ouvrir le fichier autoload.php. Dans ce fichier, vous retrouverez la ligne suivante :

    $autoload['helper'] = array();

    Vous pourrez déjà y intégrer des helpers basique de Codeigniter, par Exemple : url, general, form, language, etc…

    Cela donnera la ligne suivante :

    $autoload['helper'] = array("url", "general", "form");

    Pour connaître ces helpers, je vous conseille de voir la documentation du framework, à la page suivante : https://codeigniter.com/user_guide/helpers/index.html

    Comme je le disais plus haut, il faut faire de cette manière seulement si votre helper est utilisé dans tout le projet.

    L’intégration locale

    Pour la manière locale, il faut aller charger l’helper depuis un contrôleur en utilisant l’instruction suivante :

    $this->load->helper('nom');

    Dans le cas ou vous voulez charger plusieurs helpers en même temps, il est possible de les passer en paramètre dans un tableau au lieu d’une chaîne de caractères.

    $this->load->helper(array('nom', 'nom2', 'nom3'));

    Exemple d’utilisation d’un helper : Form
    Pour le charger, vous connaissez maintenant la commande

    $this->load->helper('form');

    Pour voir les fonctions de cette helper, vous pouvez aller voir sa page de documentation : https://codeigniter.com/user_guide/helpers/form_helper.html

    Création d’un helper

    Pour la création d’un helper, il faut aller dans le dossier application, puis helpers.
    Il n’y a aucun helpers pour le moment, nous allons en créer un. Nous l’appellerons assets_helper.php.

    <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');</p>
    function css_url($nom)
    {
    return base_url() . 'assets/css/' . $nom . '.css';
    }
    function js_url($nom)
    {
    return base_url() . 'assets/javacript/' . $nom . '.js';
    }
    ?>

    Ce helper, servira à appeller les fichiers CSS et JS plus facilement, ces fichiers étant dans un dossier global assets.
    Pour activer ce helper :
    $autoload['helper'] = array('url','assets');

    Conclusion

    Et voilà, vous connaissez maintenant les helpers. Vous pourrez les utiliser sans problèmes.

    Profitez-en bien !

  • Design patterns pour les humains

    Aujourd’hui, je vous présente le résultat d’une de mes veilles sur le langage PHP.

    Il s’agit d’un livre ayant pour titre Design Patterns for Humans™.

    Il est en anglais, et traite des Design Patterns en PHP, avec les exemples de code qui vont bien.

    Ce texte est complet. Il permettra de voir et revoir certains concept de développement.