偷懶萬歲 讓PHP自己初始化類

2021-05-23 08:23:46 字數 971 閱讀 5860

(本文於2010.10.01發表在 《草根》雜誌

第四期)

<?php

class a

...... }

?>

很平常的一段**不是嗎?相信大家也都寫過類似的東西,我以前也寫過很多。由於我是乙個懶人,懶到不想多打幾個字,於是我很討厭每次都要手工去new 一下那個物件,這得讓我多打多少個字啊,累啊。於是我就在想,怎麼能讓php 自己去對某個物件進行初始化呢?

古人教導我們「書中自有顏如玉,書中自有**屋,書中自有偷懶法……」你說什麼?沒有最後那句?哦,好吧,那是我加的- -! 反正多看看書沒壞處啦,你問什麼書?當然是php 手冊啦,其他的書我基本沒看過,主角是未央生那本算是看過……

言歸正傳啊,我就拿著手冊看啊、看啊、看啊,終於,我找到了乙個魔術方法,__get()

很符合我的要求嘛,不錯不錯,接下來需要做的就是思考,如何來做呢?第一次,我將**寫成了這樣:

<?php

class a else }

function a1()

...... }

?>

但是很快,我發現不對勁了,每執行一次$this->db 的時候都會重新new 乙個物件出來,這可不行,用的多了,記憶體不是全完蛋了?於是我又想到了單件模式,略加思考得出了以下的版本:

<?php

class a else }

$instance = $instances[$name];

return $instance; }

function a1()

...... }

?>

太爽了,不是麼?只要類名和它自己的檔名相同,並且放在指定的目錄下,我就可以不用去include ,不用去new ,使用的時候直接$this-> 類名-> 類中的方法/ 屬性 偷懶成功了!我相信不少朋友肯定想到了進一步偷懶的方法對吧?偉大的誰誰誰曾經說過,「不會偷懶的程式設計師不是乙個好的程式設計師」,所以讓大家一起開動腦筋,想出更多偷懶的辦法來吧。

理解yarn平台,理解萬歲,膚淺理解也萬歲

從hadoop1到hadoop2很大程度上解放了jobtracker資源排程的問題,這就得多虧了yarn平台了。我知道的,除了我們的大豆瓣用的是mesos,咱們國家可以說應該是99.99 都使用的是yarn,當然了,國外使用的大多是mesos。然而我對mesos並不理解啥,只知道他和yarn一樣的作...

德瑪西亞萬歲

題目描述 德瑪西亞是乙個實力雄厚 奉公守法的國家,有著功勳卓著的光榮軍史。這裡非常重視正義 榮耀 職責的意識形態,這裡的人民為此感到強烈自豪。有一天他們想去制裁 的比爾吉沃特,於是派遣了自己最優秀的戰士。結果比爾吉沃特領土太小,只有長為n寬為m共計n m塊土地,其中有些土 地標記為0表示為高山峻嶺或...

Solaris已經死了,Linux萬歲

中午的時候看到這個標題,頓時沒了睏意,long live linux 文中據說窺到了oracle今後行動的一些端倪,是的從去年以來,我們一直都在等待著這個巨人的行動。從1993年linux誕生以來,這個傢伙改變了整個it界,曾經昂貴 封閉的unix系統,在ibm的倒伐和google的無視下,現在已經...