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