Laravel是一套简洁、优雅的PHP开发框架(PHP Web Framework)。Laravel 项目组最近自豪地宣布 Laravel 5.3 正式发布了 !5.3 版本中的新增特性主要集中在提升开发速度,通过增强常见任务的开箱即用功能提升开发效率。此版本是常规发布版本,提供六个月的 bug 修复补丁和一年的安全补丁。
当前,Laravel 5.1 是最新的 LTS(长期支持) 版本,2015年6月9号发布,提供两年的 bug 修复补丁和三年的安全补丁。飘易建议大家正式的项目使用Laravel 5.1版本做开发。
下面介绍一些在使用laravel开发项目过程中的一些注意点。
上线正式部署时要做以下操作:
app_debug : false //关闭调试模式 php artisan config:cache //配置缓存,生成:bootstrap/cache/config.php php artisan config:clear php artisan route:cache //路由缓存,生成:bootstrap/cache/routes.php php artisan route:clear php artisan optimize //优化,生成编译文件; //仅在非调试环境下生成:bootstrap/cache/compiled.php php artisan clear-compiled [可选] php artisan view:clear //清理所有 storage/framework/views/ 下的文件 PHP Zend OpCache //打开OpCache
*查laravel版本号
在项目文件中找vendor\laravel\framework\src\Illuminate\Foundation\Application.php,打开后大约在28行能看到版本信息。
控制器路径:
App\Http\Controllers
artisan不是全局方法,请先cd到项目根目录下:
php artisan list //查看所有可用的Artisan命令 php artisan help migrate //帮助 php artisan key:generate //重新生成APP_KEY 创建一个新的中间件 php artisan make:middleware OneMiddleware 创建一个新的控制器 php artisan make:controller PhotoController 创建一个新的服务提供者 php artisan make:provider OneServiceProvider 创建一个新的数据表迁移 php artisan make:migration add_votes_to_users_table --table=users php artisan make:migration create_users_table --create=users 创建一个新的seeder php artisan make:seeder UserTableSeeder 执行填充 php artisan db:seed php artisan db:seed --class=UserTableSeeder 创建一个新的模型 php artisan make:model Models\User 创建一个新的策略类 php artisan make:policy PostPolicy 创建一个新命令 php artisan make:console SendEmails 创建一个新的表单请求验证 php artisan make:request StoreBlogPostRequest 运行迁移 php artisan migrate 回滚最近的一次迁移操作 php artisan migrate:rollback 回滚应用的所有迁移 php artisan migrate:reset 回滚所有数据库迁移,然后再执行migrate命令,该命令会重建整个数据库 php artisan migrate:refresh 重建整个数据库,并填充测试数据 php artisan migrate:refresh --seed 路由缓存 php artisan route:cache 移除缓存路由 php artisan route:clear
app目录中的很多类都可以通过Artisan命令生成,要查看所有有效的命令,可以在终端中运行 php artisan list make 命令。
添加新依赖方法示例:
composer.json 文件加入 doctrine/dbal,并在终端运行 composer update 来安装库
驼峰式命名:
类名:UserController
类里面的方法名:getFirstName 首字母小写;
对应到数据库里字段名:first_name
模型Model:
class User extends Model 默认对应表名users,外键user_id
多对多关联关系,需要三个数据表:users、roles和role_user,role_user表按照关联模型名的字母顺序命名,并且包含user_id和role_id两个列。
RESTful资源控制器:
Route::resource('photo', 'PhotoController');
方法 路径 动作 路由名称
GET /photo index photo.index
GET /photo/create create photo.create
POST /photo store photo.store
GET /photo/{photo} show photo.show
GET /photo/{photo}/edit edit photo.edit
PUT/PATCH /photo/{photo} update photo.update
DELETE /photo/{photo} destroy photo.destroy
Laravel性能:
讨论性能问题就是耍流氓!
性能问题是可以靠堆机器(配置+数量), 有效的缓存设计解决的。
人工成本远比机器成本高,解放生产力,快速开发,天下武功, 唯快不破。la框架可以规范代码,提高代码质量。
全局相关:
php artisan:显示详细的命令行帮助信息,同 php artisan list php artisan --help:显示帮助命令的使用格式,同 php artisan help php artisan --version:显示当前使用的 Laravel 版本 php artisan changes:列出当前版本相对于上一版本的主要变化 php artisan down:将站点设为维护状态 php artisan up:将站点设回可访问状态 php artisan optimize:优化应用程序性能,生成自动加载文件,且产生聚合编译文件 bootstrap/compiled.php php artisan dump-autoload:重新生成框架的自动加载文件,相当于 optimize 的再操作 php artisan clear-compiled:清除编译生成的文件,相当于 optimize 的反操作 php artisan migrate:执行数据迁移 php artisan routes:列出当前应用全部的路由规则 php artisan serve:使用 PHP 内置的开发服务器启动应用 【要求 PHP 版本在 5.4 或以上】 php artisan tinker:进入与当前应用环境绑定的 REPL 环境,相当于 Rails 框架的 rails console 命令 php artisan workbench 组织名/包名:这将在应用根目录产生一个名为 workbench 的文件夹,然后按 组织名/包名 的形式生成一个符合 Composer 标准的包结构,并自动安装必要的依赖【需要首先完善好 app/config/workbench.php 文件的内容】
Carbon: A simple PHP API extension for DateTime.
【参考】:
1、Laravel 5.1文档:http://laravelacademy.org/laravel-docs-5_1