需要基于Zend Framework的库中的类

typ*_*ror 2 php zend-framework

简单的问题.为什么要使用require_once包含在文件中使用的类?例如,如果我创建一个扩展的类Zend_Db_Table_Abstract,我真的不需要在类声明文件中有这个:

require_once "Zend/Db/Table/Select.php";
Run Code Online (Sandbox Code Playgroud)

无论如何,它们都包含在自动装载机中.明确宣布"进口"是否有性能提升?是单元测试吗?

gna*_*arf 6

简单回答:如果您不使用自动装带器,则功能不会中断.

如果您知道自己将使用自动加载器,那么在您的项目中没有必要这样做,但如果您正在使用其他开发人员也将使用的框架(如Zend),您将需要重新启动 - 具有最少量兼容性问题的可用性,因此您确实应该要求显式依赖性.

另一个好处是,它可以帮助您了解您的课程何时依赖于太多其他课程.这有助于在设计对象时将耦合保持在最小.

一个例子来自 Zend/Db/Table/Select.php

/**
 * @see Zend_Db_Select
 */
require_once 'Zend/Db/Select.php';


/**
 * @see Zend_Db_Table_Abstract
 */
require_once 'Zend/Db/Table/Abstract.php';
Run Code Online (Sandbox Code Playgroud)