本文爲 《L01 Laravel 教程 - Web 開發實戰入門 ( Laravel 6.x )》 課程學習筆記,方便工作中快速查看 Laravel 6 重要知識點。
原文鏈接:https://www.childsay.com/laravel-6-01-note.html
同步時間:2019-10-12
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
<!DOCTYPE html>
<html>
<head>
<title>@yield('title', 'Weibo App')</title>
</head>
<body>
@yield('content')
</body>
</html>
佈局使用方法
// resources/views/static_pages/help.blade.php
@extends('layouts.default')
@section('title', '幫助')
@section('content')
<h1>幫助頁</h1>
@stop
如果刪除 @section(‘title’, ‘幫助’) ,網頁 title 則默認顯示 Weibo App 。如果 @section 不傳第二個參數,則需要使用 @stop 來標識 @section 區塊結束。
常用 artisan 命令說明
命令 | 說明 |
---|---|
php artisan key:generate | 生成 App Key |
php 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