需要基于Zend Framework的库中的类

时间:2009-09-03 02:12:44

标签: php zend-framework

简单的问题。为什么使用require_once包含您在文件中使用的类?例如,如果我创建一个扩展Zend_Db_Table_Abstract的类,我实际上并不需要 来在类声明文件中使用它:

require_once "Zend/Db/Table/Select.php";

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

2 个答案:

答案 0 :(得分:6)

简单答案:如果您不使用自动加载器,则功能不会中断。

如果您知道自己将使用自动加载器,则无需在项目中执行此操作,但如果您正在使用其他开发人员也将使用的框架(如Zend),您将需要以最少的兼容性问题具有可重用性,因此您确实应该要求显式依赖。

另一个好处是,它可以帮助您了解您的课程何时依赖于太多其他课程。这有助于您在设计对象时将coupling降至最低。

来自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';

答案 1 :(得分:0)

您可以在IDE中删除这些调用,将“require_once”替换为“// require_once”,require_once只应用于类加载。其他,例如从$file = include "test.php";等文件插入数组,不要使用它(或者不需要使用它)。