class User extends Model { protected $morphClass = 'user' } 现在则需要在 AppServiceProvider 的
boot 方法中定义如下 morphMap: use Illuminate\Database\Eloquent\Relations\Relation; Relation::morphMap([ 应用中注册它们。 2、编写服务提供者 所有的服务提供者都继承自 Illuminate\Support\ServiceProvider 类。大部分服务提供者都包 含两个方法:register 和
boot 。在 register 方法中,你唯一要做的事情就是绑事物到服务容器, 不要尝试在其中注册事件监听器,路由或者任何其它功能。 通过 Artisan 命令 make:provider 可以简单生成一个新的提供者: 定义了一 个 register 方 法,并使 用该方法在 服务容器中 定义了一 个 Riak\Contracts\Connection 的实现。
boot 方法 如果我们想要在服务提供者中注册视图 composer 该怎么做?这就要用到
boot 方法了。该方法在 所有服务提供者被注册以后才会被调用,这就是说我们可以在其中访问框架已注册的所有其它服 务:
0 码力 |
691 页 |
9.37 MB
| 1 年前 3
要注册显式绑定,需要使用路由的 model 方法来为给定参数指定绑定类。应该 在 RouteServiceProvider::boot 方法中定义模型绑定: 绑定参数到模型 public function boot(Router $router) { parent::boot($router); $router->model('user', 'App\User'); } ,可以使用 Illuminate\Contracts\Routing\ResponseFactory 实现类或者 Response 门面上 的 macro 方法。 比如,在某个服务提供者的 boot 方法中编写代码如下: boot() { Response::macro('caps', function ($value) { return Response::ma
0 码力 |
377 页 |
4.56 MB
| 1 年前 3
者,应用 的所有服务提供者都被配置在 config/app.php 配置文件 的 providers 数组中。首先,所有提供者的 register 方法被调用, 然后,所有提供者被注册之后,
boot 方法被调用。 本文档由学院君提供 学院君致力于提供优质 Laravel 中文学习资源:https://xueyuanjun.com 118 服务提供者负责启动框架的所有各种各样的组件,比如数据库、队列、 中文学习资源:https://xueyuanjun.com 131 所有的服务提供者都继承 自 Illuminate\Support\ServiceProvider 类。大部分服务提供者 都包含两个方法: register 和
boot 。在 register 方法中,你唯 一要做的事情就是绑定服务到服务容器,不要尝试在该方法中注册事 件监听器,路由或者任何其它功能。 通过 Artisan 命令 make:provider fier::class, ServerToolsProvider::class => ServerToolsProvi der::class, ]; }
boot 方法 如果我们想要在服务提供者中注册视图 Composer 该怎么做?这就 要用到
boot 方法了。该方法在所有服务提供者被注册以后才会被调 用,这就是说我们可以在其中访问框架已注册的所有其它服务:
0 码力 |
1442 页 |
14.66 MB
| 1 年前 3
RouteServiceProvider 类的
boot 方法中定义约束模式: /** * 定义路由模型绑定,模式过滤器等 * * @param \Illuminate\Routing\Router $router * @return void * @translator http://laravelacademy.org */ public function
boot(Router $router){ $router){ $router->pattern('id', '[0-9]+'); parent::
boot($router); } 一旦模式被定义,将会自动应用到所有包含该参数名的路由中。 3、命名路由 命名路由使生成 URLs 或者重定向到指定路由变得很方便,在定义路由时指定路由名称,然 后使用数组键 as 指定路由别名: Route::get('user/profile' 如果你想要定义一个自定义的响应并且在多个路由和控制器中复用,可以使用 Illuminate\Contracts\Routing\ResponseFactory 实现上的 macro 方法。 比如,在一个服务提供者的
boot 方法中:
0 码力 |
307 页 |
3.46 MB
| 1 年前 3
a user is allowed to perform a certain action on a resource. Gates are typically defined in the boot method of AuthServiceProvider and succinctly named to reflect what it's doing. An example of a gate will need to create a service provider such as DropboxFilesystemServiceProvider. In the provider's boot method, you can inject an instance of the Illuminate\Contracts\Filesystem\Factory contract and call vider; class DropboxFilesystemServiceProvider extends ServiceProvider { public function boot() { Storage::extend('dropbox', function($app, $config) { $client
0 码力 |
216 页 |
1.58 MB
| 1 年前 3