一、laravel框架:
官网:
https://laravel.com/
中文网:
http://laravelacademy.org
https://laravel-china.org/
二、laravel框架的安装,在文档中,已经解释了好多。我这里直接使用git从github上安装了下,具体操作,包括操作中出现的问题,总结下面几步:
1.下载5.2版本:
先fork官方:https://github.com/laravel/laravel(具有fetch&push权限,也不一定需要,因为我们不需要推送)
git clone -b 5.2 自己fork后的地址
2.先通过composer,安装必需的依赖包(前期需要安装composer,并配置为中国镜像地址,要不下载速度太慢)
composer install
3.在本地配置虚拟主机环境,例如:laravel.devil.com,开启浏览器就可访问了(配置记得指向 laravel/public 目录下,入口文件为 public/index.php)
4.浏览器访问,出错!我们还需进行laravel内部的几个配置:
1>git下载下的laravel包,没有 '.env' 配置文件,从 .env.example 复制
cp .env.example .env
2>确保 storeage 和 bootstrap/cache 目录具有写权限
3>laravel默认必需配置应用的 'key'(APP_KEY),session等其他加密数据需要,我们来生成key
php artisan key:generate
5.至此,配置成功!
laravel的维护模式:
当我们暂停用户的访问、需要升级服务器或部署代码等,很方便,直接使用:
php artisan down
站点恢复,使用:
php artisan up
维护模式几点需要知道的:
1.默认显示的模板 'resources/view/errors/503.blade.php'
2.暂停模式,我们可能担心的队列任务:都不会执行,启用后,队列会继续执行(laravel都替我们想好了,相信别人的思想比我们高的不是一点,有时间可以去看看它的机制)
3.维护模式命令的执行,需要几秒时间,手册上说:
可以使用 'Envoyer' 实现 '0秒下线',作为替代方案
三、laravel的目录结构:
// git相关
.gitignore - git的忽略文件列表
readme.md - github上的项目的说明简介。md - markdown 语法
.env - laravel环境配置文件(切记不要将 .env 提交到git源码控制中,应该写入到 '.gitignore' 中。每个人的配置不同)
.env.example - 可以将.env作为.env.example,上传到git版本库,其他开发者,就可根据它来配置自己的.evn
artisan - laravel自带的命令行接口名称,为开发过程中,提供了很多有用的命令(php artisan list 查看,必需掌握!)
// composer相关
composer.json - composer的包配置文件
composer.lock - composer的包配置锁文件(它存在的话,就不会从composer.json中安装依赖包,具体可查看手册)
// js相关,laravel提供了一个 'Elixir' 服务(需要我们也安装node、gulp,但不是必需使用这个功能)
gulpfile.js - gulp前端自动化编译、打包工具
package.json - node的包配置文件
phpunit.xml - phpunit单元测试配置文件
server.php - 模拟了服务器的重定向,会引入 'public/index.php',注视说是用于测试(当我们未配置rewrite的话,就可直接通过server.php来访问laravel应用)
app/ - 应用的核心代码
Console - CLI方式进入应用,命令行相关
Events - 放置事件类的地方,事件可以用于通知应用其它部分给定的动作已经发生,并提供灵活的解耦的处理。
Exceptions - 放置事件类的地方,事件可以用于通知应用其它部分给定的动作已经发生,并提供灵活的解耦的处理。
Http - HTTP方式进入应用
Controllers - 控制器文件
Middleware - 中间件
Requests - 表单请求验证,参考 "验证":http://laravelacademy.org/post/3279.html
Kernel.php - 注册中间件
routes.php - 路由
Jobs - 放置队列任务的地方,应用中的任务可以被队列化,也可以在当前请求生命周期内同步执行。
Listeners - 包含事件的处理器类,处理器接收一个事件并提供对该事件发生后的响应逻辑
Policies - 用户授权策略相关,参考 "用户授权":http://laravelacademy.org/post/3082.html
Providers - 核心服务提供
User.php - 用户模型类(系统自带)
// 整个框架都没找到 'MVC' 的models,参照 "http://laravelacademy.org/post/2995.html",创建对应的model。我们应该将model专门放置一个 'Models' 目录
php artisan make:model Models/User
bootstrap/ - 包含了少许文件用于框架的启动和自动载入配置
cache/ - 包含框架生成的启用文件以提高性能
config/ - 应用的所有配置文件
database/ - 应用的数据迁移和填充目录,包括数据模型工厂目录
factories - 数据模型工厂
migrations - 数据迁移
seeds - 数据填充
public/ - 前端、资源文件(图片、js、css等)
.htaccess - apache服务器的rewrite配置规则(nginx好像不支持.htaccess吧)
favicon.ico - 网站图标
index.php - 入口文件
robots.txt - 爬虫相关
web.config - IIS服务器的rewrite配置规则
resources - 视图目录、语言包、前端原生资源文件(less、sass、coffeescript,或者是我们一般的js、css)
assets - 前端原生资源文件
lang - 语言包
views - 视图
storage - 包含了编译过的Blade模板、基于文件的session、文件缓存,以及其它由框架生成的文件
app - 用于存放应用要使用的文件
framework - 用于存放框架生成的文件和缓存
cache - 缓存文件
sessions - session文件
views - 编译的模板文件
logs - 应用的日志文件
tests - 自动化测试文件
vendor - composer安装的依赖包
四、安装2个基本的扩展包:
Entrust - RBAC权限管理(这个是后台权限管理必备)
参考:
http://laravelacademy.org/post/3755.html
http://laravelacademy.org/post/3761.html
prettus/l5-repository - Repository开发模式的支持(系统的架构扩展)
参考:http://oomusou.io/laravel/laravel-architecture/ ----------- 经典,建议必读!
以上2个,都有别人已经使用了,可参照:
https://github.com/yuansir/laravel5-rbac-example - 可进行模拟学习!
下载量最高的100个laravel包,参照:
https://laravel-china.org/topics/2530
laravel框架总结,从0开始
最新推荐文章于 2023-06-24 23:15:47 发布