国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

【轉(zhuǎn)載】我們都應(yīng)該學(xué)習(xí)PHP

Tinywan


今天這篇文章算是標(biāo)題黨吧,估計有很多朋友是因為PHP這三個字母進(jìn)來閱讀的?,F(xiàn)在開發(fā)者社區(qū)里面都在貶低PHP,唱衰PHP,已然成了一個梗。但我覺得PHP非常值得大家重新認(rèn)識,PHP開發(fā)者社區(qū)也非常值得大家學(xué)習(xí)。不見得是來學(xué)習(xí)PHP這門編程語言,可以學(xué)習(xí)PHP這門語言的設(shè)計思想和PHP開發(fā)者社區(qū)的運作模式。

PHP這三個字母官方的含義是這樣的——PHP: Hypertext Preprocessor。但我想對PHP這三個字母做一個新的解讀:Pragmatic、Humanized、Permanent。這三個單詞也是我們所熟知的注重實效、人性化設(shè)計和長期主義。在我看來,PHP這門編程語言和它背后的開發(fā)者社區(qū)非常深刻地體現(xiàn)了這三種思想,而這正是我們現(xiàn)在提倡的回歸的經(jīng)營本質(zhì)。

這么說有點太抽象,還是來舉具體的例子吧。我說一個所有做管理軟件的團隊都會遇到的問題,如何應(yīng)對客戶的定制化需求?

可能的解決方案之一是開分支。開一個分支,在分支上進(jìn)行定制開發(fā),然后交付給客戶。Git開分支很快,瞬間就完成了,挺簡單的。但如果有十個客戶、幾十個客戶、幾百個客戶呢?分支的維護就是巨大的成本。比如產(chǎn)生了Bug,需要在幾十乃至上百個分支里面進(jìn)行代碼的合并更新,這個維護工作就要了命了。

另外一種可能的解決方案是在代碼里面預(yù)留各種各樣的配置開關(guān)。針對不同的客戶采用不同的配置或者開關(guān)。但這種方式會造成大量的代碼冗余,程序結(jié)構(gòu)復(fù)雜冗長,邏輯結(jié)構(gòu)不清晰。長期積累下來之后,代碼就難以更新維護,成為屎山一樣的代碼。而且也沒有辦法完全解決客戶個性化的問題,搞不好還是需要開分支來解決。

到后來低代碼開發(fā)平臺就開始流行。其實這也不是什么新鮮事。我記得在2013年左右的時候去一個客戶那兒做培訓(xùn),他們團隊內(nèi)部有一個高手,做了一套快速開發(fā)平臺,給客戶做交付全是在這個平臺上進(jìn)行各種配置。表面上來看是快了,但實際上復(fù)雜度只會轉(zhuǎn)移,不會消失??焖匍_發(fā)平臺帶來的問題是抽象不夠、表現(xiàn)能力不強。受限于快速開發(fā)平臺本身的能力,難以解決更深層次的業(yè)務(wù)邏輯問題。所以這時候就需要快速開發(fā)平臺提供更強大的能力,比如邏輯判斷、循環(huán),甚至需要直接開放編程接口,允許用戶自己寫代碼來實現(xiàn)。到最后快速開發(fā)平臺本身就變成了一個開發(fā)語言。

來說說我們禪道項目管理軟件的解決方案吧。我們的解決方案就是給客戶提供擴展。而我們的這種能力是基于PHP的運行機制實現(xiàn)的。眾所周知,PHP是腳本語言,是動態(tài)加載動態(tài)執(zhí)行的。而且它也有很完善的面向?qū)ο缶幊痰臋C制,所以在PHP世界里面,可以做各種好玩的事情。禪道項目管理軟件的代碼分為了大家所熟知的MVC三層,即Model、View、Controller。同時我們又細(xì)分了Configuration、Language、CSS和JavaScript這些概念。在框架層我們還有基礎(chǔ)的Framework和核心的Library。所有的這些不同層次的代碼都是可以擴展的。禪道的所有請求都會經(jīng)由一個單一入口來加載,框架在加載代碼的時候會優(yōu)先判斷擴展目錄里面有沒有符合擴展規(guī)則的代碼需要加載。如果有的話,就先加載擴展的代碼。而擴展的代碼在繼承基礎(chǔ)代碼的基礎(chǔ)上又可以做進(jìn)一步的修改。通過這種方式我們就實現(xiàn)了非常完整的擴展機制,可以根據(jù)客戶的需要做各種的改動。我們給客戶交付的都是擴展代碼,從來不開分支。

禪道軟件的這種擴展機制,其實是很簡單的一種架構(gòu),沒有什么太復(fù)雜高深的技術(shù)。無外乎就是定義各種的擴展規(guī)則,然后實現(xiàn)動態(tài)加載的邏輯就可以了。但恰恰是這種簡單的架構(gòu)是最有效的??梢杂行Ы鉀Q個性化定制和主干代碼更新的問題。而這種能力是在PHP語言的動態(tài)機制基礎(chǔ)上構(gòu)建的。這是PHP注重實效的非常好的一個體現(xiàn)。

PHP社區(qū)也非常注重開發(fā)者友好。我就不多講,簡單說幾個點。比如PHP的手冊,非常成體系,非常翔實,是我見過所有編程語言里官方文檔維護得最好的。PHP在語言設(shè)計的時候也盡量給到開發(fā)者各種的自由,沒有太多強制的地方。同一個問題在PHP世界里面有各種各樣的實現(xiàn)方式。

PHP開發(fā)者社區(qū)也非常地穩(wěn)健,不急不躁,穩(wěn)步前進(jìn)。PHP社區(qū)在更新迭代的時候采取了漸進(jìn)式的方式,向下的兼容性做得很好。這樣可以保證老版本PHP開發(fā)的程序也可以享受新版本PHP帶來的性能提升的收益。兩年前PHP社區(qū)還成立了基金會,累計募集了超過110萬美金的資金,截止今天賬面上結(jié)余73萬美金。在過去的一年里,PHP基金會雇用了6位全職或者兼職的PHP開發(fā)人員。在新的一年里還會計劃雇用4名開發(fā)人員。消息發(fā)出后,PHP基金會共得到了207份申請。PHP基金會從中選出了12名合格候選人的候選名單,又從中選出了4名杰出的開發(fā)者。自從成立了基金會之后,PHP的發(fā)版速度也在加快,一切都在朝著更好的方向發(fā)展。

今天是借PHP這門編程語言展開討論。但其實在產(chǎn)品研發(fā)和企業(yè)經(jīng)營過程中也是一樣的道理。同樣也需要注重實效、人性化設(shè)計和長期主義。隨著新經(jīng)濟周期的到來,我相信會有越來越多的團隊開始注重三者。比如我最近就看到了好多從微服務(wù)架構(gòu)重新用單體應(yīng)用模式重構(gòu)的案例。

我是春哥,禪道軟件公司的創(chuàng)始人,二十年的IT老兵,14年的創(chuàng)業(yè)者。這是我的個人公眾號。喜歡編碼,喜歡做產(chǎn)品,所以我用了代碼之歌做我的公眾號的名字。我會持續(xù)地更新關(guān)于企業(yè)管理、產(chǎn)品管理、項目管理、團隊建設(shè)、創(chuàng)業(yè)、學(xué)習(xí)型組織、企業(yè)文化、開源軟件等方面話題的實踐和思考,歡迎大家和我討論交流。

?2023年12月24日 拍攝于 · 杭州西湖

原文地址:https://mp.weixin.qq.com/s/0GOHz0_J5soppSCpa4Q-CA

2179 5 0
5個評論

zAc

有道理 唱衰php 往往都是自己人 不知道怎么想的 他們當(dāng)初靠他吃了第一碗飯 入了行 轉(zhuǎn)頭就砸自己的鍋

songjean

我經(jīng)常關(guān)注你的技術(shù)小棧的公眾號,文章寫的很好,非常不錯??!可以加你的微信交流嗎

holly188

我就是以php入行,超10年的老開發(fā),第一個項目是用thinkphp做了一個微信商城,然后從事過.net,Java項目開發(fā),做過互聯(lián)網(wǎng)開發(fā),也做過工控軟件開發(fā),當(dāng)初放棄php,一個是因為接手的項目都是java,另一個主要是因為php的運行方式不夠高效,以致于后面自己主導(dǎo)一些周邊項目時,也不敢輕易使用。直到兩年前自己創(chuàng)業(yè),重新考察互聯(lián)網(wǎng)的技術(shù)方案,接觸到webman,令我眼前一亮!保留了php開發(fā)便利的同時,運行還非常高效,框架也設(shè)計得非常優(yōu)雅簡潔,又愛上了php,對比之下,java這種東西,用過的人都知道,愛恨交加?,F(xiàn)在團隊幾個人都在用webman,順利且快速上線了好幾個項目,其中一個項目日訪問量過10萬,穩(wěn)定得很,等經(jīng)濟允許了,我們會第一時間贊助webman社區(qū)。

  • Tinywan 2024-02-07

    感謝大佬的認(rèn)可,webman需要你這樣的人大佬用實際項目來證明一切,也希望多多推薦一下webman,謝謝啦?。?!

  • 無法埋名 2024-03-15

    php在處理數(shù)組、json之類的能甩java幾條街

  • 567 2024-03-30

    我是支持php 說php不行的其實都是自己水平不行 水平可以的 一般問題都能解決 都是一些自己搞不定了怨語言 當(dāng)然有些方面生態(tài)方面php確實不如java 但是主流生態(tài)還是非常好的

釋永戰(zhàn)

阿彌陀佛····

  • 暫無評論
567

這個文章應(yīng)該大力推廣 php在現(xiàn)在性能提升了 感覺和別的語言也沒什么太大的差距了 java 給我的感覺繁復(fù)冗余 當(dāng)然和php比起來

Tinywan

13420
積分
0
獲贊數(shù)
0
粉絲數(shù)
2020-01-14 加入
??