鍍金池/ 問答/Java  PHP/ PHP不像java, 對(duì)象的生命周期極短, 實(shí)例化沒有意義,對(duì)嘛?

PHP不像java, 對(duì)象的生命周期極短, 實(shí)例化沒有意義,對(duì)嘛?

代碼沒有一個(gè)實(shí)例,全是靜態(tài)方法調(diào)用,這樣有什么好處和壞處?
PHP不像java, 對(duì)象的生命周期極短, 實(shí)例化沒有意義,對(duì)嘛?

回答
編輯回答
短嘆
代碼沒有一個(gè)實(shí)例,全是靜態(tài)方法調(diào)用

那是因?yàn)?php 以前就沒有 OO 那套東西。有毛好處,就是簡(jiǎn)陋。

PHP不像java, 對(duì)象的生命周期極短, 實(shí)例化沒有意義,對(duì)嘛?

那看什么對(duì)象,如何設(shè)計(jì), web 場(chǎng)景下, java 如果處理每個(gè)請(qǐng)求都實(shí)例化一下,一樣生命周期極短。

2018年8月2日 05:10
編輯回答
薔薇花

對(duì)象并不是用來提升性能的。

面向?qū)ο笫且环N開發(fā)方式。
解決一個(gè)問題最好的方式就是將它抽象成一個(gè)通用的解決方案,然后用對(duì)象來完成方案的細(xì)節(jié)的封裝。

2018年5月8日 22:12
編輯回答
解夏

這樣講的話,python,lua都不需要實(shí)例化了,畢竟生命周期也很短。

2017年4月27日 00:01
編輯回答
吃藕丑

全是靜態(tài)方法太占用內(nèi)存啦。。優(yōu)點(diǎn)就是調(diào)用會(huì)快點(diǎn)。
PHP生命周期短是由于有垃圾回收機(jī)制,你也可以不用這個(gè)機(jī)制。

2018年3月30日 08:31
編輯回答
祈歡

大家都說了理論上的東西了,那我就說點(diǎn)實(shí)際場(chǎng)景的。

PHP搞面向?qū)ο螅艺业降膬煞N非常有用的場(chǎng)景:

一種是功能極為單一且會(huì)在大量不同場(chǎng)景下使用到的模塊,用面向?qū)ο蠓椒〞?huì)非常容易移植。雖說直接寫個(gè)函數(shù)也可以,但是就會(huì)有不確定性的沖突問題,而實(shí)例化不僅調(diào)用簡(jiǎn)單,而且文檔好寫,沖突好解決。舉例子來講的話,可以參考IPIP的免費(fèi)版PHP接口。

另一種是PHP框架,這種情況下類和對(duì)象復(fù)用率極高。

因?yàn)镻HP大部分情況下面對(duì)的問題都很唯一,所以復(fù)用率會(huì)比較低,所以PHP也不是非常面向?qū)ο蟮恼Z言。

2017年9月14日 18:16
編輯回答
命多硬

實(shí)例擴(kuò)展性好點(diǎn),靜態(tài)速度快

2017年2月26日 07:48
編輯回答
不歸路

對(duì)象化最大的好處是利于擴(kuò)展,當(dāng)然執(zhí)行上就沒有靜態(tài)化調(diào)用來的快,兩者取中間點(diǎn),具體看你的業(yè)務(wù)需求

2017年6月5日 21:09
編輯回答
憶當(dāng)年

短不短取決于你怎么用它,如果你打算用來跑swoole之類在cli下運(yùn)行的腳本,然后又用一堆靜態(tài)方法靜態(tài)屬性甚至一堆單例,立馬就可以坑到你沒脾氣。
OO最重要的用途是抽象,如果全是靜態(tài)方法靜態(tài)屬性,那干嘛不用命名空間 + 函數(shù) + 靜態(tài)變量,要是閉包再用的6一點(diǎn),變量照樣可以隱藏起來實(shí)現(xiàn)模塊化,但是那樣看起來更像是在寫c語言

2017年4月30日 03:28
編輯回答
綰青絲

靜態(tài)調(diào)用更快點(diǎn)

2018年2月9日 07:22