摘要: 上一篇写到Eloquent ORM的基类Builder类,这次就来看一下这些方便的ORM方法是如何转换成sql语句运行的。 首先还是进入\vendor\laravel\framework\src\Illuminate\Database\Query\Builder.php这个类中,先来看一下最常用的w 阅读全文
posted @ 2019-03-26 15:20 我也很惆怅 阅读(1335) 评论(0) 推荐(0) 编辑
摘要: laravel中的数据库也是以服务提供者进行初始化的名为DatabaseServiceProvider,在config文件的providers数组中有写。路径为vendor\laravel\framework\src\Illuminate\Database\DatabaseServiceProvid 阅读全文
posted @ 2019-03-17 18:24 我也很惆怅 阅读(1196) 评论(0) 推荐(1) 编辑
摘要: laravel中的中间件作为一个请求与响应的过滤器,主要分为两个功能。 1、在请求到达控制器层之前进行拦截与过滤,只有通过验证的请求才能到达controller层 2、或者是在controller中运算完的数据或页面响应返回前进行过滤,通过验证的响应才能返回给客户端 中间件一般通过artisan命令 阅读全文
posted @ 2019-02-26 16:53 我也很惆怅 阅读(722) 评论(0) 推荐(1) 编辑
摘要: Pipeline管道模式,也有人叫它装饰模式。应该说管道是装饰模式的一个变种,虽然思想都是一样的,但这个是闭包的版本,实现方式与传统装饰模式也不太一样。在laravel的源码中算是一个比较核心的设计模式了。管道模式,或者说装饰模式的思想,就是在不改变原有程序的基础上,可以方便的在已有程序上添加新的功 阅读全文
posted @ 2018-11-29 00:14 我也很惆怅 阅读(1337) 评论(1) 推荐(1) 编辑
摘要: 今天这篇博文来探索一下laravel的路由。在第一篇讲laravel入口文件的博文里,我们就提到过laravel的路由是在application对象的初始化阶段,通过provider来加载的。这个路由服务提供者注册于vendor\laravel\framework\src\Illuminate\Fo 阅读全文
posted @ 2018-11-29 00:12 我也很惆怅 阅读(1207) 评论(0) 推荐(0) 编辑
摘要: 上次说了provider,那么这次来说说facade 首先是启动的源头,从laravel的kernel类中的$bootstrappers 数组,我们可以看到它的一些系统引导方法,其中的RegisterFacades便是用来注册facade门面类的了。 同样是有一个register类,通过这个类进行别 阅读全文
posted @ 2018-11-06 14:13 我也很惆怅 阅读(902) 评论(0) 推荐(0) 编辑
摘要: laravel里所谓的provider服务提供者,其实是对某一类功能进行整合,与做一些使用前的初始化引导工作。laravel里的服务提供者也分为,系统核心服务提供者、与一般系统服务提供者。例如上一篇博文里介绍的,最早在application中进行注册的event、log、routing这些就是系统的 阅读全文
posted @ 2018-11-01 00:08 我也很惆怅 阅读(3722) 评论(0) 推荐(0) 编辑
摘要: laravel的项目入口文件index.php如下 1 define('LARAVEL_START', microtime(true)); 2 3 require __DIR__.'/../vendor/autoload.php'; 4 5 $app = require_once __DIR__.' 阅读全文
posted @ 2018-10-27 17:58 我也很惆怅 阅读(2192) 评论(1) 推荐(1) 编辑
摘要: laravel 里的路由是由RouteServiceProvider提供的,其中的boot方法为启动项,调用了父类的boot方法。 RouteServiceProvider中的boot方法设置了自己与UrlGenerator类的根命名空间。 通过bootstrap/cache/routes.php处 阅读全文
posted @ 2018-09-06 23:30 我也很惆怅 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 构建方法传入整个项目根目录路径(public文件夹上一级)将其设为基础路径(存在本类basePath属性中)。 __construct > setBasePath > bindPathsInContainer 在容器中绑定路径 bindPathsInContainer > instance 在容器中 阅读全文
posted @ 2018-09-06 23:28 我也很惆怅 阅读(303) 评论(0) 推荐(0) 编辑