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上的示例代码