新Zend_Loader_Autoloader没有找到的文件
-
18-09-2019 - |
题
我刚刚升级,从苏1.7到苏1.9, 几乎 一切正常...除了动加载器。
老:
require_once('Zend/Loader.php');
Zend_Loader::registerAutoload();
新:
require_once 'Zend/Loader/Autoloader.php';
$loader = Zend_Loader_Autoloader::getInstance();
$loader->registerNamespace('MySiteName_');
$loader->setFallbackAutoloader(true);
文件我需要自动加载多是没有名称空间(因为这是一个大项目从预命名空间).他们在下面的目录:
- /application/控制器
- /common/模型
- /图书馆
- /供应商
该网站似乎正常工作除外,它找不到/library/Form.php
它使用的可能,但现在不是了。它的工作如果我补充一require_once'library/Form.php',但这不应该是必要的,并且我担心如果我开始这样做,在一些地方,我需要放弃自动加载和硬代码所包括。我想添加"setFallbackAutoloader(true)",结合具有"图书馆"在我的包括路径会修好它,但是它没有。
我的包括路径是:
.:/用户/lofye/Documents/htdocs/mysitename/供应商
:/用户/lofye/Documents/htdocs/mysitename/共同的
:/用户/lofye/Documents/htdocs/mysitename/common/模型
:/用户/lofye/Documents/htdocs/mysitename/图书馆
:/用户/lofye/Documents/htdocs/mysitename
任何帮助极大的赞赏!
解决方案
你说它的工作如果你这样做:
require_once 'library/Form.php';
但是,如果你的路径图书馆为包括在内,那么你应该可以指定,作为自动装不是这样的:
require_once 'Form.php';
试试打字require_once'Form.php';成你的剧本。不弹?然后,你的包括路径不具备/库,这将需要修复。
其他提示
你自动加载只是要尝试装类开始 MySiteName_
.尝试加入 Form
作为一名空间吗?
$loader->registerNamespace('Form');
这类名称的内部文件 library/Form.php
应 Form
.你有什么类的名字吗?
我测试这里是工作的罚款。