


À quoi ressemble Composer dans votre environnement de production ?
Pour plus de détails sur chaque élément de configuration, veuillez vous référer au site officiel de ComposerListe de configuration
ID | 配置项 | 说明 |
---|---|---|
1 | name |
包的名称,它包括供应商名称和项目名称,使用 / 分隔。 |
2 | description |
包描述 |
3 | version |
版本 |
4 | type |
安装类型 |
5 | keywords |
关键字 |
6 | homepage |
项目主页 |
7 | time |
版本发布时间 |
8 | license |
许可协议 |
9 | authors |
作者 |
10 | support |
支持,获取项目支持的向相关信息对象。 |
11 | require |
自动加载的包 |
12 | require-dev |
在DEV下自动加载的包 |
13 | conflict |
此列表中的包与当前包的这个版本冲突。它们将不允许同时被安装 |
14 | suggest |
建议安装的包,它们增强或能够与当前包良好的工作。这些只是信息,并显示在依赖包安装完成之后,给你的用户一个建议,他们可以添加更多的包。 |
15 | autoload |
自动加载,分别有四种加载机制 psr-4 psr-0 classmap file
|
16 | include-path |
保留传统,不建议使用 |
17 | target-dir |
定义当前包安装的目标文件夹 |
18 | minimum-stability |
安装包的时候通过稳定性过滤包的默认行为, dev alpha beta RC stable 可选 |
19 | prefer-stable |
安装包的时候优先使用更稳定的包版本, "prefer-stable": true
|
20 | repositories |
使用自定义的包资源库。默认情况下 composer 只使用 packagist 作为包的资源库。通过指定资源库,你可以从其他地方获取资源包。 |
21 | config |
配置参数,eg:process-timeout vendor-dir
|
22 | scripts |
Composer 允许你在安装过程中的各个阶段挂接脚本。 |
23 | extra |
任意的,供 scripts 使用的额外数据。 |
24 | bin |
该属性用于标注一组应被视为二进制脚本的文件,他们会被软链接到(config 对象中的)bin-dir 属性所标注的目录,以供其他依赖包调用。 |
25 | archive |
这些选项在创建包存档时使用。 |
require
12. require-dev
-
composer install
会安装require-dev
中的包,require
中的包
-
composer install --no-dev
只会安装require
中的包
22. scripts
"scripts": {
"post-root-package-install": [
"@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
],
"post-create-project-cmd": [
"@php artisan key:generate"
],
"post-autoload-dump": [
"Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
"@php artisan package:discover"
]
}
Copier après la connexion
require-dev
composer install
会安装require-dev
中的包,require
中的包composer install --no-dev
只会安装require
中的包scripts
"scripts": { "post-root-package-install": [ "@php -r \"file_exists('.env') || copy('.env.example', '.env');\"" ], "post-create-project-cmd": [ "@php artisan key:generate" ], "post-autoload-dump": [ "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump", "@php artisan package:discover" ] }
scripts
是自定义执行SHELL命令,如上代码中,执行post-root-package-install
执行复制文件。
15 autoload
PHP 自动加载文件,分别有四种加载机制
psr-4
psr-0
classmap
file
修改完 autoload 的内容之后要记得执行
composer dump-autoload
来重新生成加载文件
prs-4
- 该目录下的 PHP 文件 采用 PSR-4 自动加载标准
- Composer会将该结构下的文件映射关系写入
autoload_classmap.php
"autoload": { "psr-4": { "App\\": "app/" } }
prs-0
- 该目录下的 PHP 文件 采用 PSR-0 自动加载标准
- Composer会将该结构下的文件映射关系写入
autoload_namespaces.php
"autoload": { "psr-4": { "Cx\\": "prs0/" } }
classmap
- Composer 加载
lib/
目录下的所有文件,放入到autoload_classmap.php
{ "classmap":["lib/"] }
file
- Composer 加载
src/test.php
该文件,放入到autoload_files.php
{ "files":["src/test.php"] }
命令篇
详细命名请参考 Composer 命令行
composer install
先安装composer.lock
文件中packages
中的版本;即使composer.json
与 composer.lock
中版本不一致
À quoi ressemble Composer dans votre environnement de production ?
composer update
先安装composer.json
的版本,并且更新composer.lock
中 packages
中的版本
À quoi ressemble Composer dans votre environnement de production ?
composer dump-autoload
CMD | 说明 | 应用场景 |
---|---|---|
composer dump-autoload |
打印自动加载索引,就是将 autoload 中的各项加载到本该指定的目录。 |
开发环境 你更新了 autoload 中的各项, |
composer dump-autoload -o |
转换 PSR-0/4 autoloading 到 classmap 获得更快的载入速度 | 适用于生产环境 |
composer dump-autoload -o --no-dev |
禁用 autoload-dev 规则 | 适用于生产环境 |
composer dump-autoload --classmap-authoritative |
只加载 ClassMap中的文件,必到磁盘文件系统进行任何检查 | 适用于生产环境 |
因此生产请使用
composer dump-autoload -o --no-dev --classmap-authoritative
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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Composer fournit des fonctionnalités avancées, notamment : 1. Alias : définissez des noms pratiques pour les packages pour référence répétée ; 2. Scripts : exécutez des commandes personnalisées lors de l'installation/mise à jour de packages, utilisées pour créer des tables de base de données ou compiler des ressources ; 3. Résolution de conflits : utilisez des règles de priorité ; , les contraintes de satisfaction et les alias de package résolvent les différentes exigences de plusieurs packages pour la même version de dépendance afin d'éviter les conflits d'installation.

Réponse : Les microservices PHP sont déployés avec HelmCharts pour un développement agile et conteneurisés avec DockerContainer pour l'isolation et l'évolutivité. Description détaillée : utilisez HelmCharts pour déployer automatiquement des microservices PHP afin de réaliser un développement agile. Les images Docker permettent une itération rapide et un contrôle de version des microservices. Le standard DockerContainer isole les microservices et Kubernetes gère la disponibilité et l'évolutivité des conteneurs. Utilisez Prometheus et Grafana pour surveiller les performances et l'état des microservices, et créer des alarmes et des mécanismes de réparation automatiques.

Comment convertir un tableau PHP en objet : utilisez la classe stdClass, utilisez la fonction json_decode(), utilisez une bibliothèque tierce (telle que la classe ArrayObject, la bibliothèque Hydrator)

Contrôle de version du code PHP : Il existe deux systèmes de contrôle de version (VCS) couramment utilisés dans le développement PHP : Git : VCS distribué, où les développeurs stockent localement des copies de la base de code pour faciliter la collaboration et le travail hors ligne. Subversion : VCS centralisé, la seule copie de la base de code est stockée sur un serveur central, offrant plus de contrôle. VCS aide les équipes à suivre les modifications, à collaborer et à revenir aux versions antérieures.

PHPCI/CD est une pratique clé dans les projets DevOps qui automatise les processus de création, de test et de déploiement, améliorant ainsi l'efficacité du développement et la qualité des logiciels. Un pipeline PHPCI/CD typique comprend les étapes suivantes : 1) Intégration continue : chaque fois que le code change, le code est automatiquement construit et testé. 2) Déploiement continu : accélérez la livraison en déployant automatiquement le code testé et intégré dans l'environnement de production. En mettant en œuvre le pipeline PHPCI/CD, vous pouvez augmenter l’efficacité du développement, améliorer la qualité des logiciels, réduire les délais de mise sur le marché et augmenter la fiabilité.

Il existe trois technologies principales pour visualiser les structures de données en PHP : Graphviz : un outil open source capable de créer des représentations graphiques telles que des graphiques, des graphiques acycliques dirigés et des arbres de décision. D3.js : bibliothèque JavaScript pour créer des visualisations interactives basées sur les données, générer du HTML et des données à partir de PHP, puis les visualiser côté client à l'aide de D3.js. ASCIIFlow : une bibliothèque pour créer une représentation textuelle de diagrammes de flux de données, adaptée à la visualisation de processus et d'algorithmes.

L'utilisation du cache Redis peut considérablement optimiser les performances de la pagination du tableau PHP. Cela peut être réalisé en suivant les étapes suivantes : Installez le client Redis. Connectez-vous au serveur Redis. Créez des données de cache et stockez chaque page de données dans un hachage Redis avec la clé « page : {page_number} ». Récupérez les données du cache et évitez les opérations coûteuses sur les grandes baies.

Réponse : Utilisez PHPCI/CD pour réaliser une itération rapide, y compris la configuration de pipelines CI/CD, de tests automatisés et de processus de déploiement. Configurer un pipeline CI/CD : sélectionnez un outil CI/CD, configurez le référentiel de code et définissez le pipeline de build. Tests automatisés : rédigez des tests unitaires et d'intégration et utilisez des frameworks de test pour simplifier les tests. Cas pratique : Utilisation de TravisCI : Installez TravisCI, définissez le pipeline, activez le pipeline et visualisez les résultats. Mettez en œuvre la livraison continue : sélectionnez les outils de déploiement, définissez les pipelines de déploiement et automatisez le déploiement. Avantages : améliorez l’efficacité du développement, réduisez les erreurs et raccourcissez les délais de livraison.
