Catégorie : Framework

  • CodeIgniter – comprendre le MVC

    CodeIgniter – comprendre le MVC

    MVC-codeigniterIntroduction

    Comme je le disai dans l’article CodeIgniter : les 5 composants, CodeIgniter est basé sur le modèle de développement MVC (Modèle-Vue-Contrôleur).

    Le MVC est une approche logicielle qui sépare la logique de l’application de la présentation. Dans la pratique, il permet à vos pages Web de contenir des scripts minimes, puisque la présentation est distinct du script PHP.

    le MVC

    CodeIgniter a une approche assez libre du MVC sur 2 points particuliers.
    Le premier point est que la partie Modèle n’est pas obligatoire.
    Le deuxième point est que la partie Vue peut contenir du PHP (alors qu’elle devrait contenir que de l’HTML).

    Si vous n’avez pas besoin de la complexité de la partie Modèle, vous pouvez l’ignorer et construire votre application avec juste les parties contrôleurs et vues.

    CodeIgniter vous permet également d’intégrer vos propres scripts, et même de développer des bibliothèques de base pour le système, vous permettant de travailler d’une manière qui fait le plus de sens pour vous.

     

    Les contrôleurs sont appelé en premier pour plusieurs raisons.
    1) La raison la plus importante est que les URL sont construite à partir de ces classes, et des méthodes contenues dans ces mêmes classes.
    Cela veux dire que l’URL http://domain.fr/blog/category, est construite à partir du contrôleur blog et de la méthode category.
    De base sous Code-Igniter, l’URL ci-dessus devrait ressembler à celle-ci :
    http://domain.fr/index.php/blog/category
    Mais il y a la possibilité d’enlever le index.php des URLS. Je l’avais expliqué dans un article du même nom : CodeIgniter : enlever le index.php de l’URL.
    2) Ensuite, les contrôleurs permettent d’autres choses comme l’appel des composants (bibliothèques, helpers, vues, modèles, etc…), la vérification des formulaires et de la partie administration, etc…

    CI-controleur

    Les vues ont pour rôle de donner les informations aux visiteurs, via le navigateur. Ces vues sont principalement de l’HTML, et un peu de PHP. Je vous montrerai, dans un autre article, comment mettre un moteur de template comme Twig. Vous pouvez créer toutes les pages HTML que vous voulez avec ce framework, il n’y a aucune limitation.
    De plus, il est possible de mettre plusieurs vues par contrôleurs, et par méthodes.

    CI-view

    Maintenant que nous avons vue les deux premières parties, voici la dernière : les modèles. C’est la partie faisant la relation entre les contrôleurs et la base de données.
    Les fonctionnalités les plus courantes dans les modèles sont celles du CRUD (Create, Read, Update et Delete). Ce sont les fonctions les plus basique des bases de données (ajouter, modifier, supprimer…), mais il est possible d’en avoir plus (count, etc…).
    Ces fonctions envoient donc les données des requêtes, vers les contrôleurs dans différents formats (brut, json, XML, …).

    Ci-model

     

    Conclusion

    Avec le MVC, vous connaissez 3 des 5 composants de CodeIgniter. les deux autres composants ne sont pas plus compliqué.
    Si vous avez assez d’expérience avec PHP, alors vous n’aurez rien à craindre. Sinon, je vous propose de vous former un peu plus sur l’orienté objet en PHP5 (et aussi en PHP7).

  • CodeIgniter : enlever le index.php de l’URL

    CodeIgniter : enlever le index.php de l’URL

    codeigniter-lgLe tutoriel d’aujourd’hui est plus une configuration qu’un tutoriel.

    Quand on met en place un projet avec CodeIgniter (petit ou grand), vous verrez toujours l’URL contenir le célèbre index.php.

    Pour enlever ce index.php, il suffit de faire une petite modification, qui ne prend même pas 5 minutes à faire. Il est simple, et comprend deux phases.

    La première phase consiste à aller dans le fichier config.php du dossier application/config.
    Changer le :

    $config['index_page'] = 'index.php'

    En :

    $config['index_page'] = ''

    Ensuite, pour l’uri_protocol, mettre une des variables suivantes :

    $config['uri_protocol']    = 'REQUEST_URI';
    $config['uri_protocol']    = 'AUTO';

    La deuxième phase consiste à ajouter des règles dans le fichier .htaccess

    RewriteEngine on
    RewriteBase /
    # Hide the application and system directories by redirecting the request to index.php
    RewriteRule ^(application|system) ./index.php/$1 [L]
    RewriteCond $1 !^(index\.php|assets/|documents/)
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php/$1 [L]
    

    Attention à la dernière ligne de ce fichier. Si la technique ne marche pas avec cette ligne, il faut faire en sorte que la logique ressemble à celle qui suit :

    RewriteRule ^(.*)$ ici_les_fichiers_du projets/index.php/$1 [L]

    Enjoy !

  • CodeIgniter : les 5 composants

    CodeIgniter : les 5 composants

    codeigniter-lgAprès mon article de présentation de Codeigniter, je vous présente les 5 composants important de ce framework.
    Ils sont les suivants : le contrôleur, la vue, le modèle, les helpers et les bibliothèques. Vous pouvez les voir facilement dans l’architecture de CodeIgniter, dans les dossier « application » et « system« .

    Il faudrait un article complet pour présenter chacun de ces composants, mais je ferai un chapitre plus complet que celui-là d’ici la rentré avec toutes les explications. Je fais dans cet article une présentation succincte de chacun, pour que vous puissiez comprendre la logique de chacun dans CodeIgniter.

     

    Le contrôleur, la vue et le modèle sont les trois composants de l’architecture MVC pour le langage PHP, et codeIgniter reprend cette logique dans son architecture.
    Les contrôleurs est l’élément le plus important dans le framework, car il est appelé en premier. Il fait la liaison entre le modèle et la vue.
    Les modèles font les requêtes dans la base de donnée (MySQL, PostgreSQL, etc…), et retourne les informations vers les contrôleurs.
    La vue est principalement composé de HTML, et d’un peu de PHP pour afficher les informations. C’est la seule partie visible par les visiteurs du projet car elle récupère les données qui sont envoyées au navigateur.

    Les helpers sont un ensemble de fonctions réunies par un même thème. Si vous chargez un helper, vous chargerez tout l’ensemble de ces fonctions. Vous pouvez retrouver la liste des helpers sur la documentation de Codeigniter.
    Les bibliothèques sont comme les helpers, mais en plus développé. Ils font gagner beaucoup de temps en terme de développement. Dans CodeIgniter, ils sont nommés des library et vous pourrez en retrouver une liste dans la documentation du framework.

  • Connaître le framework Codeigniter

    codeigniter-lgParmi l’ensemble des frameworks PHP du marché, il y en a un que je trouve facile d’utilisation et de compréhension : Codeigniter.

    Il a été créé en 2006, et en est actuellement à sa version 3.
    Parmi ses qualités, il est simple et facile d’installation. Il est possible de l’installer en moins de 2 minutes.

    Il possède la logique de l’architecture MVC (modèle-vue-controller), architecture que l’on peut modifier en mettant en place l’architecture HMVC (Hierarchical Model View Controller). Le HMVC fait en sorte de diviser une application en plusieurs modules, ces derniers étant construit avec l’architecture MVC.
    Les vues de CodeIgniter sont au format PHP, un des seuls mauvais points de ce framework. Il est possible néanmoins d’y intégrer Twig.
    CodeIgniter possède une documentation complète que l’on peut voir sur le site codeigniter.com.
    Il est possible aussi de trouver de bon tutoriels sur ce framework, que je trouve très bien. Par exemple, Apprendre CodeIgniter de A à Z sur Tutora.fr, et CodeIgniter, le framework au service des Zéros d’Openclassrooms.

    Au cours des prochaines semaines, je ferai quelques articles cours sur ce framework.

  • Tutoriels sur Magento

    Tutoriels sur Magento

    logo-magentoDepuis début Avril, je travaille sur du magento pour mon travail.

    En faisant de veille, j’ai trouvé des liens de tutoriaux sur Magento (les 2 versions), expliquant les bonnes pratiques de programmation sur l’outil. Ces liens sont principalement Français.

    Le premier lien est la formation magento en ligne de Pierre Fay. On peux apprendre les bases de Magento 1 et des points plus avancé. Il est conseillé de lire le guide du designer magento pour la partie template.

    Les liens suivants viennent du blog salesids.com. Vous pourrez voir les articles sur magento 1 et magento 2.

    Stéphane Haimet est un développeur Web et un expert e-commerce. Il connaît prestashop et aussi les 2 versions de Magento.

    Maxime Huran est aussi un développeur Web spécialisé sur Magento. Il propose des tutoriels et une formation sur Magento 2.

     

    Si vous connaissez d’autres liens sur ce CMS, n’hésitez pas à me le dire par commentaires, et je les rajouterai.

    Enjoy !