Zend framework netbeans中无效控制器的Zend Framework异常
我在localhost中创建了一个项目,所有请求都被重定向到htdocs/index.php文件。通过链接 php中的代码是Zend framework netbeans中无效控制器的Zend Framework异常,zend-framework,netbeans,Zend Framework,Netbeans,我在localhost中创建了一个项目,所有请求都被重定向到htdocs/index.php文件。通过链接 php中的代码是 require_once 'Zend/Loader/Autoloader.php'; Zend_Loader_Autoloader::getInstance(); $controller = Zend_Controller_Front::getInstance(); echo $controller->getControllerDirectory(); $contr
require_once 'Zend/Loader/Autoloader.php';
Zend_Loader_Autoloader::getInstance();
$controller = Zend_Controller_Front::getInstance();
echo $controller->getControllerDirectory();
$controller->setControllerDirectory('/var/www/TestProject/include/Controllers');
$controller->dispatch();
所有控制器都驻留在include目录中。
我在IndexController.php中创建了一个控制器,另一个是TestController.php
在这些文件中,我创建了两个操作indexAction()和displayAction()
下面是IndexController.php的代码
Class IndexController extends Zend_Controller_Action{
public function indexAction(){
echo "Index Index Jamla";
}
public function displayAction(){
echo "Index Display Jamla";
}
}
现在每当我进入
它显示以下异常
Fatal error: Uncaught exception 'Zend_Controller_Dispatcher_Exception' with
message 'Invalid controller specified (error)' in /usr/share/php/
libzend-frameworkphp/Zend/Controller/Dispatcher/Standard.php:248 `enter code here`
Stack trace: #0 /usr/share/php/libzend-framework-php/Zend/Controller/Front.php(954):
Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http),
Object(Zend_Controller_Response_Http)) #1 /var/www/TestProject/htdocs/index.php(14):
Zend_Controller_Front->dispatch() #2 {main} thrown in /usr/share/php/libzend-framework
php/Zend/Controller/Dispatcher/Standard.php on line 248
thnkx提前获得帮助。我认为在发送请求时引发了异常。然后框架尝试加载
错误
控制器,我猜它不存在于include/Controllers
目录中。这就是消息“指定的控制器无效(错误)”中出现错误的原因
框架抛出异常的原因有很多,但我的第一个猜测是您没有定义任何视图脚本。因此,它们无法加载,这将引发异常
你有两种可能:
- 在适当的位置创建视图脚本。用于索引控制器的索引操作,该操作将是
include/views/scripts/index/index.phtml
。默认情况下,路径是$yourControllerDir。“/../views/scripts/{$controllerName}/{$actionName}.phtml”
(伪代码)
// ... your original code
$controller->setParam('noViewRenderer', true); // disable view rendering
$controller->dispatch();
thnx对于解决方案,它通过在无视图渲染器中设置参数来为我工作