[請益] php code在最後一行才require

看板Soft_Job作者 (改)時間8年前 (2016/05/25 18:59), 編輯推噓7(7021)
留言28則, 18人參與, 最新討論串1/2 (看更多)
因為我對PHP不熟,想請教一下, 最近看到PHP的一種用法就是在a.php的最後一行才requrie(b.php); 看起來是因為前人想要在a.php裡面先做一些處理後,再去用到b.php的功能, 而這種很不OO的方式來做code reuse實在讓我覺得不太習慣, 一來一般programming language都是在最一開始去把需用到的其他file include進來, 二來要code reuse應該要包成class才能達到封裝的目的。 這種"在a.php的最後一行requrie(b.php);"的用法 在PHP裡面算是很常見的用法嗎?? 它算不算一種不好的practice呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.12.164.213 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1464173949.A.77B.html

05/25 19:06, , 1F
這沒有什麼好不好的 看你架構需求阿
05/25 19:06, 1F

05/25 19:44, , 2F
很不常見的作法
05/25 19:44, 2F

05/25 20:02, , 3F
我是寫.net的...
05/25 20:02, 3F

05/25 21:10, , 4F
看狀況 有可能是特殊狀況也不一定 雖然少見這種做法
05/25 21:10, 4F

05/25 21:11, , 5F
另外如果是簡單的事情 PHP就不用很刻意物件化包來包去了
05/25 21:11, 5F

05/25 21:29, , 6F
不一定,也有包在中間行的,php就是這麼自由,連 framew
05/25 21:29, 6F

05/25 21:29, , 7F
ork都有好幾種,自己兜也沒問題,這是優點,也是缺點...
05/25 21:29, 7F

05/25 21:29, , 8F
..
05/25 21:29, 8F

05/25 21:33, , 9F
個人不喜歡這樣,我還是喜歡照規矩做
05/25 21:33, 9F

05/25 21:35, , 10F
不常見
05/25 21:35, 10F

05/25 21:36, , 11F
require(footer.php);
05/25 21:36, 11F

05/25 22:25, , 12F
PHP轉.NET 覺得麻煩0.0
05/25 22:25, 12F

05/25 23:54, , 13F
剛轉PHP的時候會覺得這樣很不好 但是寫習慣後會覺得
05/25 23:54, 13F

05/25 23:54, , 14F
很方便
05/25 23:54, 14F

05/26 00:32, , 15F
就很方便阿...不喜歡就別這樣寫囉。
05/26 00:32, 15F

05/26 04:18, , 16F
如果要純OOP的東西用PHP不是很奇怪~
05/26 04:18, 16F

05/26 08:44, , 17F
奇怪在哪?
05/26 08:44, 17F

05/26 09:51, , 18F
我幹過這種事 意外的方便
05/26 09:51, 18F

05/26 10:12, , 19F
我好奇問一下為啥這跟OO有關啊...
05/26 10:12, 19F

05/26 10:31, , 20F
和OO無關,只是覺得用OO的做法會更好
05/26 10:31, 20F

05/26 10:33, , 21F
可能我是這樣考量:把整個b.php視為一個object
05/26 10:33, 21F

05/26 10:34, , 22F
require(b.php)->等於在這裡實體化b
05/26 10:34, 22F

05/27 02:43, , 23F
oo的架構除了partialRender,entry和config外,不該再有
05/27 02:43, 23F

05/27 02:43, , 24F
require這種東西出現了
05/27 02:43, 24F

05/27 04:04, , 25F
Require跟oo有啥關聯
05/27 04:04, 25F

06/01 09:36, , 26F
這是一個很不好的作法,include 的 code 中帶有
06/01 09:36, 26F

06/01 09:37, , 27F
top level 的程式碼,會帶來 side effect。
06/01 09:37, 27F

06/01 09:39, , 28F
這已經違反 PSR1 的規範了。
06/01 09:39, 28F
文章代碼(AID): #1NHOLzTx (Soft_Job)
文章代碼(AID): #1NHOLzTx (Soft_Job)