php开发composer拓展包第一节

虽然说扩展包并没有什么强制的规定一定要如何组织代码,但是我们推荐根据业界约定俗成的结构:

weather/├──.editorconfig# 编辑器配置文件,比如缩进大小、换行模式等├──.gitattributes# git 配置文件,可以设计导出时忽略文件等├──.gitignore# git 忽略文件配置列表├──.php_cs# PHP-CS-Fixer 配置文件├──README.md    ├── composer.json├── phpunit.xml.dist├── src│  └──.gitkeep└── tests    └──.gitkeep

上面这个包结构适用于几乎所有的 PHP 扩展包,如果你的扩展包有其它附加内容,也可以自由地做一些调整,只要满足清晰合理即可。

结构说明

src 目录

通常我们将源代码放置到此目录下,文件名与类命名遵循驼峰命名法,目录与命名空间一致。

注意:我们命名空间通常是按包名来的,然后 src 映射到驼峰写法的命名空间(例如:包 overtrue/weather 的命名空间为 Overtrue\Weather)。

比如 src\Weather.php 文件的命名空间为 Overtrue\Weather,类名为 Overtrue\Weather\Weather。

代码组织结构请符合 PSR-4 规范。

tests 目录

用于存放单元测试或者功能测试的测试用例代码,与 src 组织规则基本一致。

.editorconfig 文件

EditorConfig 的配置文件,EditorConfig 是一套用于统一代码格式的解决方案,很多项目都有用到,比如 Laravel、jQuery、Underscore 和 Ruby 等等。

EditorConfig 可以帮助开发者在不同的编辑器和 IDE 之间定义和维护一致的代码风格。EditorConfig 包含一个用于定义代码格式的文件和一批编辑器插件,这些插件可以让编辑器读取配置文件并依此格式化代码。EditorConfig 的配置文件十分易读,并且可以很好的在 VCS(Version Control System)下工作。

简单的说就是,这个配置文件定义了一些规则,比如 PHP 缩进是用空格还是用 Tab。它会被现代的编辑器所识别并应用(部分编辑器可能需要安装对应的插件,请参考 EditorConfig 官网 )使用。

.gitattributes

Git 的属性配置文件,你可以对个别文件或目录定义不同的合并策略,让 Git 知道怎样比较非文本文件,在你提交或签出前让 Git 过滤内容。你将在这部分了解到能在自己的项目中使用的属性,以及一些实例。更多请参考:《自定义 Git - Git 属性》- git-scm.com

.gitignore

Git 忽略文件列表配置文件,将不需要纳入版本控制的文件或者目录按行配置在该文件即可。

.php_cs

代码格式修复工具 PHP-CS-Fixer 配置文件,它可以按配置的标准自动修复代码格式,以及统一文件头注释等非常多的功能。

README.md

项目说明文档,一份项目介绍与使用指引,维护状态授权方式等。

composer.json

Composer 配置文件。

phpunit.xml.dist

PHPUnit 配置文件,指定测试目录与测试环境变量等,具体内容请参考官方文档:《组织测试:用 XML 配置来编排测试套件》- PHPunit。

.gitkeep

如果一个目录为空,我们是无法纳入到版本控制中的,所以我们创建了一个随意命名(最好还是按业界通用做法命名为 .gitkeep)的隐藏文件来保证 目录不为空

你可能感兴趣的:(php开发composer拓展包第一节)