pds/skeleton PHP 扩展架构规范(扩展开发必读)

翻译 Summer ⋅ 于 3个月前 ⋅ 830 阅读 ⋅ 原文地址
这是一篇社区协同翻译的文章,已完成翻译,更多信息请点击 协同翻译介绍

file

pds/skeleton

项目地址:https://github.com/php-pds/skeleton

本文描述了所有适用于 PHP 包的标准文件系统框架。

请查阅 https://github.com/php-pds/skeleton_research 获取背景资料。

用于 验证生成 符合 PDS 标准包的命令行工具说明 在此

关键词 "必须","一定不可","需要","将要", "将不","应该",
"不该","推荐","可以",和 "可选" 在本文中描述语义遵循 RFC 2119 标准。

wilson_yang 翻译于 3个月前

概览

一个包在根级别下的目录必须使用如下名称:

如果一个包中含有根级别的目录 ... ... 那么它们必须命名如此:
命令行可执行文件 bin/
配置文件 config/
文档 docs/
web服务器文件 public/
其他资源文件 resources/
PHP 源码 src/
测试代码 tests/

一个包在根级别下的文件必须使用如下名称:

如果一个包中含有根级别的文件... ... 那么它们必须命名如此:
发布版本间的更新日志 CHANGELOG(.*)
参与者指南 CONTRIBUTING(.*)
证书许可 LICENSE(.*)
包简介 README(.*)

一个包应该包含一个根级文件,表明许可和
包内容的版权条款。

wilson_yang 翻译于 3个月前

根级目录

bin/

如果一个包提供一个根级目录用来存放命令行可执行文件,则它必须被命名为 bin/

本文将不再另外定义该结构和内容目录。

config/

如果一个包提供一个根级目录用来存放配置文件,则它必须被命名为 config/

本文将不再另外定义该结构和内容目录。

docs/

如果一个包提供一个根级目录用来存放文档,则它必须被命名为 docs/

本文将不再另外定义该结构和内容目录。

wilson_yang 翻译于 3个月前

public/

如果一个包提供一个根级目录用来存放 web 服务器文件,则它必须被命名为 public/

本文将不再另外定义该结构和内容目录。

注: 这个目录可以作为 web 服务器文档的根目录。
另一种方式,这些文件可以被其他代码动态提供,
复制或者创建符号链接到「真正」的文档根目录,
或以其他方式管理,以便它们在网上流通。

resources/

如果一个包提供一个根级目录用来存放其他资源文件文件,则它必须被命名为 resources/

本文将不再另外定义该结构和内容目录。

wilson_yang 翻译于 3个月前
rayle 审阅

src/

如果包为 PHP 源代码提供了一个根目录, 则必须被命名为 src/.

此发布版本不额外定义结构和目录内容。

tests/

如果包为测试文件提供了一个跟目录,则必须被命名为 tests/.

此发布版本不额外定义结构和目录内容。

BradStev 翻译于 3个月前

其他文件夹

包还可以包含其他本文未涉及的根级目录。

本文将不再另外定义该结构和内容目录。

根级文件

更新日志

如果包提供一个根级文件用于描述上个发布版本以来的更新列表,则该文件必须被命名为 CHANGELOG

可以有一个小写的文件扩展名。

本文将不再另外定义该结构和内容目录。

wilson_yang 翻译于 3个月前

参与贡献

如果一个包提供一个根级文件用来描述如何向它贡献代码,则该文件必须被命名为 CONTRIBUTING

可以有一个小写的文件扩展名。

本文将不再另外定义该结构和内容目录。

证书

在拷贝当前包代码时,使用者可能会违反版权法中未经许可的知识产权条款, 当前包应该包含一个根级文件用以表明包裹内容的许可和版权条款。

如果一个包提供一个根级文件用以表示许可和版权条款,则该文件必须被命名为LICENSE

可以有一个小写的文件扩展名。

本文将不再另外定义该结构和内容目录。

wilson_yang 翻译于 3个月前

README 文件

如果包提供一个关于他自身信息的根级文件,则必须被命名为 README

他可能有一个小写的文件扩展名代表文件格式。

此发行版不额外定义结构和目录内容。

其他文件

包中可能包含其他根级文件来说明未在发行版中描述的目的。

此发行版不去定义结构和其他根级文件的内容。

BradStev 翻译于 3个月前

原文地址:https://github.com/php-pds/skeleton/tree...

译文地址:https://laravel-china.org/topics/9875/pd...


本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

本帖已被设为精华帖!
回复数量: 0
    暂无评论~~
    您需要登陆以后才能留下评论!

    Composer 中国全量镜像

    Top 100 扩展包

    Lumen 中文文档

    Laravel 速查表

    Laravel 中文文档

    Laravel 项目开发规范

    Laravel 开发环境部署

    Elasticsearch-PHP 中文文档

    Lumen 中文文档

    GraphQL PHP 中文文档

    社区文档撰写指南

    TDD 构建 Laravel 论坛笔记

    PHP PSR 标准规范

    PHP 设计模式全集

    Dingo API 中文文档