使用Zend在视图中创建额外的文件夹?

时间:2010-12-07 19:45:53

标签: zend-framework controller directory

使用默认结构:

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创建控制器?另外,你扩展了哪个控制器,你如何命名?

2 个答案:

答案 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()
{
}
  • 您的网址将是: 的索引/显示用户从 - 空间
  • 和您的视图脚本: 的 /views/index/show-users-from-space.phtml