如何覆盖laravel 4中的link_to_route?

时间:2014-10-17 03:22:51

标签: php laravel laravel-4

我用

link_to_route('route.name', $title, $parameters = array(), $attributes = array());

生成HTML标记。比如

link_to_route('page', 'I am a dog', array('id'=> '12'), $attributes = array());

现在,我尝试做一些预处理。我有一个映射表,用于保存页面ID和别名。 例如12 => dog, 13 => cat

因此,示例链接实际上将转移到

link_to_route('dog', 'I am a dog', array('id'=> '12'), $attributes = array());

有人能给我一个如何覆盖方法的提示吗? 由于我不想修改照明助手文件中的代码,我需要一种更优雅的方式。

感谢。

2 个答案:

答案 0 :(得分:0)

我认为唯一的方法是在加载辅助函数之前定义这样的函数。因此,如果您不想使用Laravel功能来创建此功能,您甚至可以在文件开头和Laravel中public/index.php(或者当然包括实现此方法的文件)创建它。显然不会覆盖它。

答案 1 :(得分:0)

您可以在任何地方重新定义自己的link_to_route(),并在composer.json中添加该脚本。如果存在link_to_route,则会对其进行测试,以免造成任何问题。

您可以修改link_to_route()

上的vendor/illuminate

或者您可以定义另一个使用linkRoute的函数,并使用它的响应来制作您自己的HTML。

希望有所帮助。