1.resource controller
用php artisan make:controller
创建controller之后有一个show方法,
public function show($id=0) { $page=Page::find($id); print_r($page); }
如何设置ID必须为数字,除了在方法里面?
因为这是用于资源型的路由,不输ID不走show方法到index里面,若是我用于其他控制器的getShow($id),
这样要是没输id会报错,只能这样指定一个默认值来避免吗?getShow($id=0)
,
2.命名空间/API的使用问题
在API中有很多方法,该如何使用?
比如说http://laravel.com/api/5.1/Illuminate/Http/Request.html#method_ip
echo \Requst::ip(); 这么用报错了,能不用use引入吗?很多时候记不住
string ip()Returns the client IP address.Return Valuestring
自定义错误的处理
指定一个路由只能为数字之后用户输了不是数字的就报错了,怎么让其提示不存在的,或者跳转到指定页面
回复内容:
1.resource controller
用php artisan make:controller
创建controller之后有一个show方法,
public function show($id=0) { $page=Page::find($id); print_r($page); }
如何设置ID必须为数字,除了在方法里面?
因为这是用于资源型的路由,不输ID不走show方法到index里面,若是我用于其他控制器的getShow($id),
这样要是没输id会报错,只能这样指定一个默认值来避免吗?getShow($id=0)
,
2.命名空间/API的使用问题
在API中有很多方法,该如何使用?
比如说http://laravel.com/api/5.1/Illuminate/Http/Request.html#method_ip
echo \Requst::ip(); 这么用报错了,能不用use引入吗?很多时候记不住
string ip()Returns the client IP address.Return Valuestring
自定义错误的处理
指定一个路由只能为数字之后用户输了不是数字的就报错了,怎么让其提示不存在的,或者跳转到指定页面
1.如果使用Route::resource(),你可以尝试在RouteServiceProvider
的boot()
方法增加:
public function boot(Router $router){ $router->pattern('id', '[0-9]+'); parent::boot($router);}
注意,引入Router。
2.既然记不住,请使用一个好的IDE,比如PHPStorm,相关教学
https://laravist.com/series/phpstorm-the-best-php-ide-you-ever-met
3.自定义404能满足你的需求不?