2014-10-17 61 views
0

我用如何覆盖laravel 4中的link_to_route?

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()); 

谁能给我一个提示如何覆盖的方法? 因为我不想修改照明帮助程序文件中的代码,所以我需要更优雅的方式。

谢谢。

回答

0

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

0

您可以在任何地方重新定义自己的link_to_route(),然后在composer.json中添加该脚本。 link_to_route被测试,如果存在,所以你不会导致任何问题。

您可以编辑link_to_route()其住在vendor/illuminate

或者你可以定义一个使用linkRoute另一个功能,使用它的响应,使自己的HTML。

希望有所帮助。