Чтобы создать успешный пакет расширений PHP, нужно не просто поместить код в папки, но есть много других факторов, которые определяют, является ли ваше расширение хорошим или нет. Следующий список поможет улучшить ваши расширения и привлечь больше внимания в сообществе PHP.
1. Выберите правильное имя для вашего расширения
- Убедитесь, что ваше имя не используется другими проектами.
- Имя расширения должно соответствовать вашему пространству имен PHP.
- Не используйте свое имя или что-либо личное в своем пространстве имен.
2. Расширьте свой источник
- GitHub может управлять такими публичными проектами бесплатно.
- GitHub очень полезен для вас, чтобы управлять этим проектом с открытым исходным кодом и облегчить другим доступ к вашим расширениям.
- Если вы не хотите его использовать, попробуйте альтернативу: Bitbucket.
3. Будьте дружелюбны к автоматической загрузке
- Используйте пространства имен загрузчика, совместимые с PSR-4.
- Пожалуйста, введите код в ____________
src
В папке.
4. Публикуйте через Composer
- Убедитесь, что вы можете найти свою библиотеку классов с помощью Composer, инструмента управления зависимостями для PHP
- Опубликованный в Packagist, Packagist является основным репозиторием пакетов Composer.
5. Не ограничиваясь рамками
- Не ограничивайтесь проектами, которые можно использовать только в рамках одной структуры.
- Обеспечьте специальную поддержку фреймворка через поставщиков услуг.
6. Следуйте стилю кодирования
- Настоятельно рекомендуется придерживаться стиля кодирования PSR-2.
- Используйте инструменты автоматического форматирования кода, такие как Исправление стандартов кодирования PHP.
- Используйте инструменты определения стиля кода, такие как анализатор кода PHP.
7. Написание модульных тестов
- Охватывает большую часть кода.
- Использование PHPUnit, широко используемой платформы модульного тестирования PHP.
- Другие опции: php спецификация, Behat, atoum, Кодирование.
8. Прокомментируйте код
- Рассматривайте комментарии как встроенные документы.
- Аннотации кода также могут улучшить возможности завершения кода в среде IDE, такие как PhpStorm.
- Он может быть автоматически преобразован в документы API для просмотра phpDocumentor.
9. Использование Семантического Управления Версиями
- Используйте семантический номер версии для управления номером версии.
- Следуйте спецификациям основной версии, второстепенной версии и версии исправления.
- Позвольте разработчикам безопасно обновлять программное обеспечение, не опасаясь разрушительных изменений.
- Пожалуйста, не забудьте вовремя обозначить релиз!
10. Регулярно обновляйте журнал
- Сделайте четкой маркировку и отображение существенных изменений между публикациями.
- Подумайте о том, чтобы писать в формате журнала ИЗМЕНЕНИЙ.
11. Использование Непрерывной Интеграции
- Используйте службы для автоматической проверки того, является ли кодировка стандартной и проходит ли тест на выполнение.
- Хорошей идеей было бы запустить тесты в нескольких версиях PHP.
- Убедитесь, что отправленные материалы или запросы выполняются автоматически.
- Ссылка: Трэвис-КИ, Исследователь, Круг-КИ.
12. Напишите большое количество документов об использовании
- Хороший документ имеет решающее значение для пакета расширений.
- По крайней мере, убедитесь, что в библиотеке есть подробные файлы README (самоописание).
- Вы можете попробовать разместить документы на страницах GitHub.
- Доступная ссылка: Прочитайте документы.
13. Включите лицензию
- Включение соглашения об авторизации может эффективно и легко защитить результаты вашей работы.
- Обратитесь к choosealicense.com. Большинство проектов с открытым исходным кодом PHP используют протокол MIT.
- По крайней мере, включите файлы ЛИЦЕНЗИЙ в базу кода.
- Вы также можете рассмотреть возможность добавления своего протокола авторизации в Docblocks.
14. Приветствую ваш вклад
- Если вы хотите помочь улучшить проект, вы должны запросить дополнительные взносы!
- Существует ВСПОМОГАТЕЛЬНЫЙ документ, в котором перечислены участники.
- Используйте этот документ для объяснения требований к среде проекта, таких как среды тестирования.
Для получения более современных знаний о PHP перейдите в сообщество знаний Laravel/PHP