国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
什麼是PHP-FIG,為什麼它很重要?
在PHP-FIG的上下文中,“Quo Vadis”是什麼意思?
PHP-FIG如何為PHP社區(qū)做出貢獻?
對PHP-FIG的一些批評是什麼?
我如何參與PHP-FIG?
“Quo Vadis”一詞在藝術和文學中的意義是什麼?
PHP-FIG如何決定新的標準?
PHP-FIG的未來是什麼?
PHP-FIG的工作如何影響日常PHP開發(fā)者?
PHP-FIG標準的一些實際示例是什麼?
首頁 後端開發(fā) 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的積極關注方面取得了顯著進展。這些建議規(guī)範了編碼標準、樣式指南、自動加載、日誌記錄、緩存和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贏得了編程社區(qū)更多積極的關注和讚賞。 PSR規(guī)範了編碼標準、編碼樣式指南、自動加載、日誌記錄、緩存和HTTP消息。

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

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

起源

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

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

組織

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

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

成功之處

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

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

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

待定的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社區(qū)驅動的標準(PHP-CDS)成立了,它具有非常鬆散的結構和較低的提案入門門檻。

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

和諧的未來

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

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

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

不和諧的音符

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

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

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

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

前進的道路

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

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

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

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

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

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

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

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

PHP-FIG如何為PHP社區(qū)做出貢獻?

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

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

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

我如何參與PHP-FIG?

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

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

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

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

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

PHP-FIG的未來是什麼?

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

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

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

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

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

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

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

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

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整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

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

如何在PHP中實施身份驗證和授權? 如何在PHP中實施身份驗證和授權? Jun 20, 2025 am 01:03 AM

tosecurelyhandleauthenticationandationallizationInphp,lofterTheSesteps:1.AlwaysHashPasswordSwithPassword_hash()andverifyusingspasspassword_verify(),usepreparedStatatementStopreventsqlineptions,andStoreSeruserDatain usseruserDatain $ _sessiveferterlogin.2.implementrole-2.imaccessccsccccccccccccccccccccccccc.

如何在PHP中安全地處理文件上傳? 如何在PHP中安全地處理文件上傳? Jun 19, 2025 am 01:05 AM

要安全處理PHP中的文件上傳,核心在於驗證文件類型、重命名文件並限制權限。 1.使用finfo_file()檢查真實MIME類型,僅允許特定類型如image/jpeg;2.用uniqid()生成隨機文件名,存儲至非Web根目錄;3.通過php.ini和HTML表單限製文件大小,設置目錄權限為0755;4.使用ClamAV掃描惡意軟件,增強安全性。這些步驟有效防止安全漏洞,確保文件上傳過程安全可靠。

PHP中==(鬆散比較)和===(嚴格的比較)之間有什麼區(qū)別? PHP中==(鬆散比較)和===(嚴格的比較)之間有什麼區(qū)別? Jun 19, 2025 am 01:07 AM

在PHP中,==與===的主要區(qū)別在於類型檢查的嚴格程度。 ==在比較前會進行類型轉換,例如5=="5"返回true,而===要求值和類型都相同才會返回true,例如5==="5"返回false。使用場景上,===更安全應優(yōu)先使用,==僅在需要類型轉換時使用。

如何在PHP( - , *, /,%)中執(zhí)行算術操作? 如何在PHP( - , *, /,%)中執(zhí)行算術操作? Jun 19, 2025 pm 05:13 PM

PHP中使用基本數學運算的方法如下:1.加法用 號,支持整數和浮點數,也可用於變量,字符串數字會自動轉換但不推薦依賴;2.減法用-號,變量同理,類型轉換同樣適用;3.乘法用*號,適用於數字及類似字符串;4.除法用/號,需避免除以零,並註意結果可能是浮點數;5.取模用%號,可用於判斷奇偶數,處理負數時餘數符號與被除數一致。正確使用這些運算符的關鍵在於確保數據類型清晰並處理好邊界情況。

如何與PHP的NOSQL數據庫(例如MongoDB,Redis)進行交互? 如何與PHP的NOSQL數據庫(例如MongoDB,Redis)進行交互? Jun 19, 2025 am 01:07 AM

是的,PHP可以通過特定擴展或庫與MongoDB和Redis等NoSQL數據庫交互。首先,使用MongoDBPHP驅動(通過PECL或Composer安裝)創(chuàng)建客戶端實例並操作數據庫及集合,支持插入、查詢、聚合等操作;其次,使用Predis庫或phpredis擴展連接Redis,執(zhí)行鍵值設置與獲取,推薦phpredis用於高性能場景,Predis則便於快速部署;兩者均適用於生產環(huán)境且文檔完善。

我如何了解最新的PHP開發(fā)和最佳實踐? 我如何了解最新的PHP開發(fā)和最佳實踐? Jun 23, 2025 am 12:56 AM

TostaycurrentwithPHPdevelopmentsandbestpractices,followkeynewssourceslikePHP.netandPHPWeekly,engagewithcommunitiesonforumsandconferences,keeptoolingupdatedandgraduallyadoptnewfeatures,andreadorcontributetoopensourceprojects.First,followreliablesource

什麼是PHP,為什麼它用於Web開發(fā)? 什麼是PHP,為什麼它用於Web開發(fā)? Jun 23, 2025 am 12:55 AM

PHPbecamepopularforwebdevelopmentduetoitseaseoflearning,seamlessintegrationwithHTML,widespreadhostingsupport,andalargeecosystemincludingframeworkslikeLaravelandCMSplatformslikeWordPress.Itexcelsinhandlingformsubmissions,managingusersessions,interacti

如何設置PHP時區(qū)? 如何設置PHP時區(qū)? Jun 25, 2025 am 01:00 AM

tosetTherightTimeZoneInphp,restate_default_timezone_set()functionAtthestArtofyourscriptWithavalIdidentIdentifiersuchas'america/new_york'.1.usedate_default_default_timezone_set_set()

See all articles