在遠(yuǎn)古,曾經(jīng)有一個(gè)盛極一時(shí)的程序語言時(shí)代,人們以尋找最好的編程語言、打造最好的編程招式為追求,皆為能在變幻莫測的0、1世界獲取一席立足之地而混戰(zhàn)廝殺——史稱“靈妖的武林世界”。
在這里,Java、C、C++、C#是靈妖武林排名前幾的門派,號(hào)稱武林正派,奉行規(guī)矩、穩(wěn)扎穩(wěn)打,擅長以靜制動(dòng)之天地大法。
另一派號(hào)稱自由派,堅(jiān)信天下武功唯快不破,你強(qiáng)我快,至少我不落下風(fēng),它們的代表是Python、JavaScript、Ruby、PHP、Perl等等,雖排名比不上名門望族,但也山頭林立,各有千秋。
此外還有一派,武學(xué)修為超越動(dòng)靜,認(rèn)為世上一切皆由不變生萬變,將武功萬千形態(tài)歸于函數(shù),創(chuàng)造出單子、幺半群等至玄至奧武功,其代表為Haskell、Scala、Lisp等,其中Lisp獨(dú)創(chuàng)連綿不絕之括號(hào)原力,用括號(hào)苦其心志,勞其筋骨,餓其體膚,終延展出不少方言武功,呈現(xiàn)弟子數(shù)不及方言數(shù)之勢,然其中一門方言Clojure為該派之冉冉新星。
還有非常多的各宗各派,比如Go,雖在武林中排名50上下,但仍孜孜不倦,常懷一顆追求之心。
這,就是紛繁復(fù)雜的靈妖編程世界。
今天,我們要講的是PHP派——及其一位門生——無名——的故事。PHP在武林里的名聲不可謂不高,號(hào)稱“最好的編程語言”,雖各家門派大都嘴服而心不服,但也佐證了PHP必有其獨(dú)特之處的事實(shí)。PHP名聲大,一開始即聚焦于Web領(lǐng)域,然名望卻一直受累于剛出道時(shí)的莽撞行為——死纏爛打不講規(guī)矩。若干年后雖成名立萬,極大豐富完善了自身武功修為,當(dāng)下的七重威力已甚少敵手,可過往歷史始終難叫人忘懷。
時(shí)光再早百來年,大約在靈妖五百五十年間,PHP派一位高人,創(chuàng)造出了PHP的一個(gè)奇幻招式——生成器(Generator),因包含了連環(huán)八式的變化,又被稱為“龍襲八式”。
其中最重要的招式是current()
、next()
和send()
。龍襲八式尤其擅長對(duì)付那些需要耗費(fèi)大量內(nèi)力的耗時(shí)硬仗,比如大文件處理、結(jié)構(gòu)復(fù)雜數(shù)量眾多的目錄文件遍歷處理、無窮無盡的斐波那契數(shù)列處理等。龍襲八式能夠做到幾乎無礙自身內(nèi)力,應(yīng)戰(zhàn)時(shí)內(nèi)力如滔滔江水般雄健渾厚,無窮無盡、一往直前,最終讓對(duì)手筋疲力竭,從而戰(zhàn)勝敵人。
但不可思議的是,不知何時(shí),龍襲八式漸漸失傳了,江湖上只剩下傳說,偶爾有其現(xiàn)身的消息,卻終究是一閃而過。可是江湖對(duì)龍襲八式的欲望之門卻從未關(guān)閉。大致是兩種人在尋找它:一種是PHP的門人,希望借助龍襲八式進(jìn)一步提升功力,并提升PHP影響力;第二種是渴望擊敗它的武林豪杰,如另一Python流的生成器,總希望跟龍襲八式一較高低。
當(dāng)時(shí)的江湖就是這樣,彼此不服,崇尚特立獨(dú)行、標(biāo)新立異,一言不合就擼碼廝殺,微博開罵。但歷史前行的車輪卻是不可能倒退的,尋求極致,在這個(gè)以編程語言說話的世界里,是行事準(zhǔn)則。
近日武林中又有傳聞,說龍襲八式在暴風(fēng)城附近出現(xiàn)。皆因傳聞時(shí)有,師父心有不安,遂派無名下山一探究竟。
無名自幼勤習(xí)PHP武功,PHP武功嫻熟,然心中一直有個(gè)遺憾——那就是始終無緣見識(shí)龍襲八式,對(duì)于極度崇尚自家PHP武功的自己而言,都實(shí)在不好意思跟別人提起自己是寫PHP的了。此次師父交辦的事情,真是正中下懷。
無名借助<form>
和$_POST
招式,不日即達(dá)暴風(fēng)城外的森林。這是他第一次出遠(yuǎn)門辦理師父交辦的重要任務(wù),心里既忐忑又雞凍,剛到森林即遇到洛薩跟古爾丹大戰(zhàn)。對(duì)于古爾丹這個(gè)邪惡的Boss,無名氣不打一處來,今個(gè)兒遇上個(gè)正著,豈能不伸張正義幫助英雄的洛薩?!無名自恃PHP功力雄厚,頗不把古爾丹放在眼里,可大戰(zhàn)八百招之后,無名不禁暗暗叫苦,畢竟年輕,內(nèi)力眼看撐不住了,而古爾丹的邪能卻施展正酣。轉(zhuǎn)眼又是百招過去,無名一不留神就被古爾丹一掌擊飛百丈開外,不巧的是,恰好又落到了一個(gè)深不見底的地洞里。
無名在地洞了極速墜落了好一會(huì)兒,終于“嘣”一聲重重落地,要不是無名及時(shí)施展出了PHP大法中的urlencode
招式,否則難免重傷倒地。
無名驚魂未定之際,突然黑暗中傳來一聲大喝:“來者何人?使得可是PHP派功法?”無名心頭大駭,急問道:“前輩何人,如何知道小生使得是PHP大法?”那人黑暗中哈哈一陣大笑,說道:“我知道你為龍襲八式而來,看你是PHP門人,且根骨清奇、為人正直,我且傳你這式絕世奇招吧!“未等無名反應(yīng)過來,忽然一個(gè)碩大的黑影撲面而來,在無名身上迅速連拍了百多兩百掌。說也奇怪,無名頓覺體內(nèi)真氣涌動(dòng),隨全身經(jīng)絡(luò)而有序游走,說不出的澎湃激蕩,但又十分舒適。緊接著,那黑影貼著無名的身體,搬弄擺布著無名,指點(diǎn)其招式,口中不停傳授要義。
無名天資聰穎,約莫一個(gè)時(shí)辰的功夫,無名即將這式曠古絕學(xué)掌握得滾瓜爛熟。此時(shí),黑影一晃,重新回到了黑暗之中,只聽他對(duì)無名說:“你已完全掌握了龍襲八式,可以上去斗古爾丹了。”無名大喜,急切想問:“前輩何人?是我PHP門長老嗎?”那人回道:“我是肯瑞托的一位法師,不要問我從哪里來、要往哪里去。我除了授予你龍襲八式,還幫你打通了任督二脈,現(xiàn)在的你足以笑傲江湖了。地上交戰(zhàn)正是緊急關(guān)頭,你趕緊上去......”無名不及細(xì)想,道謝之后躬身一縱,“嗖”地一聲躍上了地面,迎面就是古爾丹!
古爾丹看到無名沒死,心中甚是驚訝,立馬釋出邪能,意欲置無名于死地。無名見狀,先是運(yùn)行rewind()
,做好應(yīng)對(duì)準(zhǔn)備。看著古爾丹使將出邪能,緊接著立馬連續(xù)而快速地施展出next()
、current()
組合招式,間或夾雜著send()
,一時(shí)間把龍襲八式使得風(fēng)生水起,古爾丹大駭:“這小子怎么一時(shí)之間功底突飛猛進(jìn)如斯?!”尚未等他反應(yīng)過來,無名連綿不絕的PHP內(nèi)力已如排山倒海般借著又一式的next()
迎面而來。“哇嗚”一聲,古爾丹被震飛了五百丈開外,連噴數(shù)口鮮血,而且是綠色的。古爾丹艱難地爬起來,怎么也想不明白這就是傳說中的龍襲八式,也不等他細(xì)想,大喊一聲:“Mak'gora,瑪克戈拉喲,嘞了個(gè)去。”趕緊騎上餓狼坐騎狼狽逃離......
無名看著1000點(diǎn)生命值的古爾丹被自己的龍襲八式瞬間擊倒,不禁提刀而立,為之四顧,為之躊躇滿志,過了良久,感慨道:“PHP大法好”......
(我的博客:http://www.2gua.info)