Laravel 6常用操作详解
homestead vagrant 常用操作
// 确保在此目录下操作
cd ~/Homestead
// 开启 Homestead 虚拟机
vagrant up
// 通过 SSH 链接 Homestead 虚拟机
vagrant ssh
// 关机
vagrant halt
// 对 Homestead.yaml 文件修改后,执行以下命令生效
vagrant provision && vagrant reload
链接 Homestead 里 MySQL 数据库
host 127.0.0.1
port 33060
user homestead
password secret
使用阿里云的 Composer 加速镜像
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
创建 Laravel 6.x 项目,项目名称为 weibo
composer create-project laravel/laravel weibo --prefer-dist "6.*"
Blade 模板继承布局
布局文件定义
// resources/views/layouts/default.blade.php
布局使用方法
```bash
// resources/views/static_pages/help.blade.php
@extends(‘layouts.default’)
@section(‘title’, ‘帮助’)
@section(‘content’)
帮助页
@stop ```如果删除 @section(‘title’, ‘帮助’) ,网页 title 则默认显示 Weibo App 。如果 @section 不传第二个参数,则需要使用 @stop 来标识 @section 区块结束。
常用 artisan 命令说明
命令说明php artisan key:generate生成 App Keyphp artisan make:controller生成控制器php artisan make:model生成模型php artisan make:policy生成授权策略php artisan make:seeder生成 Seeder 文件php artisan migrate执行迁移php artisan migrate:rollback回滚迁移php artisan migrate:refresh重置数据库php artisan db:seed填充数据库php artisan tinker进入 tinker 环境php artisan route:list查看路由列表
通过 laravel ui 使用 bootstrap
composer require laravel/ui --dev
php artisan ui bootstrap
// 配置 npm 和 yarn 使用淘宝镜像
npm config set registry=https://registry.npm.taobao.org
yarn config set registry 'https://registry.npm.taobao.org'
yarn install --no-bin-links
// resources 目录下文件改变时会自动编译,输出到 public 目录中。
npm run watch-poll
如果执行失败,删除 package.json 中的 cross-env 并在 devDependencies 中加入 “vue-template-compiler”: “^2.6.10”
静态资源使用
<link rel="stylesheet" href="{{ mix('css/app.css') }}">
mix 函数使用 public 作为根目录,最终生成 /css/app.css
静态资源缓存问题
// webpack.mix.js
mix.js('resources/js/app.js', 'public/js')
.sass('resources/sass/app.scss', 'public/css').version();
只需要添加 .version() 即可,最终生成文件 /css/app.css?
id=350d79d6458127c0fe98" ,文件有改动时 id 值会改变,缓存失败。
数据库迁移和数据填充
// 执行迁移,迁移文件中的 up 方法将会执行
php artisan migrate
// 回滚撤消最近一次迁移操作
php artisan migrate:rollback
// 重置数据库,数据会被清空。
php artisan migrate:refresh
执行数据填充步骤,定义模型工厂(非必须)、定义 Seeder 文件、在 DatabaseSeeder.php 中定义填充执行顺序
// 数据库的重置和填充操作
php artisan migrate:refresh
php artisan db:seed
// 一条命令完成以上操作
php artisan migrate:refresh --seed
// 执行指定的填充文件
php artisan make:seeder UsersTableSeeder