- 在文件和命名空间中组织代码
在文件和命名空间中组织代码
在 php 中, 您可以将代码放置在任何文件中, 而不需要特定的结构。 在 Zephir中, 每个文件都必须包含一个类 (并且只有一个类)。 每个类都必须有一个命名空间, 并且目录结构必须与所使用的类和命名空间的名称相匹配。 (这类似于 psr-4 自动加载约定, 只是它是由语言本身强制执行的。
例如, 给定以下结构, 每个文件中的类必须是:
mylibrary/
router/
exception.zep #
router.zep # MyLibrary\Router
Class in mylibrary/router.zep
:
namespace MyLibrary;
class Router
{
}
Class in mylibrary/router/exception.zep
:
namespace MyLibrary\Router;
class Exception extends \Exception
{
}
如果文件或类不在预期文件中, 则 Zephir 将引发编译器异常, 反之亦然。