我有一个名为“olo”的模块,它处理我们所有的在线订购内容。
现在我制作了一个名为“olosec”的新模块,因为我希望制作一个不同的版本,稍微改变一下流程,并在一些控制器中进行一些其他更改。
我可以用“olo”中的控制器扩展“olosec”中的控制器吗?
截至目前我已经尝试过
class Olosec_CartController extends Olo_CartController
这会引发错误
Warning: include_once(Olo/CartController.php): failed to open stream:
No such file or directory in /httpdocs/library/Zend/Loader.php on line 146 Warning:
include_once(): Failed opening 'Olo/CartController.php' for inclusion.
bla bla bla (include path) bla bla bla
我的目录结构是这样的(感谢tree \F \A
和EditPlus++)
+---application
| +---views
| | +---scripts
| | +---layouts
| | | +---default
| | | +---admin
| | +---languages
| | +---helpers
| +---modules
| | +---admin
| | +---mobile
| | +---olo
| | | +---controllers
| | | IndexController.php
| | | MenuController.php
| | | CartController.php
| | | OrderlistController.php
| | | |
| | | +---models
| | | \---views
| | | +---helpers
| | | \---scripts
| | | +---index
| | | +---menu
| | | +---cart
| | | \---orderlist
| | \---olosec
| | +---controllers
| | | IndexController.php
| | | MenuController.php
| | | CartController.php
| | | OrderlistController.php
| | |
| | +---models
| | \---views
| | +---helpers
| | \---scripts
| | +---index
| | +---menu
| | +---cart
| | \---orderlist
| +---models
| +---controllers
| \---configs
+---library
+---public
| +---cli
| \---default
+---tests
\---data
更新
我已经使用了这个“讨厌”的黑客,它有效
require_once( APPLICATION_PATH . '/modules/olo/controllers/CartController.php');
更新@Rakesh
我的引导程序中有这个..
function _initAutoloader() {
$autoloader = Zend_Loader_Autoloader::getInstance();
$autoloader->setFallbackAutoloader(true);
return $autoloader;
}
在我的 application.ini
autoloadernamespaces.0 = "Zend"
autoloadernamespaces.1 = "My"
autoloadernamespaces.2 = "Something"