


Comment créer une bibliothèque PHP et la publier sur Packagist ?
如何创建 PHP 函数库并将其发布到 Packagist 上
1. 创建函数库
首先,创建一个新的 PHP 项目并使用 Composer 来管理依赖关系:
composer init
接下来,在 src 目录中创建一个新文件,例如 MyFunctions.php,并添加以下代码:
<?php namespace MyVendor\MyFunctions; function greet(string $name): string { return "Hello, $name!"; }
2. 创建 Composer.json 文件
在项目根目录中创建一个名为 composer.json 的文件并添加以下配置:
{ "name": "my-vendor/my-functions", "description": "A simple PHP function library", "authors": [ { "name": "Your Name", "email": "you@example.com" } ], "autoload": { "psr-4": { "MyVendor\\MyFunctions\\": "src/" } }, "minimum-stability": "dev" }
请确保将 "name" 属性替换为你的供应商/包名称。
3. 注册 Packagist 账户
转到 Packagist 网站并创建一个账户。
4. 创建包
登录到你的 Packagist 账户并创建新包。使用与 composer.json 文件中 "name" 属性相同的名称。
5. 提交你的函数库
切换到你的函数库本地项目的终端,然后执行以下命令:
composer login composer create-project --no-install my-vendor/my-functions [VENDOR/PACKAGE_NAME]
将 [VENDOR/PACKAGE_NAME] 替换为你在 Packagist 上创建的包的名称。这将在你的本地项目中创建一个新的克隆。
6. 签署包
你必须对你的包进行数字签名才能将其发布到 Packagist 上。为此,你需要一个 GPG 密钥。
若要生成 GPG 密钥,请运行以下命令:
gpg --gen-key
将 "Key-ID" 部分中的输出复制并粘贴到 Packagist 网站上你的包的 "Signer" 选项卡中。
7. 发布包
在你的本地项目中,运行以下命令:
cd [VENDOR/PACKAGE_NAME] composer install
这将安装创建项目所需的依赖关系。
接下来,将以下两行添加到 composer.json 文件的根目录:
"require": { "ext-zip": "*" }, "archive": { "exclude": [ "!src" ] }
最后,运行以下命令发布你的包:
composer config github-oauth.github.com <YOUR_GITHUB_ACCESS_TOKEN> composer run-script package
将
实战案例:
假设你有一个简单脚本,希望使用新创建的函数库来发送电子邮件。你可以按照以下步骤操作:
- 在你的脚本文件中,使用以下代码:
use MyVendor\MyFunctions\greet; $name = 'John Doe'; $greeting = greet($name);
- 运行你的脚本。稍后,你将看到以下输出:
Hello, John Doe!
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

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

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)

Laravel est un cadre PHP pour la création facile des applications Web. Il fournit une gamme de fonctionnalités puissantes, notamment: Installation: Installez le Laravel CLI globalement avec Composer et créez des applications dans le répertoire du projet. Routage: définissez la relation entre l'URL et le gestionnaire dans Routes / web.php. Voir: Créez une vue dans les ressources / vues pour rendre l'interface de l'application. Intégration de la base de données: fournit une intégration prête à l'emploi avec des bases de données telles que MySQL et utilise la migration pour créer et modifier des tables. Modèle et contrôleur: le modèle représente l'entité de la base de données et le contrôleur traite les demandes HTTP.

Ce qui est encore populaire, c'est la facilité d'utilisation, la flexibilité et un écosystème fort. 1) La facilité d'utilisation et la syntaxe simple en font le premier choix pour les débutants. 2) étroitement intégré au développement Web, excellente interaction avec les demandes HTTP et la base de données. 3) L'énorme écosystème fournit une multitude d'outils et de bibliothèques. 4) La nature active et la nature open source les adaptent à de nouveaux besoins et tendances technologiques.

J'ai eu un problème difficile lorsque je travaille sur un projet avec un grand nombre d'entités de doctrine: chaque fois que l'entité est sérialisée et désérialisée, la performance devient très inefficace, entraînant une augmentation significative du temps de réponse du système. J'ai essayé plusieurs méthodes d'optimisation, mais cela ne fonctionne pas bien. Heureusement, en utilisant le SIDUS / Doctrine-Serializer-Bundle, j'ai résolu avec succès ce problème, améliorant considérablement les performances du projet.

Lors du développement d'un site Web de commerce électronique, j'ai rencontré un problème difficile: comment fournir aux utilisateurs des recommandations de produits personnalisées. Au départ, j'ai essayé des algorithmes de recommandation simples, mais les résultats n'étaient pas idéaux et la satisfaction des utilisateurs a également été affectée. Afin d'améliorer la précision et l'efficacité du système de recommandation, j'ai décidé d'adopter une solution plus professionnelle. Enfin, j'ai installé Andres-Montanez / Recommandations-Bundle via Composer, ce qui a non seulement résolu mon problème, mais a également considérablement amélioré les performances du système de recommandation. Vous pouvez apprendre le compositeur via l'adresse suivante:

Lors du développement d'une plate-forme de commerce électronique, il est crucial de choisir le bon cadre et les bons outils. Récemment, lorsque j'essayais de créer un site Web de commerce électronique riche en fonctionnalités, j'ai rencontré un problème difficile: comment créer rapidement une plate-forme de commerce électronique évolutive et entièrement fonctionnelle. J'ai essayé plusieurs solutions et j'ai fini par choisir le modèle de projet avancé de FECMALL (FECMALL / FBBCBASE-APP-ADVANDAD). En utilisant le compositeur, ce processus devient très simple et efficace. Le compositeur peut être appris par l'adresse suivante: Adresse d'apprentissage

Lors du développement d'une application Laravel, j'ai rencontré un problème commun mais difficile: comment améliorer la sécurité des comptes d'utilisateurs. Avec la complexité croissante des cyberattaques, une seule protection de mot de passe ne suffit plus pour assurer la sécurité des données des utilisateurs. J'ai essayé plusieurs méthodes, mais les résultats n'étaient pas satisfaisants. Enfin, j'ai installé la bibliothèque Wiebenieuwenhuis / Laravel-2FA via Composer et j'ai ajouté avec succès l'authentification à deux facteurs (2FA) à mon application, améliorant considérablement la sécurité.

J'ai un problème délicat lors du développement d'une application basée sur Symfony: comment valider efficacement le format de données JSON. Initialement, j'ai essayé d'utiliser le code de vérification manuel, mais cela était non seulement compliqué, mais aussi sujet aux erreurs. Après une certaine exploration, j'ai découvert un forfait compositeur appelé Ptyhard / Json-Schema-Bundle, qui a apporté une grande commodité et efficacité à mon projet.

Le Framework Laravel a des méthodes intégrées pour afficher facilement son numéro de version pour répondre aux différents besoins des développeurs. Cet article explorera ces méthodes, y compris l'utilisation de l'outil de ligne de commande Composer, l'accès à des fichiers .env ou l'obtention d'informations de version via le code PHP. Ces méthodes sont essentielles pour maintenir et gérer le versioning d'applications Laravel.
