Zend framework Zend Library中同名文件和文件夹的用途是什么?
如果打开zend库,您可以看到名为Acl的文件夹以及Acl.php&zend的其他库也是如此。 我想知道Zend为什么这么做?? 这背后的逻辑是什么?这是因为:Zend framework Zend Library中同名文件和文件夹的用途是什么?,zend-framework,Zend Framework,如果打开zend库,您可以看到名为Acl的文件夹以及Acl.php&zend的其他库也是如此。 我想知道Zend为什么这么做?? 这背后的逻辑是什么?这是因为: 类的命名约定 类文件名(路径)关系的约定 如果您有一个与其他类相关的类,那么相应地命名它们是合乎逻辑的,例如Zend\u Form\u Element和Zend\u Form 现在我们来讨论类名和文件名/路径之间的关系。因为规则很简单:用文件路径中的/替换类名中的\,最后得到: Zend\u Form->Zend/Form(.php)
Zend\u Form\u Element
和Zend\u Form
现在我们来讨论类名和文件名/路径之间的关系。因为规则很简单:用文件路径中的/
替换类名中的\
,最后得到:
Zend\u Form
->Zend/Form
(.php)
及
Zend\u Form\u Element
->Zend/Form/Element
(.php)
这就是您获取文件
Form.php
和目录Form
的方式,这样您就不需要编写代码require\u once'Zend/Acl.php'
Zend在spl自动加载器堆栈上注册其自动加载器。当你这样做的时候
$acl = new Zend_Acl();
没有要求或包括。Php要求Zend autoloader找到可以找到Zend_Acl类定义的文件。Zend autoloader的回应是将输入“Zend_Acl”替换为带有目录分隔符的“”
,并在末尾添加“.php”扩展名,然后执行include('Zend/Acl.php')代码>本身
由于库目录是php包含路径的一部分,因此它可以工作。请阅读此内容