繁体   English   中英

如何在控制器中使用来自route.php的变量

[英]How to use variable from routes.php in controller

在CakePHP中,有一堆唯一的URL名称在routes.php文件中重定向。 与此类似:

$beautiful_urls[0] = '/view/location-name/image-name.html';
Router::connect($beautiful_urls[0], 
                array('controller' => 'Foo','action' => 'bar',3,60));

我想基于美化的名称创建like按钮的facebook。 为了做到这一点,我需要在Foo控制器的routes.php中使用$beautiful_urls变量。

我如何从控制器访问routes.php中的变量? 到目前为止,我尝试将其与App::use('routes','Config');链接起来App::use('routes','Config'); 但它不起作用。 我还考虑过将值作为动作参数发送,但这似乎不是一个好习惯……我知道将配置文件与控制器的逻辑混合并不是一个好主意,但到目前为止我还没有更好的主意。

我不是cakephp用户,但简单的搜索显示有一个名为ClassRegistry的类。

您可以创建类BeautifulUrls并将其存储在此处。 根据文档,它是单例,并且可以从任何地方访问。

另外,您可以使BeautifulUrls实现ArrayAccess接口,从而不必更改路由

我不知道这是否是一个好习惯,但是我的解决方案是使用CakePHP的Configure类。 它易于使用,并且可以在代码和配置文件中的任何位置访问。

您可以使用

Configure::write('key','value');

并再次阅读

Configure::read('key');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM