Для перепечатки, пожалуйста, укажите источник статьи: https://tlanyan.me/php -обзор…
Каталог ретроспективных серий PHP
- Основа PHP
- веб-запрос
- печенье
- Веб-ответ
- сессия
- Работа с базой данных
- Шифрование и дешифрование
- Композитор
Предыдущий обзор PHP Composer кратко знакомит с соответствующими концепциями и использованием Composer, что не является препятствием для ежедневного развития. Чтобы лучше использовать Composer для совместной работы, необходимо научиться создавать свой собственный пакет Composer. В этой статье сначала объясняется концепция репозитория Composer, а затем даются инструкции по созданию и публикации пакетов Composer.
Хранилище
Хранилище-это распространенная концепция в разработке программного обеспечения, которая похожа на исходный код, в основном относящаяся к месту размещения ресурсов. Многие программы имеют концепции хранилища, такие как yum, npm, maven, Git и главный герой этой статьи, Композитор. Хранилище централизованно управляет ресурсами, что гарантирует нормальную работу программного обеспечения.
Packagist является центральным репозиторием Composer по умолчанию, и большинство пакетов Composer в сообществе PHP размещаются на сайте. Packagist предоставляет открытый бесплатный хостинг, и любой желающий может свободно регистрироваться и публиковать пакеты без аудита. Упаковщик размещается и поддерживается Частным упаковщиком. Основное различие между ними заключается в том, что официальная сеть упаковщиков является https://packagist.org>, хостинг…. Размещенный код не нуждается в открытом исходном коде, и сервер хранилища может быть расположен в интрасети для обеспечения более быстрых и эффективных услуг размещения кода пакета.
Можно настроить несколько репозиториев, и Composer автоматически определяет наиболее подходящие пакеты зависимостей для проекта. Процесс поиска пакетов выглядит следующим образом: сначала проверьте, есть ли в текущем проекте дополнительные склады, затем сначала выполните поиск на дополнительных складах; результаты не извлекаются вверх на дополнительные склады в глобальной конфигурации; без конфигурации или результатов поиска вернитесь на центральный склад упаковщика по умолчанию для извлечения. Если хранилище по умолчанию не отключено, пакеты в пакетах всегда извлекаются. По этой причине Composer рекомендует разработчикам PHP размещать пакеты на веб-сайтах упаковщиков для удобства поиска и ссылок.
Репозиторий конфигурации
Существует два способа настройки репозитория Composer: командная строка и редактирование файлов конфигурации. composer
конфигурация
Конфигурация композитора-это команда, которая может использоваться для настройки информации о проекте или глобальном хранилище, например:
composer config [-g] repo.packagist composer https://packagist.phpcomposer.com
Второй способ – отредактировать файл конфигурации. Редактирование проекта composer.json
или ~/.config/composer/config.json
Увеличение репозиториев
Конфигурации, например:
"repositories": { "packagist": { "type": "composer", "url": "https://packagist.phpcomposer.com" } }
В приведенной выше конфигурации используется Полное зеркало упаковщика Китая Веб-сайт служит центральным складом по умолчанию. Для развертывания PHP-проектов на материке рекомендуется использовать каталог хранилища, который может ускорить загрузку зависимых пакетов.
Двумя наиболее важными параметрами конфигурации склада являются тип
и url
. тип
Укажите тип склада. url
Затем укажите на конкретный веб-сайт. В зависимости от местоположения склада обычно используются тип
Необязательные значения:
- Композитор, склад размещения пакетов композитора, такой как полное зеркало упаковщика Китая;
- Vcs, система управления версиями, например адрес проекта на Github;
- Груша, упаковка на ГРУШЕ;
- Пакет, расположенный в Интернете;
- Артефакт, набор почтовых пакетов с кодом;
- Путь, указывающий на конкретное местоположение кода.
Склады в Интернете, тип
Общими значениями являются composer
и vcs
Для локальных проектов общими значениями являются артефакт
и путь
. Для конкретных случаев использования обратитесь к официальной документации Composer.
Освоив концепцию и конфигурацию склада, мы создадим собственные пакеты.
Создайте свой собственный пакет композитора
Создание пакета Composer занимает всего два шага: 1. Заполнение информации о описании пакета; 2. Написание кода. В этой статье создается hello-композитор
Пакет демонстрирует процесс создания. В пакете есть только одна функция: вывод строки” Привет, композитор!
“。
Описание информация о пакете Composer хранится в composer.json
Файлы могут быть созданы напрямую (или скопированы из других проектов) composer.json
Файлы, которые вручную заполняют необходимую информацию поля; также доступны composer init
Команда, информация о пакете интерактивного ввода, генерация composer.json
Заполните другую информацию поля после файла. Мы редактируем документ напрямую, и мы редактируем документ напрямую. composer.json
Введите следующее:
{ "name": "tlanyan/hello-composer", "description": "Hello, Composer!", "type": "library", "require": { "php": ">=7.0" }, "license": "MIT", "authors": [ { "name": "tlanyan", "email": "[email protected]" } ], "minimum-stability": "stable", "autoload": { "psr-4": { "tlanyan\": "src/" } } }
Вышеизложенное в основном является обязательным полем для пакета Composer. Другие поля можно указать в описании composer.json официального веб-сайта Composer. Следует обратить внимание на маркировку как только для корневых Полей, только для корневых Указывает, что текущий пакет не вступит в силу, пока он не станет основным проектом. например require-dev
Поля, разработанные в текущем проекте, пакеты в полях будут загружены и помещены поставщиком
В папку; если на проект ссылается другой проект, значение поля игнорируется, и указанный пакет не загружается.
Затем напишите код. оставайтесь src
Новое в каталоге HelloComposer.php
:
namespace tlanyan; class HelloComposer { public static function greet() { echo "Hello, Composer!", PHP_EOL; } }
Стиль кода рекомендуется указывать в спецификации PSR-2, имя файла и путь к нему рекомендуется указывать в спецификации PSR-4. Также обратите внимание, что путь к файлу должен быть связан с composer.json
в автозапуск
Значения совпадают.
В два простых шага мы создали наш собственный пакет Composer. Затем на пакет ссылаются в других проектах.
Ссылка на пакет Composer
Создайте новый тестовый проект, обратитесь к пакету, созданному выше, и посмотрите эффект. Эти шаги заключаются в следующем:
1. Создайте новую тестовую папку, скопируйте или создайте новую composer.json
Файл настроен следующим образом:
{ .... "require": { "tlanyan/hello-composer": "*" }, "minimum-stability": "dev", "repositories": { "local": { "type": "path", "url": "/path/to/hello-composer" } }, .... }
В файлах конфигурации необходимо обратить внимание на два момента: 1. Если hello-composer composer.json
Нет документа версия
Поля (или не стабильные версии) минимальная стабильность
Значение, если dev
(по умолчанию стабильный
В противном случае он не может быть установлен; 2. Необходимо добавить пользовательский склад. тип
Значение равно путь
。
2. реализация composer install-vvv
Установите пакеты зависимостей и создайте их в каталоге поставщика после установки tlanyan/hello-composer
Каталог.
3. Создайте новый test.php файл в тесте и обратитесь к классу Hello Composer:
namespace test; require "vendor/autoload.php"; use tlanyan\HelloComposer; class Test { public static main() { HelloComposer::greet(); } } Test::main();
4. Выполните Test.php: php Test.php
Вывод ” Привет, композитор!
“。
Настроив репозиторий Composer, мы успешно ссылались на созданный hello-composer
пакет. После того, как с тестом все будет в порядке, его можно будет разместить в Интернете для использования другими людьми. Ниже приводится краткое описание процесса выпуска.
Публикация пакетов композитора
Существует несколько способов публикации пакетов Composer в Интернете:
- Упакуйте его в zip-файл и загрузите на любой общедоступный веб-сайт.
- Загрузка в хранилище кода с помощью программного обеспечения для управления версиями.
- Отправить в одноранговое сообщество;
- Отправить в частное хранилище композитора;
- Отправить упаковщику.
В первых четырех способах пользователям необходимо настроить информацию о складе для извлечения пакетов (сообщество PEAR почти мертво и незначительно). Если код с открытым исходным кодом, рекомендуется отправить его в Packagist, чтобы облегчить поиск и использование разработчиками PHP по всему миру и внести свой вклад в экосистему Composer.
Отправка пакета упаковщику проходит следующий процесс:
- Создавайте проекты на Github и отправляйте код;
- Введите адрес проекта в Packagist и отправьте пакет.
- В проекте конфигурации Github запустите автоматическое обновление пакета.
Первые два шага необходимы, а третий необязателен. В ответственном отношении к представленному пакету настоятельно рекомендуется завершить третий этап.
Процесс отправки пакетов включает в себя Github и упаковщика. Связь между Github и Packagist такова: на Github размещается фактический код и файлы; на Packagist размещается автор, имя пакета, номер версии, объем загрузки и другие метаданные. Короче говоря, Packagist-это индекс, а Github-поставщик контента.
Подробные инструкции можно найти на официальном веб-сайте или в онлайн-учебниках. В Интернете слишком много связанного контента, поэтому эта статья не будет повторяться.
резюме
В этой статье представлена концепция репозитория Composer, создается полный пакет Composer и даются рекомендации по отправке пакетов в Packagist. Пользователи могут отправлять код для внесения вклада в сообщество после того, как они освоят соответствующие концепции и рабочие механизмы, а также могут отказаться от бесплатной ссылки на Packagist и установить пакеты зависимостей.
Справочные ресурсы
- Справочные ресурсы
- Справочные ресурсы
- Справочные ресурсы