欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php laravel5问题求助。

程序员文章站 2022-05-16 20:10:22
...

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 Value

string

自定义错误的处理

指定一个路由只能为数字之后用户输了不是数字的就报错了,怎么让其提示不存在的,或者跳转到指定页面

回复内容:

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 Value

string

自定义错误的处理

指定一个路由只能为数字之后用户输了不是数字的就报错了,怎么让其提示不存在的,或者跳转到指定页面

1.如果使用Route::resource(),你可以尝试在RouteServiceProviderboot()方法增加:

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能满足你的需求不?