Laravel 6 教程學習筆記

本文爲 《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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章