發表文章

目前顯示的是 5月, 2021的文章

laravel code style

 單文件 <?php namespace App\Modules\Blog\Action; use App\Http\Controllers\Controller; class CreateBlog extends Controller { } 1. namespace 上下空一行 2. use 關鍵字上下空一行 3. class 的 { 需換行 4. class 的 } 後面需換行 <?php if ( $a === 1 ) { } 5. if 跟 ( 間要有空格 6. ) 跟 { 要有空格 7. { 不需換行 8. 比較符號左右都需有空格 <?php class a { public function b () { } public function b () { } } 9. 兩個 function 之間需要空一行 <?php $a = 1 ; 10. 變數跟 = 之間左右要空一個 <?php for ( $a = 1 ; $a < 10 ; ++ $a ) { } 11. for 迴圈如上,使用++$a 取代 $a++ <?php class Spinach extends Vegetable { public $cooked = false ; public function __construct () { parent :: __construct ( true , 'green' ); } public function cook_it () { $this -> cooked = true ; } public function generateRandomString ( $length = 10 ) { $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' ; $ch

laravel 面向接口

物件導向原則 solid grasp 針對街口編程 laravel的入口是action action 會經過 request 參數驗證(丟出422 exception) 和 service 驗證(丟出404 403 exception)。 request 經過 放入dto 規格化,不再是array,總是有設定dto的動作。 把dto 丟入 service 層,service只接受dto,service層會互相引用,interface 會描述service是什麼,能做什麼,或是提供一個可替換策略。 crud service 分開成 readService(r) 和 Alter(mutate)Service(cud)。 區分查詢跟改變的function 一個function只能做查詢或改變系統狀態 cqrs  進到repo前會有data processing 將資料轉成array repo只接受array 連collect都不行 repo不帶有業務邏輯 原則 如何最簡單的達成任務 只在有需要的時候創建功能 而不是用預見 簡單不是沒東西可以加 而是沒東西可以減少 不要重複 做為一個維護者 而不是開發者 不要讓下一個接手的人思考這個是啥 最小驚訝原則 Do not talk to strangers 不暴露更多細節

mssql win10對外連線

圖片
1. 啟用sql server agent  2. sql Native Client 的 TCP / IP 設成 已啟用 3. Sql server網路組態 的 TCP / IP 設成 已啟用 4. sql server management 伺服器屬性裡面的連線設定為允許遠端連線 5. 防火牆開啟1433 port  控制台 > 防火牆 > 進階設定 > 輸入規則 > 新增規則 > 選連接埠 > 填1433 > 填名稱 > 完成 進階設定 新增規則 連接埠 TCP 1433 6 開啟sql server browser 一開始是關閉的 也沒辦法直接開啟  要從服務裡面開啟 右鍵選擇內容 啟動類型改成自動 服務裡面對sql server browser右鍵選擇開啟 7. 重啟 sql server 和 sql browser

laravel application layers

action : 可以接service, 不能接repo 可以產dto vaildate : 可以接repo, 本身是service service : 可以接 service 注意環狀依賴 可以接repo 主要功能是被委託 data processing :  處理進入repo的資料 可以產po unit of work 工作單元模式 協調多個table操作 一起成功 一起失敗 try catch repo 無邏輯 僅寫入資料庫