2013-05-15 22 views
0

试图使用Cakephp Naming Conventions命名我的视图文件。CakePHP:包含文件名下的下划线不起作用的视图

这里是我的控制器(/app/Controller/CallbacksController.php):

<?php 
App::uses('AppController', 'Controller'); 

class CallbacksController extends AppController { 

    public function googlePlus() { 

    } 
} 

?> 

我已经叫我的看法/app/View/Callbacks/google_plus.ctp。

当我尝试去那个观点与http://mycakephpapp.dev/callbacks/google_plus.ctp,它提供了以下错误:

Missing Method in CallbacksController

Error: The action google_plus is not defined in controller CallbacksController

Error: Create CallbacksController::google_plus() in file: app\Controller\CallbacksController.php.

如果我重新命名视图googleplus.ctp,它工作得很好。

任何人都可以阐明为什么这个特定的命名公约不起作用吗?

+0

您打开的网址指的是一个名为'google_plus'的方法 如果您将url更改为'http:// mycakephpapp.dev/callbacks/googlePlus',则所有内容都应按预期工作。 如果你想以你的方式使用它,我认为你应该用'Router'类创建一些路由。 – noslone

+1

按照惯例,它应该是'公共函数google_plus(){}'。然后您的视图文件也将被正确命名(google_plus.ctp)。 – mark

回答

0

通过Cake标准,视图和函数都应该命名为google_plus。

+0

直接引用CakePHP的命名约定:“视图模板文件是以它们显示的控制器函数命名的,其格式为下划线。PeopleController类的getReady()函数将在/ app/View/People/get_ready中查找视图模板.ctp。 基本模式是/app/View/Controller/underscored_function_name.ctp。“我只是读这个错误? –

+0

这让他们很难说出口。但保持行动名称和视图名称是一样的。 –