【问题标题】:Yii: How do I find out which views, controllers, models and styles are being used in a page?Yii:如何找出页面中使用了哪些视图、控制器、模型和样式?
【发布时间】:2016-04-02 12:44:59
【问题描述】:

我是 Yii 的新手,我被要求看一个项目,看看我是否可以添加任何东西。

所以一开始,我想找出某个页面正在播放的文件,即什么控制器、什么视图、什么模型等。一个涉足 Yii 的朋友告诉我,通常可以找到通过 URL 本身,如下所示:

示例:localhost/project/index.php?r=site/index
Site是Controller,index是Action

但是,我看到的项目返回如下 URL:
localhost/cdforum/web/index.php/forum/view/id/1

我的朋友说"the htaccess must've been modified"。我们假设Controller是forum,Action是view

我们不确定这是否准确。并给定一个像这样的项目目录:

我不确定要寻找什么。所以我想问一下,对于上面的URL,有没有办法告诉哪些文件负责输出?

【问题讨论】:

    标签: php yii


    【解决方案1】:

    您通常可以从 url 获取,但不一定是因为路由是在这部分的 config/main.php 文件中定义的:

    array(
        ......
        'components'=>array(
            ......
            'urlManager'=>array(
                'urlFormat'=>'path',
                'rules'=>array(
                    'pattern1'=>'route1',
                    'pattern2'=>'route2',
                    'pattern3'=>'route3',
                 ),
            ),
        ),
    );
    

    检查这个数组的规则键是 url 将有的模式,所以你的模式看起来像

    'forum/view/...' => 'the/real/url'
    

    然后第一个反斜杠之前的东西是控制器,第二个是动作。在该操作中,您将能够找到所使用的模型。

    希望对你有帮助

    【讨论】:

    • 那么,如果一个按钮的标签(来自inspect form)如下:<a href="/cdforum/web/index.php/forum/delete/reply/3/topic/1" id="yt1">Delete</a>,我可以假设控制器是ForumController,而actionDelete是动作?不过,我已经在那里添加了一个没有触发的 echo 语句。
    • @zack_falcon 你可以假设,但它可能不正确。 Yii 为你创建的默认设置是这样的。 index.php/ 之后的第一件事是控制器。但是,您可以在 config/main.php 中修改 url 的外观。因此,寻找看起来像您的 url 的模式作为 url 管理器规则数组的键。该键的值将告诉您使用该模式调用什么操作。如果我不得不猜测它是 actionDelete 或 actionDeleteReply() 接受来自 $_GET 回复 id 和主题 id 的两个参数。
    【解决方案2】:

    我建议你熟悉这个 wiki 页面 http://www.yiiframework.com/wiki/249/understanding-the-view-rendering-flow/

    然后,您可以在页面上显示跟踪日志:

    配置/main.php

    'log'=>array(
        (...)
    
        'routes'=>array(
            (...)
    
            array(
              'class'=>'CWebLogRoute',
              'levels'=>'trace',
            ),
        ),
    ),
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-11
      • 2023-03-02
      • 2016-04-11
      • 2011-09-12
      • 1970-01-01
      • 2012-06-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多