目錄
什麼是PHP-FIG,為什麼它很重要?
在PHP-FIG的上下文中,“Quo Vadis”是什麼意思?
PHP-FIG如何為PHP社區做出貢獻?
對PHP-FIG的一些批評是什麼?
我如何參與PHP-FIG?
“Quo Vadis”一詞在藝術和文學中的意義是什麼?
PHP-FIG如何決定新的標準?
PHP-FIG的未來是什麼?
PHP-FIG的工作如何影響日常PHP開發者?
PHP-FIG標準的一些實際示例是什麼?
首頁 後端開發 php教程 php-fig:你要去什麼?

php-fig:你要去什麼?

Feb 10, 2025 pm 12:20 PM

PHP-FIG, Quo Vadis?

PHP框架互操作性小組(PHP-FIG)的未來:何去何從?

PHP框架互操作性小組(PHP-FIG)通過採納更多PHP標準建議(PSR)在吸引PHP的積極關注方面取得了顯著進展。這些建議規範了編碼標準、樣式指南、自動加載、日誌記錄、緩存和HTTP消息。

然而,由於內部糾紛以及知名項目和個人的退出,PHP-FIG的未來並不確定。該組織因官僚主義和負面氛圍加劇而受到批評,阻礙了有效參與。

本文認為,PHP-FIG應該簡化其運作,更加關注改進PSR的溝通和討論。這可能包括讓非專家更容易參與,並減少PSR的審批時間。

作者認為,PHP-FIG的未來取決於其能否重新關注其最初的互操作性目標。這意味著減少對治理和管理的重視,更多地關註生成可互操作的代碼。

感謝Andrew Carter、Younes Rafie和Scott Molinari對本文的同行評審!

波蘭作家亨里克·顯克維支因其史詩小說《Quo Vadis》(拉丁語,意為“你去哪裡?”)獲得了1905年諾貝爾文學獎。面對任何困境,短暫的停頓和重新定義目標都可能具有療效。

PHP-FIG, Quo Vadis?

PHP-FIG已經走向成熟。隨著更多PHP標準建議(PSR)的採納,PHP贏得了編程社區更多積極的關注和讚賞。 PSR規範了編碼標準、編碼樣式指南、自動加載、日誌記錄、緩存和HTTP消息。

其他處於不同草案和審查階段的提案涵蓋了超媒體鏈接、PHPDoc標準、事件管理、緩存和安全問題。甚至還有一個關於“可擁抱接口”(PSR-8)的提案,其中討論了可擁抱對象和相互保證的擁抱!

然而,未來並非一片光明,最近組織內部的衝突使其持續存在受到質疑。

起源

PHP-FIG的種子於2009年在php|tek會議上播下,當時一些開發者聚在一起分享想法。這是出於對PHP社區內部碎片化的擔憂,該社區聚集在不同的框架和應用程序島嶼上。 FIG應該是PHP的Java社區流程的等效物,一個開發Java標準技術規範的平台。

他們的目的是創建一個論壇,用於討論PHP項目面臨的共同問題,並通過合作尋找合作和互操作性的方法。他們希望更容易在不同項目之間共享完成的工作。

組織

參與就像訂閱Google群組郵件列表或加入IRC頻道一樣簡單。對審議進行投票需要投票會員資格。

一般的行政職責由三位秘書執行,他們每年在不同的月份當選,任期兩年。組織日常運作的細節可在PHP-FIG網站的章程部分找到。

成功之處

如上所述,PSR-4(自動加載標準)描述了從文件路徑自動加載類的規範。它旨在完全互操作,並且可以用於補充任何現有的自動加載規範,包括PSR-0(已棄用的自動加載標準)。此PSR還描述了根據規範自動加載的文件位置。

使用Composer(PHP-FIG的投票成員),安裝和使用符合PSR-4的包非常簡單。像Carbon這樣的與框架無關的包可以毫無問題地放入任何符合PSR-4的應用程序中。

同樣,PSR-7(HTTP消息)通過提出描述HTTP請求和響應的規範,為互操作性打開了更廣闊的大門。 PSR-13(HTTP中間件)將建立在PSR-7的基礎上,並進一步推動符合規範的框架和應用程序之間的互操作性界限。

待定的PSR的可貴目標可能無法實現,因為該組織的基礎本身正受到威脅。

爭議

當前情況可以在郵件列表的這篇文章中總結:“法律主義官僚主義的增加佔據了主導地位,並且阻礙了該小組成立的良好工作。更直白地說,FIG在最近幾個月變得越來越具有毒性,使得有效參與幾乎不可能。”官僚主義。毒性。

郵件列表接收大量超出互操作性技術討論範圍的消息。以下是主題示例:“秘書利益衝突”、“秘書之間的和諧”、“驅逐投票的章程修正案”、“你怎麼能容忍這個人?!”、“驅逐章程變更”、“請求投票驅逐xxxxxx ”、“宣布xxxx會員資格無效”等等。

甚至還有一個最近的主題——FIG 3.0的替代方案——是時候宣布FIG完成了嗎?前提是,FIG已經完成了它的工作,不需要FIG 3.0,所以讓我們解散PHP-FIG。 FIG 3.0提案是對組織複雜章程、結構和流程的改寫。一些人,包括關於解散該小組的帖子的作者,會認為FIG 3.0試圖用更複雜的官僚主義來取代官僚主義。

Laravel、Doctrine、Propel、Guzzle、PHP League和Assetic等知名項目的退出以及個人的離開並沒有改善局面。驅逐三位秘書中的一位的嘗試在投票障礙中失敗了。也許是為了抗議,PHP社區驅動的標準(PHP-CDS)成立了,它具有非常鬆散的結構和較低的提案入門門檻。

據他們說:“PHP CDS不是一個群體或組織,它是一個概念。其核心思想是讓社區創建RFC,討論它們,然後對它們作為社區標準的接受進行投票。”術語PHP社區標準( PCS)與Java社區流程(JCP)相呼應,但在首先建立組織時,這可能只是對FIG內部衝突的抗議。

和諧的未來

多年來,開源社區體現了善意和和諧,其模式贏得了銷售專有解決方案(通常是閉源的)公司的讚賞。

支持包括極其流行的Apache HTTP服務器在內的廣泛項目的Apache軟件基金會仍然強大。 Linux基金會為Linux內核項目提供了一個家,這可能是世界上最大和最重要的開源項目。然後還有圍繞Symfony、Drupal、Composer、Guzzle等優秀軟件聚集的強大社區。

也許是由公司實體開發或支持的項目做得很好。也許是由一個受人尊敬和欽佩的人物啟動和領導的項目。

不和諧的音符

如果開源社區已經看到了人類的最佳狀態,那麼它也看到了它公平份額的言語殘酷的攻擊和內亂。人們經常意見不合——鄰居並不總是意見一致。高速公路上的駕車者會找到一種方式來表達他們對彼此的不滿。這是作為群居動物的生活事實。

Linus Torvalds無疑是一位天才,但你不會想把他列入外交官職位名單的首位。當然不是一個顯然寫信給郵件列表的人,“我們可以擺脫腦損傷的愚蠢的網絡註釋語法風格嗎,拜託?”或者,在另一條消息中,“好”的評論,例如,“我是一個混蛋。我完全不知道為什麼人們會認為我並非如此。然而他們確實如此。人們認為我是一個好人,事實上我是一個陰險狡詐的混蛋,如果這只是導致我所認為的更好的系統,我並不關心任何受傷的感情或失去的工作時間。我不是在開玩笑。我真的不是一個很好的人。我可以面不改色地說'我不在乎',並且真的這麼認為。”好吧,沒有人因為這些話或他對拉取請求的評論而感到如此惱火,以至於繼續分叉Linux內核。

大約在2014年,Github遭受了它自己的地震,當時一名女員工對辦公室的性別歧視、騷擾和恐嚇提出了一些說法。這個故事有多個方面,其中最重要的是一些女士在辦公時間隨著音樂 hula-hooping,而男性極客則在多任務處理——編碼並同時盯著舞者。除了輕浮之外,她聲稱:“我很難適應這種文化,拉取請求上的攻擊性溝通以及我一起工作的男性如何不尊重和重視我的意見。”當她的“性格開始在不恰當的地方(如拉取請求和問題上)被討論時”,她感到震驚。

Github的故事還有其他方面,但這表明,當兩三個開發者在一起時,他們的中間就會有分歧。不和諧是人類經驗的一部分。我們如何處理對周圍人的令人反感的看法,揭示了我們很多信息。

前進的道路

PHP-FIG正處於內爆的微妙道路上。自其出現以來,我們所目睹的良好之處是其持續存在的最有力論據。然而,用FIG 3.0偽裝的新官僚主義來取代所謂的破損的官僚主義的想法是基於存在良好官僚主義的前提。 FIG網站上的章程頁面和投票流程過於復雜。如何簡化FIG的運行?如何只關注互操作性而不關注實現細節?

前進的道路可能在於更少的官僚主義,以及更多地關注如何改進PSR的溝通和討論。也許它應該讓“非專家”更容易參與到這個過程中,以促進包容性?一些PSR在管道中存在了5年以上。真的需要這麼長時間嗎?

欽佩Linus Torvalds作為一個人也好,不也好,讓我們停下來傾聽。他曾被引用說:“空談誤事。給我看代碼。”另一個——“能做的,去做。不能做的,就抱怨。”我做不到,但我不會抱怨。在FIG中少說多做,更多可互操作的代碼,儘管概念的實現不同,未來越好。

關於PHP-FIG和Quo Vadis的常見問題解答(FAQ)

什麼是PHP-FIG,為什麼它很重要?

PHP框架互操作性小組(PHP-FIG)是一個協作項目,旨在標準化和簡化PHP開發者編寫代碼的方式。它之所以重要,是因為它促進了最佳實踐,鼓勵代碼共享和重用,並提高了不同PHP框架之間的互操作性。通過遵循PHP-FIG標準,開發者可以確保他們的代碼更易於維護、可擴展和健壯。

在PHP-FIG的上下文中,“Quo Vadis”是什麼意思?

“Quo Vadis”是一個拉丁語短語,翻譯成“你去哪裡?”在PHP-FIG的上下文中,它指的是該小組的未來方向和發展。這是一個鼓勵反思該小組的目標、戰略和進展的問題。

PHP-FIG如何為PHP社區做出貢獻?

PHP-FIG通過創建和推廣稱為PSR(PHP標準建議)的標準來為PHP社區做出貢獻。這些標準為常見的編碼任務(例如編碼風格、自動加載和日誌記錄)提供了指導。通過遵守這些標準,開發者可以確保他們的代碼與其他符合PSR的代碼兼容,從而更容易協作和共享代碼。

對PHP-FIG的一些批評是什麼?

一些批評者認為,PHP-FIG的標準過於規範,限制了開發者的靈活性和創造力。其他人認為,該小組的決策過程過於緩慢和官僚。然而,許多開發者讚賞PHP-FIG標準提供的穩定性和互操作性。

我如何參與PHP-FIG?

任何人都可以通過參與該小組郵件列表上的討論或為其在GitHub上的項目做出貢獻來參與PHP-FIG。您還可以通過在您自己的項目中推廣PHP-FIG的標準並鼓勵其他人這樣做來提供幫助。

“Quo Vadis”一詞在藝術和文學中的意義是什麼?

“Quo Vadis”是一個已在各種藝術和文學形式中使用的短語,通常象徵著決策或反思的時刻。這是一個強大的隱喻,可以應用於許多不同的上下文,包括PHP-FIG的演變。

PHP-FIG如何決定新的標準?

PHP-FIG社區提出並討論新的標準。提案經過嚴格的審查過程,包括投票階段,然後才能被接受為正式標準。

PHP-FIG的未來是什麼?

PHP-FIG的未來取決於PHP社區的持續參與和貢獻。該小組正在不斷努力製定新的標準和倡議,以改進PHP開發實踐。

PHP-FIG的工作如何影響日常PHP開發者?

PHP-FIG的標準可以使開發者更容易編寫、共享和維護他們的代碼。通過遵循這些標準,開發者可以確保他們的代碼與各種框架和庫兼容,從而提高其實用性和壽命。

PHP-FIG標準的一些實際示例是什麼?

許多流行的PHP框架和庫,如Laravel、Symfony和Zend,都遵守PHP-FIG的標準。這意味著為一個框架編寫的代碼通常可以與另一個框架一起使用,只需進行最小的修改,從而使開發者更容易在框架之間切換或在項目中組合不同的技術。

以上是php-fig:你要去什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1654
14
CakePHP 教程
1413
52
Laravel 教程
1306
25
PHP教程
1252
29
C# 教程
1225
24
在PHP API中說明JSON Web令牌(JWT)及其用例。 在PHP API中說明JSON Web令牌(JWT)及其用例。 Apr 05, 2025 am 12:04 AM

JWT是一種基於JSON的開放標準,用於在各方之間安全地傳輸信息,主要用於身份驗證和信息交換。 1.JWT由Header、Payload和Signature三部分組成。 2.JWT的工作原理包括生成JWT、驗證JWT和解析Payload三個步驟。 3.在PHP中使用JWT進行身份驗證時,可以生成和驗證JWT,並在高級用法中包含用戶角色和權限信息。 4.常見錯誤包括簽名驗證失敗、令牌過期和Payload過大,調試技巧包括使用調試工具和日誌記錄。 5.性能優化和最佳實踐包括使用合適的簽名算法、合理設置有效期、

會話如何劫持工作,如何在PHP中減輕它? 會話如何劫持工作,如何在PHP中減輕它? Apr 06, 2025 am 12:02 AM

會話劫持可以通過以下步驟實現:1.獲取會話ID,2.使用會話ID,3.保持會話活躍。在PHP中防範會話劫持的方法包括:1.使用session_regenerate_id()函數重新生成會話ID,2.通過數據庫存儲會話數據,3.確保所有會話數據通過HTTPS傳輸。

什麼是REST API設計原理? 什麼是REST API設計原理? Apr 04, 2025 am 12:01 AM

RESTAPI設計原則包括資源定義、URI設計、HTTP方法使用、狀態碼使用、版本控制和HATEOAS。 1.資源應使用名詞表示並保持層次結構。 2.HTTP方法應符合其語義,如GET用於獲取資源。 3.狀態碼應正確使用,如404表示資源不存在。 4.版本控制可通過URI或頭部實現。 5.HATEOAS通過響應中的鏈接引導客戶端操作。

您如何在PHP中有效處理異常(嘗試,捕捉,最後,投擲)? 您如何在PHP中有效處理異常(嘗試,捕捉,最後,投擲)? Apr 05, 2025 am 12:03 AM

在PHP中,異常處理通過try,catch,finally,和throw關鍵字實現。 1)try塊包圍可能拋出異常的代碼;2)catch塊處理異常;3)finally塊確保代碼始終執行;4)throw用於手動拋出異常。這些機制幫助提升代碼的健壯性和可維護性。

PHP中的匿名類是什麼?您何時可以使用它們? PHP中的匿名類是什麼?您何時可以使用它們? Apr 04, 2025 am 12:02 AM

匿名類在PHP中的主要作用是創建一次性使用的對象。 1.匿名類允許在代碼中直接定義沒有名字的類,適用於臨時需求。 2.它們可以繼承類或實現接口,增加靈活性。 3.使用時需注意性能和代碼可讀性,避免重複定義相同的匿名類。

包括,require,incement_once,require_once之間有什麼區別? 包括,require,incement_once,require_once之間有什麼區別? Apr 05, 2025 am 12:07 AM

在PHP中,include,require,include_once,require_once的區別在於:1)include產生警告並繼續執行,2)require產生致命錯誤並停止執行,3)include_once和require_once防止重複包含。這些函數的選擇取決於文件的重要性和是否需要防止重複包含,合理使用可以提高代碼的可讀性和可維護性。

說明PHP中的不同錯誤類型(注意,警告,致命錯誤,解析錯誤)。 說明PHP中的不同錯誤類型(注意,警告,致命錯誤,解析錯誤)。 Apr 08, 2025 am 12:03 AM

PHP中有四種主要錯誤類型:1.Notice:最輕微,不會中斷程序,如訪問未定義變量;2.Warning:比Notice嚴重,不會終止程序,如包含不存在文件;3.FatalError:最嚴重,會終止程序,如調用不存在函數;4.ParseError:語法錯誤,會阻止程序執行,如忘記添加結束標籤。

PHP和Python:比較兩種流行的編程語言 PHP和Python:比較兩種流行的編程語言 Apr 14, 2025 am 12:13 AM

PHP和Python各有優勢,選擇依據項目需求。 1.PHP適合web開發,尤其快速開發和維護網站。 2.Python適用於數據科學、機器學習和人工智能,語法簡潔,適合初學者。

See all articles