laravel深入分析

laravel用的人是越来越多了,是得好好分析了。

觉得laravel和我之前用的yii和phalcon,最大的不同,就是route的处理,它们都是自动处理,它需要手动写。

一、laravel请求的生命周期

  laravel和一般框架一样,都有一个入口脚本,在public下的index.php,这个index里主要做两件事,一 引入bootstrap(翻译成“引导程序”)下的app.php和autoload.php。

  其中bootstrap/app.php文件,最重要的作用,return 一个 application。

  其中bootstrap/autoload.php,是去注册一个 auto loader function。

    app.php返回的application对象,会去make一个kernel对象,并用kernel对象来处理用户请求,处理后返回一个response对象给用户,并终止kernel。

二、laravel 的 migrate和model的处理

  奇葩的地方,也是我刚开始困惑的地方。通常yii或phalcon,都是开发人员先建好数据表,然后用工具生成model类。laravel处理的很奇怪。

  php artisan make:model Article 命令会生成两个文件:

  1、database/migrations/下生成  2015_06_18_154717_create_articles_table.php

  2、app/ 下生成                             Article.php 

  然后手动修改 上面第一个文件,加上一些特殊的自定义生成数据库的语句。

  php artisan migrate  命令生成 数据库中 的

三、laravel的服务提供器(providers)

  app/config/app.php可以看到两类服务提供,一类系统自动加载的,一类用户为自己应用需要创建的。 

四、laravel的route原理

五、laravel的request

六、laravel中间件

  所谓中间件实际上就是请求过滤机制,比如:对于需要权限的页面,在访问前,加一个角色验证中间件,判断失败,即会引导用户去登陆。

  类似yii中的filter。

七、laravel的Blade模板

  虽然是个二逼的物件,但也先学会再评论好了~蛋疼~

  

相关链接:

  http://lvwenhan.com/laravel/432.html  //奶奶的,这家伙讲的却是好,应该说是比官网文档好很多倍

  https://github.com/johnlui/Learn-Laravel-5  //这家伙发在github上的示例代码

原文地址:https://www.cnblogs.com/zhongyuan/p/4582122.html