什么是:在php中?
我在laravel中的routes.php中出错,键入了什么是:在php中?,php,Php,我在laravel中的routes.php中出错,键入了:,而不是: Route:get('about','PagesController@about'); Route:get('contact','PagesController@contact'); 我收到了一条错误消息标签“路线”已经定义 只是想知道这意味着什么…您应该使用路由,而不是路由。(注意,不应该有S)您已经发现标签S!它们在很大程度上是一种过时的、通常不受欢迎的语言结构,允许通过goto语句以及其他依赖于语言的语句在代码之间跳跃
:
,而不是:
Route:get('about','PagesController@about');
Route:get('contact','PagesController@contact');
我收到了一条错误消息标签“路线”已经定义
只是想知道这意味着什么…您应该使用
路由
,而不是路由
。(注意,不应该有S)您已经发现标签
S!它们在很大程度上是一种过时的、通常不受欢迎的语言结构,允许通过goto
语句以及其他依赖于语言的语句在代码之间跳跃
例如:
if (!array_key_exists('data', $_GET)) { goto hell; }
echo $_GET['data'] . " is the data I received.";
hell:
die("Erorr. . . or we finished. Who knows?");
然而,有些(半合法的)功能是可以实现的。尽管如此,这仍然不是一个好的做法:
for ($i = 0; $i < 999; $i++) {
for ($j = 0; $j < 999; $j++) {
for ($k = 0; $k < 999; $k++) {
if ($someCondition)
goto EndOfAllTheLoops; //Look, we broke out of ALL three loops!
}
}
}
EndOfAllTheLoops:
echo "We made it out!"
($i=0;$i<999;$i++)的{
对于($j=0;$j<999;$j++){
对于($k=0;$k<999;$k++){
如果($someCondition)
goto EndOfAllTheLoops;//看,我们打破了所有三个循环!
}
}
}
内落球:
echo“我们成功了!”
请参阅PHP文档:这就是我所说的。自从我回复后,原来的帖子已经被编辑过了,因为它有
Routes
。我的视力很差,但没有看到一个冒号,这对语法问题也没有帮助。对不起,我没问题。无论如何,这并没有解决所问的问题@KA_linIt解决了自编辑以来的原始问题。抱歉,这是一个拼写错误,我知道静态方法…所以你例子中的单个冒号不是一个拼写错误?不@samrap这是个问题,我想这是CollinD回答的,当系统允许我时我会接受…我很好奇,你是在哪里遇到这个例子的?一定是打字错误。正如@max所指出的,您不能使用gotoI调用一个方法,因为它错误地编写了第一个路由:get
,并且它实际上起了作用。。。错误发生在我添加第二条路由时……我认为这不是OP所问的,他的示例直接来自Laravel框架,该框架不使用goto
,并使用Route::method
定义应用程序的路由,你不能通过EndOfAllTheLoops:foo
调用一个方法,这使得它更能理解代码的意图。看起来OP很快就发现了错误,相反,他很好奇单个冒号的实际效果是什么@俄瑞斯提斯clarify@CollinD你是对的。。。抱歉,如果问题模棱两可,他的答案不完整(编辑:意识到他们甚至把它放在PHP文档中-我是个傻瓜)