PSR-2。什么时候大写目录?
PSR-2. When to capitalize directories?
据我了解,根据 PSR-2 标准,我们应该将包含 类 的目录名称大写。但是如果该目录还包含一些其他文件,例如样式和脚本怎么办?
假设我有一个插件目录,每个插件都可以包含模板和其他东西:
plugins
PluginName // lowercase?
PluginName.php // Contains base class "PluginName"
templates
home.tpl
css
css.css
js
js.js
PluginName2
....
这个结构正确吗?
PHP.
中的结构应该是什么样子,没有明确定义的方式
我什至认为目录名不必大写。
但是,任何包管理器 (Composer) 都可以处理插件或任何依赖项吗?
据我所知,你的结构看起来非常好。
您可以随意命名您的目录。
但是,如果您打算使用 PSR-0 或 PSR-4 自动加载 PHP classes,则相关 class 名称部分涉及的目录名称必须完全匹配。
PSR-2 不做任何假设或不给出和规定class名称或命名空间必须具有的情况。
PSR-1 确实在 chapter 3 中声明:"Class names MUST be declared in StudlyCaps." 然而,这只会影响包含此类 class 的文件的文件名。如果您正在使用 PSR-4 自动加载,如果您为每个包含代码的目录定义一个 Name\Space -> directory/for/that/namespace
的完整映射,您仍然可以完全避免在路径中使用名称空间的任何部分。
PSR-1 没有关于命名空间格式的任何规则,因此您也可以避免在那里使用大写字母,因此避免在目录路径中使用大写字母。
请注意,在将 namespace/classname 映射到文件系统路径和文件时,PSR-0 和 PSR-4 自动加载都区分大小写。所以最后,无论如何你都会有一个区分大小写的文件系统布局。
另请注意,大多数命名空间也使用 StudlyCaps,我认为使用小写字母是不常见的。
据我了解,根据 PSR-2 标准,我们应该将包含 类 的目录名称大写。但是如果该目录还包含一些其他文件,例如样式和脚本怎么办?
假设我有一个插件目录,每个插件都可以包含模板和其他东西:
plugins
PluginName // lowercase?
PluginName.php // Contains base class "PluginName"
templates
home.tpl
css
css.css
js
js.js
PluginName2
....
这个结构正确吗?
PHP.
中的结构应该是什么样子,没有明确定义的方式我什至认为目录名不必大写。
但是,任何包管理器 (Composer) 都可以处理插件或任何依赖项吗?
据我所知,你的结构看起来非常好。
您可以随意命名您的目录。
但是,如果您打算使用 PSR-0 或 PSR-4 自动加载 PHP classes,则相关 class 名称部分涉及的目录名称必须完全匹配。
PSR-2 不做任何假设或不给出和规定class名称或命名空间必须具有的情况。
PSR-1 确实在 chapter 3 中声明:"Class names MUST be declared in StudlyCaps." 然而,这只会影响包含此类 class 的文件的文件名。如果您正在使用 PSR-4 自动加载,如果您为每个包含代码的目录定义一个 Name\Space -> directory/for/that/namespace
的完整映射,您仍然可以完全避免在路径中使用名称空间的任何部分。
PSR-1 没有关于命名空间格式的任何规则,因此您也可以避免在那里使用大写字母,因此避免在目录路径中使用大写字母。
请注意,在将 namespace/classname 映射到文件系统路径和文件时,PSR-0 和 PSR-4 自动加载都区分大小写。所以最后,无论如何你都会有一个区分大小写的文件系统布局。
另请注意,大多数命名空间也使用 StudlyCaps,我认为使用小写字母是不常见的。