简单的问题。为什么使用require_once
包含您在文件中使用的类?例如,如果我创建一个扩展Zend_Db_Table_Abstract
的类,我实际上并不需要 来在类声明文件中使用它:
require_once "Zend/Db/Table/Select.php";
无论如何它们都包含在自动装载机中。明确宣布“进口”是否有性能提升?是单元测试吗?
答案 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";
等文件插入数组,不要使用它(或者不需要使用它)。