iT邦幫忙

php相關文章
共有 1133 則文章
鐵人賽 Claude AI DAY 27

技術 Day 27:案例——從 error_log/trigger_error 遷移到結構化 logger

前言:這兩種寫法看起來都是「記個錯誤」,行為卻完全不同 「這段程式碼用 error_log() 記了個錯誤,那段用 trigger_error(),反正都是記錄...

鐵人賽 IT Operation DAY 22

技術 Day 22:第三部小結——相容性防線,目前完全靠「跑過測試」撐著

前言:把第三部的發現串起來看一次全貌 第三部花了 7 天挖這個套件的跨版本相容性跟靜態品質工具現況。今天把它們串起來看一次全貌。 今日目標 回顧第三部 7 天...

鐵人賽 Claude AI DAY 26

技術 Day 26:案例——日誌去重分組鍵設計錯誤,正式環境資料才踩到的坑

前言:本機測試全過,為什麼正式環境還是壞了? 「這段去重邏輯的測試都寫了、也都綠燈,怎麼上線之後還是看到重複記錄?」 Day 24 講過一個去重相關的案例,根因...

鐵人賽 IT Operation DAY 21

技術 Day 21:請 AI 幫忙寫程式碼,怎麼確保它沒用 CI 矩陣不支援的語法?

前言:AI 寫的程式碼,會不會用了 CI 不支援的新語法? 如果現在請 AI 幫 omnipay-ecpay 加一個新功能,AI 很有可能會很自然地寫出 mat...

鐵人賽 Claude AI DAY 24

技術 Day 24:案例——一次「以為是非同步問題,其實是重複鍵設計錯誤」的除錯過程

前言:症狀對得上,代表診斷就對了嗎? 第三部到 Day 23 結束,今天正式進入第四部:實戰案例與總結。接下來幾天,會用幾個真實踩過的坑,具體示範前面 23 天...

鐵人賽 IT Operation DAY 16

技術 Day 16:跨版本相容,不是刻意做出來的,是「沒用到新語法」換來的

前言:跨版本相容,是刻意做出來的嗎? 「支援 PHP 7.1 到 8.3,程式碼裡是不是寫了一堆 if (version_compare(...)) 這種版本分...

鐵人賽 IT Operation DAY 15

技術 Day 15:composer.json 沒寫最低 PHP 版本,相容性靠誰承諾?

前言:CI 測過的範圍,等於正式承諾的範圍嗎? 「CI 矩陣測過 PHP 7.1 到 8.3,代表這個套件正式支援這個範圍吧?」 打開 composer.jso...

鐵人賽 Claude AI DAY 15

技術 Day 15:數值精度——為什麼金額運算要求強制使用 bcmath

前言:這條規則 AI 明明知道,為什麼還是會忘記套用 「金額運算要用 bcmath,不要用浮點數」——這條規則寫在專案規範裡,隨便問哪個 AI coding a...

鐵人賽 Claude AI DAY 9

技術 Day 09:Repository 重構實戰——一個 Controller 直接查資料庫的案例

前言:道理都懂,動手時卡在哪裡? 「SQL 要收斂進 Repository,這個原則我聽懂了。但真的要動手改一個已經在正式環境跑好幾年的 Controller,...

鐵人賽 Claude AI DAY 8

技術 Day 08:SQL 一律經過 Repository——把裸寫 SQL 的 legacy 程式碼收斂

前言:AI 看得懂 SQL,為什麼還要多包一層? 「AI 又不是看不懂 SQL,裸寫 SQL 讓它直接改,不是比多包一層 Repository 介面更快嗎?」...

鐵人賽 IT Operation DAY 3

技術 Day 03:把廠商官方 SDK,包進一個多人共用的套件慣例裡

前言:官方 SDK 都出了,為什麼還要包一層 「廠商都出官方 SDK 了,為什麼還要多包一層 Omnipay 驅動套件,不是直接用官方 SDK 比較快?」 這是...

鐵人賽 IT Operation DAY 2

技術 Day 02:12 個付款方式類別,怎麼用 14 個 Trait 組出來

前言:付款方式一多,欄位要怎麼組 「同一個 PurchaseRequest,要同時支援信用卡、ATM、超商代碼、無卡分期、電子發票,這麼多種欄位組合,是不是要寫...

鐵人賽 IT Operation DAY 1

技術 Day 01:AI 幫你寫更多程式碼,但品質防線要自己蓋

前言:AI 能補程式碼,但補不出你沒發現的缺口 「現在 AI 這麼厲害,寫測試不是應該叫 AI 順手補一補就好了嗎?」 如果你也這樣想過,這個系列想用一個真實存...

鐵人賽 Claude AI DAY 5

技術 Day 05:PHP 版本相容性驗證——本機新版 PHP vs 正式環境舊版 PHP 的陷阱

前言:本機測試都綠燈了,還會有什麼問題? 「AI 在本機把測試都跑過一遍,全部綠燈,這樣總可以放心合併了吧?」 如果你也這樣想過,先別急著點頭。這套系統正式環境...

鐵人賽 AI Engineering DAY 4

技術 Day 04:Repository 分層——把 AI 的改動範圍收斂到一個資料夾

前言:Repository 不是「把 SQL 包起來」而已 「Repository Pattern 不就是把 SQL 包進一個類別,讓程式碼比較好看嗎?」 如果...

鐵人賽 Claude AI DAY 2

技術 Day 02:Legacy 系統的典型樣貌——無框架、無測試、跨版本並存的痛

前言:「無框架」聽起來很簡單,為什麼反而更難重構? 「沒有框架不是應該更自由嗎?想怎麼改就怎麼改,哪來的複雜?」 這是我常聽到的另一個誤解。框架的價值從來不是「...

鐵人賽 Modern Web DAY 3
我推的Laravel S2! 系列 第 3 篇

技術 我推的Laravel S2|Day 02:環境建置:PHP 8.3+ 與 Composer

一句話破題 在寫任何一行 Laravel 程式碼之前,你需要一台裝好對版本 PHP、對版本 Composer 的電腦——這句話聽起來理所當然,但「對版本」三個字...

My Project 黃金儀表板-如何將 XAUUSD 價格與市場背景整理成可閱讀的介面

專案名稱 Gold Dashboard|XAUUSD 市場資料研究介面 專案簡介 Gold Dashboard 是一個以市場研究為導向的 Web 儀表板,將 X...

My Project XAUUSD 點差比較-如何將點差、手續費與每手總成本統一計算

專案資訊 專案名稱 XAUUSD Spread Comparison|多券商帳戶成本比較頁 專案簡介 XAUUSD Spread Comparison 是一個以...

My Project 黃金儀表板-局部更新失敗時,如何保留最後可讀的資料狀態

專案資訊 專案名稱 黃金儀表板|XAUUSD 資料更新與 Fail-soft 介面 專案簡介 黃金儀表板是一個以市場研究為導向的 XAUUSD Web 儀表板,...

My Project 黃金儀表板-用WordPress與PHP,JavaScript打造分區更新的XAUUSD市場資料介面

專案資訊 專案名稱 黃金儀表板|XAUUSD K線、支撐壓力與 AI 市場分析 專案簡介 黃金儀表板是一個以市場研究為導向的XAUUSD Web儀表板,將即時價...

技術 【用10年COBOL魂與vi,刻了20+年的雲端系統(DoesERP)】

好久沒來這平台了, 先來回顧自己的技術生涯. ★1991 – 2001:SCO-UNIX、vi 與 COBOL 的十年剛性內功1991 年,我從東海資訊畢業。1...

鐵人賽 生成式 AI DAY 8

技術 D-0x08【Vibe Coding 實戰】程式碼啟動!

在上一篇我們已經生了四份對應的程式碼,但接下來我們要怎麼讓這四份程式碼動起來? 我自己是習慣使用『Docker』環境來運行程式碼,不管在哪個OS,都是可控、穩定...

鐵人賽 生成式 AI DAY 7

技術 D-0x07 【Vibe Coding 實戰】第一份簡易程式碼

接下來我們的實作都會在VScode + Github Copilot ,所以一定要準備的 VScode + Github Copilot 不能少。 在覺得最舒服...

技術 【Codeigniter4 不廢話】第五課: head&footer

在html裡面直接加載 <?php require_once('template/header.php'); // 加載導航欄 ?>他會直接撈Vie...

技術 【Codeigniter4 不廢話】第二課: MVC框架使用

Controllers(處理資料)mycodeigniter\app\Controllers Models(操作DB資料)mycodeigniter\a...

技術 【Codeigniter4 不廢話】第一課:安裝

Codeigniter4 & XAMPP 下載點https://www.codeigniter.com/downloadhttps://www.apac...

鐵人賽 自我挑戰組 DAY 30
PHP框架-Laravel自學挑戰 系列 第 30 篇

技術 DAY 30 - 完結撒花!鐵人賽完賽心得分享

哈囉大家好!!今天就是鐵人賽的最後一天了,感覺好不真實最後一篇的內容想要來分享這次的完賽心得~ 首先很感謝ithome提供這個平台可以讓大家自我挑戰,除了可以...

鐵人賽 自我挑戰組 DAY 29
PHP框架-Laravel自學挑戰 系列 第 29 篇

技術 DAY 29 - resume builder: 程式碼優化-使用者登入狀態檢查

哈囉大家好~今天是鐵人賽的倒數第二天了!目前小專案也告一個段落,所以想要來優化一下程式碼~那就馬上開始吧! 在登入後的頁面,之前都沒有確認切換到該頁面時,使用者...

鐵人賽 自我挑戰組 DAY 28
PHP框架-Laravel自學挑戰 系列 第 28 篇

技術 DAY 28 - resume builder: 將resume更新至GitHub README (下)發送PUT request

哈囉大家好~今天除了發新的文之外,也會補上昨天的內容(有興趣的邦友可以看看昨天的文XD)在user資料表新增完OAuth Token欄位以及調整accessib...