Marketing, SEO, Web trends, Programming tutorial, Web design, and Life event...
初期衝刺規劃 - Sprint planning meeting
每日立會 - Daily Scrum 每天15分鐘
檢核 - Sprint
展示 - sprint demo (review) meeting
回顧 - Sprint repospective metting (1.5-3小時)
Continue ReadingContinue Reading對於本文,請記住,在每個sprint結束時,每個story都標記為已完成或未完成。還要記住,每個story都需要被分解成可以提供商業價值的工作塊。
Voyager 在管理員登入後,Dashboard 就會出現三個預設的 Widgets
這裡記錄客製化 Widgets 的方式
首先,開啟 config/voyager.php
另外可能有一種情況,是本地有修改的內容,這些修改必須保留
但又必須恢復到前一版本
先將本地修改, commit 的內容都恢復到原有狀態
git checkout .
將尚未commit 的內容儲存到 stash
git stash
將版本恢復到指定版本
git reset --heard HASH
將暫存的資料整合回來
git stash pop
Laravel 再遇到錯誤時,多數會拋出錯誤在介面顯示,並且中斷
這時可以透過 try catch 來捕捉拋出錯誤,自定義要做什麼處理
下方式簡易的錯誤處理範例:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Exception;
class ErrortestController extends Controller
{
public function index(){
try {
throw new Exception('When Error Happened');
} catch (Exception $e) {
echo $e->getMessage();
}
}
}
這裡列出 Exception 可用的方法
$e->getMessage(); //返回錯誤訊息
$e->getCode(); //返回錯誤代碼
$e->getFile(); //返回錯誤文件名稱
$e->getLine(); //返回發生錯誤的行數
$e->getTrace(); //backtrace()
$e->getTraceAsString(); //格式化成字串的 getTrace
建立 ApiSupport 來處理 api 錯誤
<?php
namespace App\Supports;
use Carbon\Carbon;
class ApiSupport
{
/**
* Api response 回傳格式
*
* @param array $DataSet
*
* @return object $oResult 回傳值
* @author Adam
* @date 2019/01/22
*/
public static function jsonResponseFormat($DataSet='')
{
$oCurrentTime = Carbon::now();
//預設json返回格式
$aDefaultDataset = [
//可以設定在 .env
"program"=> "my production",
"version"=> "1.2.3",
"release"=> "45",
//動態參數
"datetime"=> $oCurrentTime,
"timestamp"=> strtotime($oCurrentTime->toDateTimeString()),
"status"=> "",//success
"code"=> 200,
"message"=> "OK",
"error"=> false,
"error_message"=> "",
"data"=> [
"rotues"=> [
"method"=>"GET",
"path"=> "/users",
"description"=> "Get user data"
],
"message"=> "Hello world"
]
];
$oResult = array_merge($aDefaultDataset, $DataSet);
return $oResult;
}
}
json回應就可以直接引用
Continue Reading對於 Voyager 建立關係的項目中,這裡舉例子來說明:
以送養人可以擁有多隻寵物,對於這些寵物則對應同一個送養人
這裡我們希望在新增寵物時,可以下拉選單選取他所屬的送養人是誰
送養人會自動產生關聯,得知他一共擁有多少隻寵物
送養人 (guardian) 會擁有許多寵物 (Adoptee) ,Adoptee 的 Model 空間命名位置 : App\Adoptee
從哪一列…? Adoptee 被引用於(reference) Guardian? guardian_id
顯示向詳細訊息
顯示 Adoptee: name
寵物 (adoptee) 原始送養人 (guardian) ,Guardian 的Model空間命名位置: App\Guardian
從哪一列…? Adoptee 被引用於(reference) Guardian? guardians_id
選取項詳細訊息
顯示 Guardian: name
保存 Guardian: id
Continue Reading採用敏捷開發過程,只要當需求足夠形成一個週期工作量之後,
就可以進行啟動循環週期: 分析-設計-開發-測試-上線
每個循環期間,會需要非常頻繁的進行軟體版本測試週期
(事實上,這裡所提及的 alpha, beta… 測試階段,與傳統做法不同,敏捷的測試階段都是以週期為檢核點 )
Continue Reading有些服務,再開機後會自動被啟動,有些則不會
可以透過 chkconfig 來設定
參數:
on 開機後自動啟動服務 off 開機後不啟動服務
例如 將apache服務設定為開機啟動
chkconfig httpd on
或開機不啟動
chkconfig httpd off
查詢目前的預設啟動服務列表
chkconfig --list
查詢預設啟動服務列表,可以看到共分成7個 level:
Level | Level說明 |
---|---|
0 | 關機 |
1 | 單人模式 |
2 | 多人模式,沒有網路功能 |
3 | 完整多人模式,文字介面 |
4 | 保留 |
5 | 完整多人模式,圖形介面 |
6 | 重新開機 |
針對指定的 level 設定為啟動或關閉
chkconfig --level 0~6 {服務名稱} on/off
例如,針對apache Level123 設定為開機啟動
chkconfig --level 123 httpd on
例如,針對apache Level 0~6 設定為開機關閉
chkconfig --level 0123456 httpd off
先執行確認允許執行 Docker
systemctl enable docker
將 Docker 列為開機自動執行
chkconfig docker on
檢查 Docker 是否已存在自動啟動服務列表
Continue ReadingmacOS 預設並沒有提供 FTP command line 工具
大多數 FTP 連線需求,也多是透過 GUI 或 IDE 來完成
這裡則要介紹如何透過命令列來進行 FTP 連線
Continue Reading這裏參考 The 2018 Mighty Laravel Application 20 Optimization Ideas Checklist 列出提升 laravel 應用程式性能的 20 項目
Continue Reading改寫 Voyager BREAD Views 的方法,可區分改寫指定的 BREAD 或者全部的 BREAD
首先,在 resources/views/vendor/voyager/
位置,建立 slug 資料夾
資料夾名稱等同於當初你建立 BREAD 所設定的 slug-name
Continue Reading根據官方描述,大致整理以下介紹重點:
Voyager 是一個 admin interface,可以很輕易的為你的 app 建構 CRUD 功能,建構 Menu 選單,以及管理 media 檔案 ,此外,在管理介面的 Database Manager 可以直接用來管理資料庫及資料表,BREAD (Browse, Read, Edit, Add, & Delete) 功能則是可以很簡便的就直接設定資料表欄位在哪些時候要出現,以及他的功能屬性是什麼(文字欄位,選單,圖片..),該欄位的驗證規則…(詳細請參考 BREAD說明)
不是傳統的內容管理系統(CMS),部落格平台,當然也不是 wordpress 😜
雖然如此,你仍可以把 voyager 用來作為 CMS或 blog,一切都是可以由你自行決定
只要透過 Laravel+Voyager,你就能建立多種組合後台,並且是非常簡易的就能夠達成這些目的。
接下來,說明基本的安裝流程:
composer require tcg/voyager