PHP 命名空间和灵活的文件夹结构

标签 php namespaces

我让我的用户更改系统文件夹的名称。我也在它的类中使用命名空间。系统文件夹的名称保存在全局常量中。

自动加载根据 namespace 搜索文件。

所以,假设我有一个名为 system 的文件夹和一个类:

\Project_Name\System\Something;

用户将此文件夹更改为“something_else”。命名空间将与文件夹结构不匹配,并且不会加载该类。

有什么办法可以防止这种情况吗?也许在命名空间的名称中使用常量?

还有一个问题:

自动加载的类的名称是否总是以“\”开头?即使该类属于某个相对命名空间?

最佳答案

不要让他们
如果您的库依赖于 PSR-0(或任何其他)命名空间模式,请让您的用户知道他们 不能 更改文件夹名称或库将无法工作。
如果他们更改了文件夹名称——那是他们要解决的问题,而不是你要解决的问题。

关于PHP 命名空间和灵活的文件夹结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13609810/

相关文章:

php - wordpress get_post_meta 不在循环中工作

php - 极慢的 MySQL 查询

delphi - Delphi中类名相同的两个单元中的两个类

c++ - 在命名空间中使用指令导致的错误示例

c++ - 有没有办法在 C 头文件中禁用全局标识符?

php - 使用查询填充 Moodle 表单中的选择元素

php - 如何在更新页面时保留当前选项卡?

php - PHP 中的静态类是不好的做法吗?

c++ - 错误 : "Function" is not a Non static data member or base class of "Class"

java - 更改 jaxb 中对象的命名空间