Maison >outils de développement >composer >Apprenez à utiliser composer pour implémenter le chargement de route

Apprenez à utiliser composer pour implémenter le chargement de route

藏色散人
藏色散人avant
2020-07-10 14:10:063968parcourir

La colonne tutorielle suivante de composer vous présentera comment utiliser composer pour implémenter le chargement de route. J'espère qu'elle sera utile aux amis dans le besoin !

Apprenez à utiliser composer pour implémenter le chargement de route

Voir l'exemple de code de ce tutoriel sur https:// /github.com/johnlui/My-First-Framework-based-on-Composer

Le prestigieux framework CodeIgniter est le framework d'introduction au développement PHP pour de nombreuses personnes. point de départ pour moi pour apprendre à créer un site Web à partir de zéro. J'ai beaucoup appris en CI, parmi lesquels la compréhension approfondie de MVC et la compréhension de la nature du framework ont ​​eu le plus grand impact sur moi. Du point de vue de l'utilisation des frameworks pour améliorer l'efficacité du développement, l'essence des frameworks est le routage.

Recommander https://github.com/NoahBuscher/Macaw, le package Composer correspondant est noahbuscher/macaw.

Commençons à l'installer, changez composer.json :

 "require": {
    "noahbuscher/macaw": "dev-master"
  },

Exécutez composer install, après succès, vous obtiendrez le répertoire suivant

Apprenez à utiliser composer pour implémenter le chargement de route

À ce stade, le package Macaw est installé avec succès !

Ce qui suit est le moment d'assister au miracle ! Nous allons donner vie au MFFC et le faire fonctionner réellement !

1 : Créez un nouveau dossier App/config et créez-y un nouveau fichier routs.php avec le contenu suivant :
Apprenez à utiliser composer pour implémenter le chargement de route

2 : Chargez les routés dans l'entrée fichier index.php.fichier php
Apprenez à utiliser composer pour implémenter le chargement de route

La documentation de Macaw se trouve sur https://github.com/NoahBuscher/Macaw Veuillez configurer le pseudo-statique en fonction de votre type de logiciel de service HTTP. En fait, c'est la même chose que la plupart des frameworks : "Pointez tous les fichiers non statiques vers index.php".

Après une configuration réussie, accédez au nom de domaine :
Apprenez à utiliser composer pour implémenter le chargement de route

Si la page est tronquée, veuillez ajuster l'encodage en UTF-8. Si vous voyez avec succès la page ci-dessus, félicitations, la configuration du routage est réussie !

Macaw n'a qu'un seul fichier, et le nombre total de lignes vides supprimées est d'un peu plus d'une centaine de lignes. Nous pouvons voir directement comment cela fonctionne à travers le code. Permettez-moi de l'analyser brièvement ci-dessous :

  1. Le chargement automatique de Composer conservera un tableau en mémoire depuis le nom complet de la classe d'espace de noms jusqu'au nom de fichier après chaque URL conduisant MFFC/public/index.php, donc quand nous utilisez une classe dans le code, le fichier où se trouve la classe sera automatiquement chargé.
  2. Nous avons chargé la classe Macaw dans le fichier de routage : "use NoahBuscherMacawMacaw;", puis appelé deux fois la méthode statique ::get(). Cette méthode n'existe pas et sera utilisée par MFFC/. le fournisseur __callstatic() dans /codingbean/macaw/Macaw.php prend le relais.

  3. Cette fonction accepte deux paramètres, method" role="presentation" style="position: relative;">method et params. Le premier est le nom de fonction spécifique, ici c'est get, et le second est le paramètre passé dans cet appel, c'est-à-dire Macaw::get(' putain', deux paramètres dans function(){…}). Le premier paramètre est la valeur de l'URL que nous voulons surveiller, et le deuxième paramètre est une fermeture PHP, qui sert de rappel et représente ce que nous voulons faire une fois que l'URL a été mise en correspondance avec succès.

  4. __callstatic() 做的事情也很简单,分别将目标URL(即 /fuck)、HTTP方法(即 GET)和回调代码压入 routes" role="presentation" style="position: relative;">routesmethods 和 $callbacks 三个 Macaw 类的静态成员变量(数组)中。

  5. 路由文件最后一行的 Macaw::dispatch(); 方法才是真正处理当前 URL 的地方。能直接匹配到的会直接调用回调,不能直接匹配到的将利用正则进行匹配。

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer