参考
https://laravelacademy.org/php
$this->app->bind() 绑定契约(接口)
$app->make()
boot extend 覆盖 修改驱动css
## 生成资源控制器路由 ,命令里加上 --resoure 生成带crud方法的控制器 php artisan make:controller PostController --resource #路由一次性绑定资源方法 curd等 Route::resource('post', 'PostController'); #模板内使用路由命名 生成url <a href="{{ route('user.profile', ['id' => 100]) }}"> #控制器里使用 路由名字生成url route('post.show', [$id]); #路由分组,组内公用中间件 好比登陆校验 https://laravelacademy.org/post/9612.html#toc_0 #兜底路由, Route::fallback(function () { return '没设置路由,会到这里'; }); #频率限制 利用内置的throttle中间件实现 Route::middleware('throttle:60,1')->group(function () { Route::get('/user', function () { // }); });
#在视图间共享变量 咱们能够在某个服务提供者如 AppServiceProvider 的 boot 方法中定义共享的视图变量: view()->share('siteName', 'Laravel学院'); view()->share('siteUrl', 'https://laravelacademy.org'); #经过数组指定多个视图组件 view()->composer(['partials.header', 'partials.footer'], function ($view) { $view->with('posts', Post::recent()); }); 视图 变量自动htmlentities转义防止xss ,若是不想自动转义用{!! $variable !!},例如富文本编辑器的代码; #注释 {{-- 注释内容 --}}
npm install 安装 前端库
package.json 可类比为前端的 composer.json,咱们经过 npm install 安装该文件中定义的依赖
运行 npm run dev 编译前端资源
大多数时候咱们须要在 resources/js/app.js 和 resources/sass/app.scss 中编写代码,引入其它模块,而后运行 npm run dev 就能够了html
读一遍框架自带的服务提供者源码能够帮助你熟悉各类类是怎么绑定进容器的,都绑定到哪些键上。这是学习 Laravel 框架底层究竟如何运转的最佳实践。前端
config
根目录.envlaravel
php artisan up
php artisan down数据库
建立一个 .env.testing 文件npm
#执行测试 测试前清除配置缓存 php artisan config:clear vendor/bin/phpunit #运行单个测试用例 vendor/bin/phpunit --filter=UserTest
在开发与 Laravel 进行交互的第三方扩展包时,最好选择注入 Laravel 契约 而不使用 Facades 。由于扩展包是在 Laravel 以外构建,你没法使用 Laravel Facades 测试辅助函数json
内置了 表单csrf,表单token 数组
自定义中间件缓存
#该命令会在 app/Http/Middleware 目录下建立一个新的CheckAge 类 php artisan make:middleware CheckAge
验证email, user包含 email_verified_at 字段
only() except() all has exists
$request->input() 智能读取变量 支持json(须要header头设置application/json)
表单验证 $request->validate()
created_at
updated_at
#生成可调用的控制器 php artisan make:controller ShowProfile --invokable #生成资源控制器 --resource参数自带curd方法的自动生成 php artisan make:controller PhotoController --resource #建立模型 加上-m参数顺便建立迁移文件 php artisan make:model -m Models/Post #模型工厂文件 php artisan make:factory PostFactory --model=Models/Post #Schema 创建表 php artisan session:table #执行数据迁移 php artisan migrate #所有down,再次up,填充数据 php artisan migrate:refresh --seed #回滚最后一批迁移 php artisan migrate:rollback #回滚全部迁移,down方法 php artisan migrate:reset #删除全部表 重建数据库(破坏性,若是有本身手动录入的表数据请不要执行此操做) php artisan migrate:fresh #删除全部表 重建数据库 并填充数据 php artisan migrate:fresh --seed #生成数据迁移文件 建立新闻表 php artisan make:migration create_news_table --create news #复杂表单验证 创建类去处理 php artisan make:request StoreBlogPost #建立auth所需视图和控制器 php artisan make:auth 命令来生成密钥 php artisan key:generate
#建立填充类对象 php artisan make:seeder PostsTableSeeder 运行填充器 编写好填充器类以后,须要经过 dump-autoload 命令从新生成 Composer 的自动加载器: composer dump-autoload 运行以后可使用 Artisan 命令 db:seed 来填充数据库。 默认状况下,db:seed 命令运行 DatabaseSeeder 类, 不过,你也可使用 --class 选项来指定你想要运行的独立的填充器类: php artisan db:seed php artisan db:seed --class=UsersTableSeeder 你还可使用 migrate:refresh 命令来填充数据库,该命令还能够回滚并从新运行全部迁移,这在须要彻底重建数据库时颇有用: php artisan migrate:refresh --seed #填充中文数据 $faker = Faker\Factory::create('zh_CN'); 或者修改配置config/app.php 'faker_locale' => 'zh_CN', Factory 只是生成了测试数据,可是插入还要 用模型和DB类去写;
DB:: 外观类操做数据库 查询构建器
where whereIn whereBetween orderBy first
https://laravelacademy.org/po...
https://laravelacademy.org/po...
https://laravelacademy.org/po...
Eloquent ORM 每一个表对应一个类
模型有些默认规则,若是与规则不符,须要从新指定 如表名,主键名,时间戳,链接的库,
注:因为 Eloquent 模型本质上就是查询构建器,你能够在 Eloquent 查询中使用查询构建器的全部方法。
#生成模型文件,带上 -m 能够建立数据迁移文件 php artisan make:model Flight -m 组块结果集chunk 游标cursor 根据主键获取记录find $flight = App\Flight::find(1);//能够传数组查多条 获取单条记录first $flight = App\Flight::where('active', 1)->first(); 若是无结果跑出异常findOrFail 和 firstOrFail fillable guarded 二选一 赋值权限设置
控制器 中间件
#生成路由缓存, php artisan route:cache #清除路由缓存 php artisan route:clear
清除配置缓存试试 php artisan config:clear
执行单元测试的时候报的错,测试里写了执行一个 artisan 命令,命令写错了. 复制的命令是中文字符