我从PHP 4开始构建我的代码库.我习惯于require_once导入类.现在使用PHP 5.3,我遇到了定义名称空间并导入它们.
我想更改我的源文件以使用导入(use语句)而不是使用require_once.这是正确的决定,我不确定.
我想这很容易.在类文件的顶部定义命名空间,并对使用它们的其他文件进行搜索和替换(替换require_once为use).在练习可能出错的地方?
是否会有性能提升?在包含文件时,很明显PHP如何找到该文件.但是在导入名称空间时,这并不是那么明显.在搜索命名空间并通过PHP索引它们时是否存在性能损失?
Bet*_*ide 24
use并且require_once是完全不同的东西.use根本没有进行任何文件导入.use只是让你的生活更轻松 Full\Path\To\Class你可以做,而不是每次都写
use Full\Path\To\Class
$bar = new Class();
Run Code Online (Sandbox Code Playgroud)
您仍然有责任包含正确的文件.
您可以依靠PHP自动类加载,而不是手动加载所有文件.
您可以使用像Symfony 2或Zend2这样的Composer或Frameworks 来处理所有自动加载的内容.
迁移现有代码以使用自动加载和use语句代替include_once可能非常耗时.很可能没有搜索和替换解决方案.