使用默认结构:
application
- controllers
- - IndexController.php
- models
- views
- - scripts
- - - index
- - - - index.phtml
- - - - create.phtml
我的controllers文件夹中的IndexController.php如下所示:
class IndexController extends Zend_Controller_Action { ... }
如果我想在里面添加一个文件夹:
application
- controllers
- - IndexController.php
- models
- views
- - scripts
- - - index
- - - - posts
- - - - - index.phtml
- - - - - create.phtml
- - - - index.phtml
- - - - create.phtml
我在什么路径和文件名中为我的帖子indexAction和createAction创建控制器?另外,你扩展了哪个控制器,你如何命名?
答案 0 :(得分:1)
当您创建新操作(即:postsAction()
)时,您需要在控制器视图脚本目录中创建一个与您的操作名称相匹配的文件(在这种情况下postsAction()
存在于{{ 1}})
所以你需要的是:
indexController
如果您想要一个结构,以便拥有application
- controllers
- - IndexController.php
- views
- - scripts
- - - index
- - - - posts.phtml
- - - - index.phtml
- - - - create.phtml
或/posts/index
,那么您可能希望拥有一个/posts/create
,其中包含的内容如下所示:
postsController
如果您希望application
- controllers
- - IndexController.php
- - PostsController.php
- models
- views
- - scripts
- - - index
- - - - index.phtml
- - - - create.phtml
- - - posts
- - - - index.phtml
- - - - create.phtml
作为/index/posts-create
中的操作,您需要这样的目录结构 - note :当您对camelCase使用某个操作时({{1 }})zend框架将其转换为全部小写,并使用短划线表示URL和视图脚本。
indexController
您可能还希望包含默认postsCreateAction()
- 将来会有所帮助。
答案 1 :(得分:0)
如果你定义你的行动camelCase,如:
public function showUsersFromSpaceAction()
{
}