前言
學習一個框架, Ray 的想法是, 在深入理解底層實作的原理之前, 應該先知道這個框架的 使用方法
; 先學習怎麼使用這個前人造的輪子, 再學習怎麼樣造一個輪子。
所以本篇文章重點在於細讀官方文件, 並將內容理解後以 Q&A 的方式記錄下來, 加速學習以及查詢。
# 進階技巧
# 只安裝 docker, 不裝任何其他軟體運行 sail
安裝套件
docker run --rm \
-u "$(id -u):$(id -g)" \
-v $(pwd):/opt \
-w /opt \
laravelsail/php80-composer:latest \
composer install --ignore-platform-reqs如果需要安裝 sail, 請把上面的 command 改成
composer require packageName
安裝 sail
docker run --rm \
-it \
-u "$(id -u):$(id -g)" \
-v $(pwd):/opt \
-w /opt \
laravelsail/php80-composer:latest \
php artisan sail:install最後, 運行
sail up
# Installation & Setup
# Installing Sail Into Existing Applications
以下的 Laravel Testing example code 的意思是?
- Example:
<?php
composer require laravel/sail --dev - Answer:
如果是舊專案, 可以使用 composer 安裝 sail
以下的 Laravel Testing example code 的意思是?
- Example:
<?php
php artisan sail:install - Answer:
當專案的 vendor 中 sail 時, 可以使用 artisan 指令, 當 vendor 中的 docker-compose.yml publish 到 project root
# Configuring A Bash Alias
以下的 Laravel Testing example code 的意思是?
- Example:
<?php
./vendor/bin/sail up -d - Answer:
當 docker-compose.yml file 已經 publish 到 project root 後, 可以使用./vendor/bin/sail up
來啟動 container 在背景
以下的 Laravel Testing example code 的意思是?
- Example:
<?php
alias sail='bash vendor/bin/sail' - Answer:
如不想一直打./vendor/bin/sail
的話, 可設定 alias
# Starting & Stopping Sail
以下的 Laravel Testing example code 的意思是?
- Example:
<?php
sail down - Answer:
stop 跑在 background 的 container
# Executing Commands
以下的 Laravel Testing example code 的意思是?
- Example:
<?php
sail artisan queue:work - Answer:
使用 sail 執行位於 sail container 中的 artisan
# Executing PHP Commands
以下的 Laravel Testing example code 的意思是?
- Example:
<?php
sail php --version
sail php script.php - Answer:
執行位於 sail container 中的 PHP
以下的 Laravel Testing example code 的意思是?
- Example:
<?php
sail composer require laravel/sanctum - Answer:
執行位於 sail container 中的 composer
# Installing Composer Dependencies For Existing Applications
以下的 Laravel Testing example code 的意思是?
- Example:
<?php
docker run --rm \
-u "$(id -u):$(id -g)" \
-v $(pwd):/opt \
-w /opt \
laravelsail/php80-composer:latest \
composer install - Answer:
使用 docker 拉取laravelsail/php80-composer
image 來安裝專案的 composer dependency
# Executing Node / NPM Commands
以下的 Laravel Testing example code 的意思是?
- Example:
<?php
sail node --version
sail npm run prod - Answer:
使用 sail 來調用 container 內的 node 以及 npm
# Running Tests
以下的 Laravel example code 的意思是?
- Example:
<?php
sail test
sail test --group orders
sail artisan test - Answer:
使用 sail run php test 或 artisan test
留言