【发布时间】:2015-07-06 09:22:49
【问题描述】:
我想访问一个名为“视频”的文件夹。它与图像/脚本等平行放置。我可以从控制器将基本 url 发送到变量中,但这没有意义。有没有办法可以访问模板/视图中的文件夹?
【问题讨论】:
标签: php model-view-controller web lithium
我想访问一个名为“视频”的文件夹。它与图像/脚本等平行放置。我可以从控制器将基本 url 发送到变量中,但这没有意义。有没有办法可以访问模板/视图中的文件夹?
【问题讨论】:
标签: php model-view-controller web lithium
要生成基本 URL,您可以使用 $this->url("/"),但对于资产路径,有 $this->path("/"),它与 Media 类挂钩。通常这些值是相同的,但Media 允许您拥有更复杂的资产配置,并且path() 使您生成的路径与之同步。
【讨论】:
$this 指的是lithium\view\Renderer 的一个实例,url() 和path() 函数在_init() 方法中定义。见li3.me/docs/lithium/template/view/Renderer::_init()。当您在模板中调用$this->path() 时,它会调用Renderer::__call(),它找到$this->handlers['url'] 并调用它,它调用Media::asset(),它调用Media::filterAssetPath() 并最终调用Media::path()。过滤器和依赖注入的所有钩子使 li3 源代码有点难以理解,但它们是有目的的。