cakephp:管理路由问题:解析错误:语法错误,意外'/',期待'(''

时间:2010-10-08 14:31:00

标签: php cakephp cakephp-1.3

我试图为我的控制器帖子创建一个管理员,我使用蛋糕控制台选项创建控制器,我输入Y代表问题“需要管理员路由?”,我输入Y并且我编写了带有管理功能的控制器,我的一个管理功能看起来像这样

function admin/controller_view($id = null) {
    if (!$id) {
        $this->Session->setFlash(__('Invalid post', true));
        $this->redirect(array('action' => 'index'));
    }
    $this->set('post', $this->Post->read(null, $id));
}

但是当我执行时,我收到以下错误

  

解析错误:语法错误,意外   '/',期待'('in   C:\ XAMPP \ htdocs中\蛋糕\博客\程序\控制器\ posts_controller.php   在第61行

我正在使用cakephp 1.3,我该怎么做才能为这个控制器创建一个管理面板?

很多人

5 个答案:

答案 0 :(得分:3)

斜杠/不是函数名称中使用的有效字符,例如admin/controller。这就是错误存在的原因。您应该删除斜杠并根据CakePHP的函数命名约定重命名该函数。

答案 1 :(得分:0)

你在core.php中设置了什么作为管理路由..似乎你有'admin /'它应该只是'admin'

答案 2 :(得分:0)

基于在蛋糕中创建管理路由,如果您尝试通过访问mysite.com/admin/posts来访问管理路由,那么该功能应该显示为admin_view(),而不是admin / controller_view() 。不幸的是,我不知道会导致这种情况,但是通过访问mysite.com/admin/posts/view,您可以通过更正来访问管理面板。如果这不起作用,你可以发布routes.php的内容吗?

答案 3 :(得分:0)

托马斯,你可能误解了蛋糕文档中的某些内容。以下是它的工作原理:

如果您要求/posts/view蛋糕查找PostsController::view()

如果您已启用管理员路由(即“prefix routing”),并要求/admin/posts/view,则蛋糕会查找PostsController::admin_view()

注意它在同一个控制器中

当然,您还需要一个额外的视图文件admin_view.ctp

起初可能有点混乱,但不要担心,你会到达那里! ;)

答案 4 :(得分:-1)

在config文件夹中的路由文件中,你可以使用类似这样的东西

Router::connect('/admin', array('controller' => 'admins', 'action' => 'index'));

你的管理员控制器应该是这样的

class AdminsController extends AppController 
{
    var $name = 'Admins';
    var $components = array('Email','Session','RequestHandler','Cookie');
    var $uses = array('Admins', 'Setting', 'Movie', 'User', 'Invitation', 'Purchase','Package');


    function admin_index() 
    {
        $this->layout = 'admin_default';
    }
}

现在您可以打开管理员:mysite.com/admin/admins。

定义函数时不必使用“/”。希望这个帮助