調整 Nginx 設定 一開始先來搬家一下,因為網站放在 /var 其實很怪,這是放 log 的地方,所以先在 /srv 中 git clone 把程式抓下來,...
匿名函式 Anonymous functions 我覺得寫程式最難的是 命名,怎麼 變數命名、函式命名、類別命名..等,想一個有意義的名稱,挺困難的!當時,我看...
PHP_CodeSniffer 簡稱 PHPCS,是 PHP 的 Linter 工具,它可以設定程式排版規則,讓大家有一致的 Coding Style,減少讓...
PHP 8.0.0 之好用功能 Named Arguments 本文介紹 PHP 8.0.0 之後新增的功能 Named Arguments,也就是說,Name...
回顧首篇文章替整個系列訂下了開發與學習的目標,在系列文的最後一篇我們將側重於總結我們達成的目標,與現有的其他解決方案。 回顧 單體式應用程式與微服務 在單體式應...
PHPUnit 是 php 的單元測試工具,它可以幫我們檢查程式是否有錯誤,不過驗證有沒有錯的程式還是需要自己寫,但是可以重複使用,也就是說不用再一直手動把變數...
PHP Argument 和 Parameter 差異 參數 (Parameter) 和 引數 (Argument) ,是我在寫 PHP 時,曾經的一處風景,參...
在安裝 Composer 之前需要安裝過 PHP,因為 Composer 本身就是用 PHP 寫的,可以使用 php -v 來檢查有沒有安裝,如果沒有安裝的話,...
經過了前兩章的分享,我們成功地使用 PHP 建立起了一個非阻塞的常駐型伺服器。本章我們將關注於如果將 Workerman 與 Swow 等技術與 Anser 進...
Call API: SystemResponse 結合 Resource Collections 在 [Day 16] 自制 Laravel helper re...
沒有 namespace 的時候 有一個專案 school 和兩個函式庫 lib_a、lib_b,好死不死這兩個函式庫中的 class 名稱是一樣的,都叫做 S...
一直以來,多數的 PHP 應用程式都是阻塞式地執行。當 PHP 程式遇到如資料庫查詢或檔案讀寫等操作時,它會等待這些動作完成才繼續執行下一行程式碼。在較高並行處...
PHP,作為網頁開發的主流語言之一,從誕生到現在已近三十個年頭。至今大部分執行 PHP 的方式大多都採用無狀態的方式執行。傳統的 PHP 執行模式雖然便利和成熟...
Call Api: Resource 分頁顯示 曾經我對 Laravel 分頁的方法名稱感到疑惑,我曾經以為 Eloquent’s resource 表示單一筆...
Call API: Format Response 在 [Day 14] Laravel HTTP Response 簡介 一文中,提到 Laravel 會自動...
經歷了將近一個月的分享,筆者已完整地傳達了 Anser 的開發理念,因此在接下來的章節中將會向外擴張一些額外的知識。Anser 在開發的過程中並沒有依賴外部的軟...
Laravel 的 XXXResource::make() 的 make() 作用 - new static() 既上篇 Laravel 的 XXXResour...
從前兩章的實作中,我們了解了如何使用 Anser 的交易措施,在保持微服務資料一致性的情況下,也能有一些手段提高協作器的可用性。在經歷了兩章的實作,你應該會好奇...
Laravel 的 XXXResource::make() 的 make() 作用 - Late Static Bindings 探詢關鍵字 static ,起...
在動態且複雜的協作器實作中,面對各式各樣的異常情況及不可預期的錯誤是在所難免的。在前幾章節中,我們已經探討了利用 Anser-Saga 的高可用性元件,對被中斷...
Laravel 的 XXXResource::make() 的 make() 作用 - 我以為的 static 我以為我知道 PHP 的 static 在做哪些...
如果你是跟著文章一天接著一天實作的讀者,那麼你需要確保你的 : Anser-Tutorial-Service 使用的是最新的 v1.1.1 以上的版本...
如果你是跟著文章一天接著一天實作的讀者,那麼你需要確保你的 : Anser-Tutorial-Service 使用的是最新的 v1.1.0 以上的版本...
好奇 陣列 轉換為 JSON Response,真的嗎? Laravel 會自動將 陣列 轉換為 JSON Response,這句話是擷取至 Laravel 文...
在服務協作的設計模式中,所有的流程控制與邏輯決策皆由協作器掌握。一旦協作器遭遇意外故障,將會導致資料遺失,進而無法保證資料一致性。我們可以透過故障轉移(Fail...
Laravel HTTP Response 簡介 前幾篇文章都在講述『怎麼從程式內部 Call API』等文章,這篇文章開始敘述 Call API 得到的 re...
如果你是跟著文章一天接著一天實作的讀者,那麼你需要確保你的 : Anser-Tutorial-Service 使用的是最新的 v1.0.5 以上的版本...
Anser Saga 元件設計圖 Anser-Saga 元件基於現有的 Anser-Orchestration 元件進行設計;此元件負責執行與管理在進行分...
在微服務架構中,每個微服務都是一個獨立的單元,擁有自己的資料庫和交易管理。由於微服務之間可能需要進行交互操作,因此確保每個微服務的交易安全和資源操作的安全性是非...
我們的 PTTCrawler 目前是注入自己撰寫的 HttpClient class,但 PHP 早就有寫好的 Guzzle 啊,所以我們就可以透過重構的方式來...