Laravel web.php路由文件中的@符号

时间:2017-02-13 22:08:39

标签: php laravel laravel-5

' @'到底是什么?标志代表laravel路线文件web.php
例如:Route :: get(' /',' HomeController @ index');?请不要告诉我这段代码我已经知道了什么。但问题是为什么@符号? 在' @' sign不是方法,而是索引。那么这个@符号的名称是什么?它到底是做什么的?我只是好奇地知道为什么??? @符号。

1 个答案:

答案 0 :(得分:2)

评论主要涵盖了它,但我会添加一些注释,因为我认为这是一个有趣的问题。

技术用途

通过查看源代码,我们可以看到,它只是一个很好的''explode语句,将Controller与方法分开:

  

继续发表评论   如果绑定具有@符号,我们将假设它用于分隔   绑定方法名称中的类名。这允许绑定   为方便起见,在单个类中运行多个绑定方法。

        $segments = explode('@', $binding);

在技术方面,@ JeffLambert提到的“为什么”是不是类或方法名称的有效字符的任何字符都可以用作分隔符。

非技术

正如@aynber所提到的,你需要让开发人员得到一个具体的猜测。但是我会冒一个(非常合理的)猜测:

@通常用于编辑器中以标记方法。例如,在sublime中,打开命令面板并键入@,它将显示当前类/文件中所有方法的列表:

enter image description here

我还认为它读起来非常自然。在controller使用this method“。