Table des matières
Qu'est-ce qu'un composant ?
Composants vs Frameworks
Utilisation des composants
Packagist
Composer
Exemple de projet
Installer des composants
Maison développement back-end tutoriel php Une brève discussion sur les composants PHP, les frameworks et Composer

Une brève discussion sur les composants PHP, les frameworks et Composer

Apr 23, 2019 am 09:18 AM
composer php框架

Cet article présente principalement les composants PHP, les frameworks et Composer. Il a une certaine valeur d'apprentissage et les amis intéressés peuvent en apprendre davantage.

Qu'est-ce qu'un composant ?

Un composant est un ensemble de codes packagés, une série de classes, d'interfaces et de traits associés qui sont utilisés pour nous aider à résoudre un problème spécifique dans les applications PHP. Par exemple, si votre application PHP doit envoyer et recevoir des requêtes HTTP, elle peut être implémentée à l'aide de composants prêts à l'emploi tels que guzzle/guzzle. Nous utilisons des composants non pas pour réimplémenter des fonctions déjà implémentées, mais pour consacrer plus de temps à atteindre les objectifs à long terme du projet.

Les excellents composants PHP ont les caractéristiques suivantes :

  • Fonction unique : se concentre sur la résolution d'un problème et utilise des interfaces simples pour encapsuler les fonctions
  • Petit : petit et exquis , contient uniquement le code minimum requis pour résoudre un problème
  • Coopération : les composants PHP peuvent bien coopérer les uns avec les autres et sont combinés pour mettre en œuvre de grands projets
  • Bons tests : il fournit lui-même des tests et il y a suffisamment de tests Couverture
  • Documentation complète : une documentation complète doit être fournie pour permettre aux développeurs d'installer, de comprendre et d'utiliser facilement

Composants vs Frameworks

Quand nous choisissons un framework, il faut beaucoup investir dans les outils de ce framework. Le framework fournit généralement beaucoup d'outils, mais lorsqu'il ne fournit pas un outil dont nous avons besoin, la douleur nous est transmise, et nous devons trouver et intégrer une bibliothèque PHP personnalisée. L'intégration de code tiers dans un framework peut être difficile car le code tiers et le framework peuvent ne pas utiliser les mêmes interfaces.

Lors du choix d'un framework, nous nous concentrons sur l'avenir du framework, mais qui peut garantir qu'un certain framework sera toujours le meilleur outil pour un certain travail ? Les grands projets qui existent depuis de nombreuses années doivent fonctionner correctement et faire des ajustements à tout moment. Si vous choisissez le mauvais framework PHP, vous ne pourrez peut-être pas le faire. Les anciens frameworks PHP peuvent être lents ou obsolètes en raison du manque de support communautaire. Ces anciens frameworks sont souvent écrits en utilisant du code procédural au lieu du code orienté objet moderne et de certaines des nouvelles fonctionnalités de PHP. cadre, il y a beaucoup de choses à considérer.

Heureusement, Laravel a bien fonctionné en termes de ces préoccupations, il peut donc se démarquer parmi de nombreux frameworks PHP. Dans un sens, Laravel est également un framework de développement basé sur des composants (le composant principal est sa propre bibliothèque Illuminate). , l'implémentation de la fonction repose fortement sur des composants tiers). Par rapport à Symfony, il est plus facile à démarrer, il est donc à la fois évolutif et facile à utiliser. Cependant, Laravel présente également certains inconvénients.Par exemple, les composants propres de Laravel ne peuvent pas être facilement découplés et utilisés en dehors du cadre Laravel (mais je pense que cette situation s'améliorera, par exemple, ses composants de base de données et de file d'attente peuvent être découplés). Dans l’ensemble, Laravel reste un excellent framework qui peut nous aider à créer rapidement des applications puissantes.

Alors devrions-nous utiliser des composants ou des frameworks ? La réponse est : utilisez le bon outil pour la bonne chose. Si vous pouvez mettre en œuvre rapidement de petits projets avec certains composants PHP, utilisez des composants. Si plusieurs membres de votre équipe travaillent sur de grands projets, vous pouvez bénéficier des directives et de la structure convenues fournies par. le framework. , puis utilisez un framework (si vous ne savez pas quel framework utiliser, alors choisissez Laravel, il ne vous décevra pas). L'utilisation d'un framework peut guider et accélérer le développement du projet.

Utilisation des composants

Packagist

Nous recherchons des composants PHP dans Packagist. Ce site Web est utilisé pour collecter les meilleurs composants PHP peuvent être trouvés dans Packagist.

Une brève discussion sur les composants PHP, les frameworks et Composer

Par exemple, si nous voulons utiliser un composant http pour envoyer et recevoir des messages HTTP, recherchez http dans le champ de recherche, et le premier résultat que nous obtenons est Guzzle, alors utilisez-le.

Composer

Packagist est une communauté pour trouver des composants PHP, et Composer est un outil pour installer des composants PHP. Composer est un gestionnaire de dépendances pour PHP. Il s'exécute sur la ligne de commande. Vous indiquez à Composer les composants dont vous avez besoin, et Composer téléchargera et chargera automatiquement ces composants dans votre projet.

Composer et Packagist travaillent en étroite collaboration. Si vous dites à Composer que vous souhaitez utiliser le composant guzzlehttp/guzzle, Composer obtiendra le composant guzzlehttp/guzzle de Packagist, trouvera l'adresse d'entrepôt de ce composant et déterminera quelle version. à utiliser, et également Découvrez les dépendances de ce composant, puis téléchargez le composant guzzlehttp/guzzle et ses dépendances dans votre projet.

De plus, Composer générera automatiquement des chargeurs automatiques conformes aux normes PSR pour tous les composants PHP du projet, éliminant ainsi efficacement la gestion des dépendances et le chargement automatique. Par conséquent, Composer est le plus important pour la communauté PHP. des choses comme des outils supplémentaires. Il n'est pas exagéré de penser aux jours pénibles où nous devions utiliser include, require et spl_autoload_register pour implémenter manuellement le chargement automatique.

Concernant l'installation et l'utilisation de Composer, je n'entrerai pas dans les détails ici Merci de vous référer au site chinois de Composer.

Exemple de projet

Ci-dessous, nous utilisons un exemple de projet pour montrer comment utiliser Composer et ses composants pour développer une application PHP. La fonction de cette application est d'analyser l'URL dans un fichier CSV pour trouver des liens morts. L'application Une requête HTTP sera envoyée à chaque URL. Si le code d'état HTTP renvoyé est supérieur ou égal à 400, le lien mort sera envoyé vers la sortie standard. Il s'agit d'une application en ligne de commande. Après le développement, nous exécuterons ce script, transmettrons le chemin du fichier csv et afficherons la liste des liens morts dans la sortie standard.

Installer des composants

Avant de commencer, examinons quelles tâches peuvent être résolues à l'aide de composants PHP existants : nous avons besoin d'un composant capable de traiter de manière itérative les données du fichier csv, et aussi ajoutez des données au fichier csv. Chaque URL envoie une requête HTTP, vous avez donc également besoin d'un composant capable d'envoyer des requêtes HTTP et de vérifier la réponse HTTP.

Après avoir parcouru Packagist, nous avons trouvé deux composants : guzzlehttp/guzzle et league/csv Le premier est utilisé pour traiter les messages HTTP, et le second est utilisé pour traiter les données CSV. Ensuite, nous exécutons la commande suivante au niveau supérieur du projet :

composer require guzzlehttp/guzzle
composer require league/csv
Copier après la connexion

Composer installera les dépendances dans le répertoire vendor du répertoire racine, composer.json et. <🎜 sera généré dans le répertoire racine. >Fichier : composer.lock

Une brève discussion sur les composants PHP, les frameworks et Composer

Le fichier listera tous les composants PHP utilisés par le projet, ainsi que la version spécifique. numéros des composants. Cela verrouille en fait le projet et permet au projet d'utiliser uniquement des versions spécifiques des composants PHP. L'avantage est que composer téléchargera la version spécifique répertoriée dans ce fichier, quelle que soit la dernière version disponible dans Packagist. Vous devez mettre le fichier composer.lock dans le contrôle de version afin que les membres de l'équipe utilisent la même version de PHP que vous. , si les versions des composants PHP utilisées par le développement local et le serveur sont les mêmes, les bogues causés par les différentes versions des composants peuvent être minimisés. composer.lock

Si vous souhaitez vraiment télécharger la dernière version du composant et mettre à jour

, vous pouvez utiliser la commande composer.lock. composer update

Chargement automatique

Ensuite, nous écrivons le code de l'application, créons un fichier

dans le répertoire racine, puis utilisons scan.php en haut du fichier pour importer l'autochargeur créé par Composer : require

require &#39;vendor/autoload.php&#39;;
Copier après la connexion
L'autoloader créé par Composer est en fait un fichier nommé

, qui est enregistré dans le répertoire autoload.php Lorsque Composer télécharge chaque composant PHP, il vérifiera le vendor de chacun. Component. pour déterminer comment charger le composant. Après avoir obtenu ces informations, Composer créera localement un chargeur automatique pour le composant qui est conforme à la norme PSR. De cette façon, nous pouvons instancier n'importe quel composant PHP du projet et ces composants seront automatiquement chargés à la demande. composer.json

Écrire du code

Ci-dessous, nous utilisons formellement les composants Guzzle et CSV pour écrire du

code : scan.php

//使用composer自动加载器
require &#39;vendor/autoload.php&#39;;

//实例Guzzle Http客户端
$client = new GuzzleHttp\Client();

//打开并迭代处理CSV
$csv = League\Csv\Reader::createFromPath($argv[1]);
foreach ($csv as $csvRow) {
    try {
        //发送HTTP GET请求
        $httpResponse = $client->get($csvRow[0]);

        //检查HTTP响应的状态码
        if($httpResponse->getStatusCode() >= 400) {
            throw new Exception();
        }
    } catch (Exception $e) {
            //把死链发给标准输出
            echo $csvRow[0] . PHP_EOL;
    }
}
Copier après la connexion
Maintenant, nous ajoutons quelques URL dans

, une par line , et au moins l'un d'entre eux est un lien mort : urls.csv

Une brève discussion sur les composants PHP, les frameworks et Composer

Ensuite, ouvrez le terminal et exécutez le script

 : scan.php

php scan.php urls.csv
Copier après la connexion
Nous passé en deux paramètres, le premier est le chemin d'accès au fichier script

, et l'autre est le chemin d'accès au fichier CSV. Le résultat est le suivant : scan.php

Une brève discussion sur les composants PHP, les frameworks et Composer

Tutoriel associé :

Tutoriel vidéo PHP

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 de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comparaison des avantages et inconvénients des frameworks PHP : Lequel est le meilleur ? Comparaison des avantages et inconvénients des frameworks PHP : Lequel est le meilleur ? Jun 04, 2024 pm 03:36 PM

Le choix du framework PHP dépend des besoins du projet et des compétences du développeur : Laravel : riche en fonctionnalités et en communauté active, mais a une courbe d'apprentissage abrupte et des frais généraux élevés en termes de performances. CodeIgniter : léger et facile à étendre, mais a des fonctionnalités limitées et moins de documentation. Symfony : Communauté modulaire et forte, mais problèmes de performances complexes. ZendFramework : de niveau entreprise, stable et fiable, mais volumineux et coûteux en licence. Slim : micro-framework, rapide, mais avec des fonctionnalités limitées et une courbe d'apprentissage abrupte.

Différences de performances des frameworks PHP dans différents environnements de développement Différences de performances des frameworks PHP dans différents environnements de développement Jun 05, 2024 pm 08:57 PM

Il existe des différences dans les performances des frameworks PHP dans différents environnements de développement. Les environnements de développement (tels que les serveurs Apache locaux) souffrent de performances de framework inférieures en raison de facteurs tels que les performances des serveurs locaux et les outils de débogage inférieurs. En revanche, un environnement de production (tel qu'un serveur de production entièrement fonctionnel) avec des serveurs plus puissants et des configurations optimisées permet au framework de fonctionner nettement mieux.

Frameworks et microservices PHP : déploiement et conteneurisation cloud natifs Frameworks et microservices PHP : déploiement et conteneurisation cloud natifs Jun 04, 2024 pm 12:48 PM

Avantages de la combinaison du framework PHP avec des microservices : Évolutivité : étendez facilement l'application, ajoutez de nouvelles fonctionnalités ou gérez plus de charge. Flexibilité : les microservices sont déployés et maintenus de manière indépendante, ce qui facilite les modifications et les mises à jour. Haute disponibilité : la défaillance d'un microservice n'affecte pas les autres parties, garantissant une disponibilité plus élevée. Cas pratique : Déployer des microservices à l'aide de Laravel et Kubernetes Étapes : Créer un projet Laravel. Définissez le contrôleur de microservice. Créez un fichier Docker. Créez un manifeste Kubernetes. Déployez des microservices. Testez les microservices.

Comment Composer gère-t-il le fichier composer.lock ? Comment Composer gère-t-il le fichier composer.lock ? Jun 03, 2024 pm 04:40 PM

Composer gère les dépendances à l'aide du fichier composer.lock, qui enregistre toutes les dépendances installées et leurs versions exactes, ce qui permet de : Garantir la cohérence et éviter les conflits de versions. Améliorez les performances sans avoir à rechercher des packages à plusieurs reprises. Suivez les modifications en enregistrant les versions de dépendances installées après chaque commande d'installation.

Intégration des frameworks PHP avec DevOps : le futur de l'automatisation et de l'agilité Intégration des frameworks PHP avec DevOps : le futur de l'automatisation et de l'agilité Jun 05, 2024 pm 09:18 PM

L'intégration des frameworks PHP avec DevOps peut améliorer l'efficacité et l'agilité : automatiser les tâches fastidieuses, libérer le personnel pour qu'il se concentre sur les tâches stratégiques, raccourcir les cycles de publication, accélérer la mise sur le marché, améliorer la qualité du code, réduire les erreurs, améliorer la collaboration des équipes interfonctionnelles et décomposer silos de développement et d’exploitation

Le meilleur framework PHP pour l'architecture de microservices : performances et efficacité Le meilleur framework PHP pour l'architecture de microservices : performances et efficacité Jun 03, 2024 pm 08:27 PM

Meilleur framework de microservices PHP : Symfony : flexibilité, performances et évolutivité, fournissant une suite de composants pour la création de microservices. Laravel : se concentre sur l'efficacité et la testabilité, fournit une interface API propre et prend en charge les services sans état. Slim : minimaliste, rapide, fournit un système de routage simple et un constructeur de corps intermédiaire en option, adapté à la création d'API hautes performances.

Frameworks PHP et intelligence artificielle : guide du développeur Frameworks PHP et intelligence artificielle : guide du développeur Jun 04, 2024 pm 12:47 PM

Utilisez un framework PHP pour intégrer l'intelligence artificielle (IA) afin de simplifier l'intégration de l'IA dans les applications Web. Framework recommandé : Laravel : léger, efficace et puissant. CodeIgniter : Simple et facile à utiliser, adapté aux petites applications. ZendFramework : Framework de niveau entreprise avec des fonctions complètes. Méthode d'intégration de l'IA : Modèle d'apprentissage automatique : effectuer des tâches spécifiques. AIAPI : fournit des fonctionnalités prédéfinies. Bibliothèque AI : gère les tâches d’IA.

Quel framework PHP offre la bibliothèque d'extensions la plus complète pour un développement rapide ? Quel framework PHP offre la bibliothèque d'extensions la plus complète pour un développement rapide ? Jun 04, 2024 am 10:45 AM

La bibliothèque d'extensions de framework PHP propose quatre frameworks de sélection : Laravel : connu pour son vaste écosystème et ses packages tiers, il fournit l'authentification, le routage, la validation et d'autres extensions. Symfony : hautement modulaire, étendant les fonctionnalités via des "Bundles" réutilisables, couvrant des domaines tels que l'authentification et les formulaires. CodeIgniter : léger et performant, fournissant des extensions pratiques telles que la connexion à une base de données et la validation de formulaires. ZendFramework : fonctionnalités puissantes au niveau de l'entreprise, avec des extensions telles que l'authentification, la connexion à une base de données, la prise en charge de RESTfulAPI, etc.

See all articles