學習筆記的第一篇苛坚,發(fā)現(xiàn)自己比較傾向于記錄筆記的學習方式中鼠,目前是在創(chuàng)業(yè)的階段初期驾讲,對于創(chuàng)業(yè)相關的各個領域知識的學習蚊伞,便是每天的日常。
“小丑魚”項目即將進入原型的階段吮铭,自己也要開始寫一些代碼时迫,好多年沒有專心編寫程序了,發(fā)現(xiàn)有很多的知識需要從零開始學習谓晌,很多過去知識也出現(xiàn)了系統(tǒng)性的學習方法掠拳,絕贊!
今天學習的主題是《PHP-FIG》
PHP-FIG 全稱為 PHP Framework Interop Group纸肉,是對于 PHP 代碼進行標準化的一種嘗試溺欧,是我很久以來一直非常期盼出現(xiàn)的東西,猶如 ECMA 之于 JavaScript柏肪,標準化是一種非常重要的合作方式(另一種方式是某一個項目的異軍突起)姐刁,可以讓各種框架的包具有一定的通用性,這種組件層面的合作以及框架和組件的協(xié)作烦味,是目前 PHP 程序框架發(fā)展的趨勢聂使。
參與 PHP-FIG 的目前有一系列的項目,但是有幾個項目申明了退出拐叉,包括我比較熟悉的:Doctrine岩遗、Propel、Laravel凤瘦,這里有一個詳細的關于退出的討論:
https://phphub.org/topics/2581
雖然如此,但是 PHP-FIG 的價值依然是非常明顯的案铺,尤其是前6個已經(jīng)成為普遍規(guī)范的標準蔬芥,社區(qū)嘛,分分合合十幾二十年的控汉,一點一點來笔诵。
PHP-FIG 有 3 個秘書(FIG Secretary),每個人的任期是2年姑子,每8個月通過選舉替換其中的一位乎婿,這里有非常詳細的選舉規(guī)范:
http://www.php-fig.org/bylaws/membership/#selection
主要的討論發(fā)生在:
https://groups.google.com/forum/?fromgroups#!forum/php-fig
剛好2016年的8月份有一次秘書的選舉可以在這里觀摩(因為有一位秘書的辭職,所以此次實際上是選舉兩位新秘書街佑,因為可以連選連任谢翎,所以剛剛到期的秘書 Samantha 也很熱情的參與到了重新選舉的過程):
https://groups.google.com/forum/?fromgroups#!topic/php-fig/mfyCwz05RNE
目前 40 個擁有投票權(quán)的機構(gòu)正在通過自己的投票代表(Voting Representatives)陸續(xù)的提交自己的投票結(jié)果捍靠。
秘書選舉的投票帖子里面有現(xiàn)任秘書之一的 Michael Cullum 的一段話:
I'd ask everyone keep this election fair and clean. Secretaries are in the role they are in to be neutral and I'd ask people consider the impact that bringing (for lack of a better term) politics into a Secretary election could have on that Secretary's ability to do their job and in the same way, candidates may very well be expected to soon represent a neutral position so I would recommend they keep this in mind throughout the election. In the same fashion, I'd ask that once a Secretary is elected, whoever they may be, they are given the chance to execute their duties properly and are given a chance by all; nobody wants to see the FIG split due to who has been elected, or who hasn't been elected, as Secretary.
對于社群而言,尤其是只有 40 個 member 的小社群森逮,去政治化的發(fā)展過程是非常不容易的榨婆,但是只要跨過去了,就可以迎來一段相對穩(wěn)定的高速發(fā)展期褒侧,比如這個正在投票的對于章程的修正案:
https://docs.google.com/document/d/1ZlJiOB-Ab_c-8-6BHpQhu0ZqE2Rr1kP7sWoWBbM7v_Q/edit
相對于原來的章程的復雜度就高了很多良风,在試圖形成12人的 The Core Committee(類似常委會),以及 Working Groups(類似委員會)這樣的代議機制闷供,一點點發(fā)展吧烟央,能到這一步很不容易,前路險峻歪脏。
找到一份階段性的投票記錄:
https://docs.google.com/spreadsheets/d/1_6K1Qswau_5WqVUIz8ZVcYkdsGhglt10n15EvwALCJ8/edit#gid=0
向 Michael Cullum 詢問是否他還維護著一份完整的投票列表疑俭,他給了我一份2016年的投票記錄,這樣的話還空缺這2015年和2013年以前的投票記錄:
https://docs.google.com/spreadsheets/d/1SeZzvRZQGE7cbETydSY22DGV_oNK_pHKEK_qu7dmVX8/edit#gid=0
然后 Michael Cullum 本身是一位 PHP 社區(qū)活躍的 Speaker唾糯,也許有一天可以邀請到 Think 做分享怠硼。
目前 PHP-FIG 有通過6份標準:
http://www.php-fig.org/psr/
國內(nèi)的翻譯有延遲,目前最接近的一份翻譯在:
https://psr.phphub.org/
從目前通過的6份標準來看移怯,最主要的價值是對于 php code standard 的確立香璃,其次是對于 Cache、Log舟误、HTTP 在框架中接口部分的統(tǒng)一葡秒,然后就沒有然后了。
sensiolabs 做了一個可以自動按照 PSR-1 和 PSR-2 修正編碼規(guī)范的工具:
https://github.com/FriendsOfPHP/PHP-CS-Fixer
這個工具還提供了許多編輯器代碼規(guī)范提示的功能嵌溢,包括:
- Atom
- NetBeans
- PhpStorm
- Sublime Text
-
Vim
算是給了我最后一根從 Eclipse 轉(zhuǎn)向 PhpStorm 的稻草眯牧。