我正在尝试使用 Zend 框架创建一个网站,因为我听说它非常好,我想尝试使用框架,但是我有一个简单的问题让我发疯。
我想用静态内容制作一个简单的 mywebsite.com/about 页面,因为除了显示 html 之外不需要做任何其他事情。
我创建了一个 About 控制器,与它关联的 phtml,但是当我尝试转到 /about 时,我收到一个 404 错误,然后是:
The requested controller could not be mapped to an existing controller class.
Controller:
not-found(resolves to invalid controller class or alias: not-found)
所以我检查了我的路由文件:
'router' => array(
'routes' => array(
'about' => array(
'type' => 'segment',
'options' => array(
'route' => '/about',
),
'defaults' => array(
'controller' => 'About\Controller\About',
'action' => 'index',
),
),
),
),
所以如果我没记错的话,这应该调用我制作的 About 控制器,但无法找到问题所在。
如果有人可以帮助我了解我错过了什么或 Zend 没有得到什么,我将非常高兴。
编辑: Zend 的版本是 2.x,如果这改变了任何东西
#编辑 2:感谢 James Kent 的帮助,我找到了解决方案
我的路由文件似乎是错误的,这是新的:
'router' => array(
'routes' => array(
'about' => array(
'type' => 'Literal',
'options' => array(
'route' => '/about',
'defaults' => array(
'__NAMESPACE__' => 'About\Controller',
'controller' => 'About',
'action' => 'index',
),
),
),
),
),
我还必须更改 About 控制器的 indexAction:
class AboutController extends AbstractActionController
{
public function nolayoutAction() {
$viewModel = new ViewModel();
//$viewModel->setTerminal(true); Uncomment to disable the layout
return $viewModel;
}
public function indexAction()
{
$viewModel = $this->nolayoutAction();
return $viewModel;
}
}
我希望它会帮助一些人。