无PHP基础如何掌握Laravel路由与控制器基础概念?
极简Laravel路由核心(无PHP基础友好)
先搞懂路由最本质的概念
路由就是**「用户访问的网址」和「要执行的代码」之间的映射关系**——就像外卖菜单:你点「黄焖鸡米饭」(对应网址),商家就给你做黄焖鸡(对应执行代码返回内容)。不用纠结PHP底层,先记住这个对应逻辑。
1. 不带参数的路由:固定网址对应固定逻辑
就是用户访问一个固定网址,Laravel执行固定代码返回内容。
比如用户访问 http://你的域名/hello,要返回一句问候语,在Laravel的routes/web.php里写:
// 处理GET请求(浏览器直接敲网址就是GET请求) Route::get('/hello', function () { return '哈喽!这是不带参数的路由返回内容'; });
拆解:
Route::get:指定处理GET类型的请求/hello:用户要访问的网址后缀- 后面的
function(){...}:就是触发后要执行的代码,这里直接返回字符串。
(如果后续用控制器,就是把这个函数换成控制器类名@方法名,本质还是网址对应处理逻辑)
2. 带参数的路由:可变网址传递数据给代码
当你需要根据网址里的可变内容返回不同结果时(比如根据用户ID显示不同用户信息),就用带参数的路由。
比如用户访问 http://你的域名/user/123,要显示ID为123的用户信息,代码写法:
Route::get('/user/{id}', function ($id) { return '当前用户ID是:' . $id; });
拆解:
{id}:是路由的参数占位符,网址里这个位置的内容会被当成参数- 函数里的
$id:Laravel会自动把网址里对应位置的内容传给这个变量(比如访问/user/456,$id就是456) - 你可以用这个参数做实际逻辑,比如查数据库里ID为
$id的用户数据再返回。
可选:限制参数类型
如果想让id只能是数字,加个规则就行:
Route::get('/user/{id}', function ($id) { return '当前用户ID是:' . $id; })->where('id', '[0-9]+'); // 限制id必须是数字
核心总结
不管带不带参数,路由的核心永远是:告诉Laravel「哪个网址要执行哪段代码」,参数只是把网址里的可变数据传递给代码的工具。先把这个对应关系搞懂,再去碰控制器、PHP基础都不晚。
内容的提问来源于stack exchange,提问作者Asad
相关产品推荐
相关产品推荐

