首頁  >  文章  >  後端開發  >  PHP舊系統基於命名空間重構經驗 php 命名空間 大小寫 php命名空間 自動載入 php 命名空間 us

PHP舊系統基於命名空間重構經驗 php 命名空間 大小寫 php命名空間 自動載入 php 命名空間 us

WBOY
WBOY原創
2016-07-29 08:52:311214瀏覽

命名空間其實只是一個形式,最終目的是重構程式碼,但這個過程想要一蹴而就是不可能的。

一開始給了一個偽命題:基於ThinkPHP的重構(不要為什麼)。經過一段的實踐,發現這是一個大錯特錯的思考方式,其中遇到的坑在此略過不表。

首先,不要想著全盤基於命名空間重寫,而應該是基於局部的。

最終思考後的結果,是以Model層基於命名空間改造為目標,這樣可以在新的框架下重複使用系統中Model層資源。因為理論上Model層只與資料打交道,耦合度最低。

但改造過程也發現一些問題,Model層耦合了業務邏輯,甚至與session、cache等系統環境掛鉤,不是純粹的Db操作,而是含有許多業務代碼,這意味著這一部分的程式碼在初步改造完成後,是無法在新框架中重複使用的。

這些存在問題的地方,也間接證明了一些基礎程式設計思想的正確性:OOP的本質是程式碼重用;PSR系列規範對於提高程式碼重用度的直接作用;程式碼分層合理性對於程式碼維護性的影響等等;全域變數對程式碼重用性的極度負面影響。

什麼是逐步重構?

逐步重構的基本原則是相容,不是推翻重來,只要事情變成了推到重來,就不是重構,簡直就是重寫了。在創業小團隊,推到重寫,are u kidding me?

相容是重構的起點和過程,重用是結果;新的功能可以基於新的框架開發,但同時可以重用已有功能代碼,所以這是一個過程。

以上就介紹了PHP舊系統基於命名空間重構經驗,包括了命名空間,php方面的內容,希望對PHP教程有興趣的朋友有所幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn