学习笔记的第一篇,发现自己比较倾向于记录笔记的学习方式,目前是在创业的阶段初期,对于创业相关的各个领域知识的学习,便是每天的日常。
“小丑鱼”项目即将进入原型的阶段,自己也要开始写一些代码,好多年没有专心编写程序了,发现有很多的知识需要从零开始学习,很多过去知识也出现了系统性的学习方法,绝赞!
今天学习的主题是《PHP-FIG》
PHP-FIG 全称为 PHP Framework Interop Group,是对于 PHP 代码进行标准化的一种尝试,是我很久以来一直非常期盼出现的东西,犹如 ECMA 之于 JavaScript,标准化是一种非常重要的合作方式(另一种方式是某一个项目的异军突起),可以让各种框架的包具有一定的通用性,这种组件层面的合作以及框架和组件的协作,是目前 PHP 程序框架发展的趋势。
参与 PHP-FIG 的目前有一系列的项目,但是有几个项目申明了退出,包括我比较熟悉的:Doctrine、Propel、Laravel,这里有一个详细的关于退出的讨论:
https://phphub.org/topics/2581
虽然如此,但是 PHP-FIG 的价值依然是非常明显的,尤其是前6个已经成为普遍规范的标准,社区嘛,分分合合十几二十年的,一点一点来。
PHP-FIG 有 3 个秘书(FIG Secretary),每个人的任期是2年,每8个月通过选举替换其中的一位,这里有非常详细的选举规范:
http://www.php-fig.org/bylaws/membership/#selection
主要的讨论发生在:
https://groups.google.com/forum/?fromgroups#!forum/php-fig
刚好2016年的8月份有一次秘书的选举可以在这里观摩(因为有一位秘书的辞职,所以此次实际上是选举两位新秘书,因为可以连选连任,所以刚刚到期的秘书 Samantha 也很热情的参与到了重新选举的过程):
https://groups.google.com/forum/?fromgroups#!topic/php-fig/mfyCwz05RNE
目前 40 个拥有投票权的机构正在通过自己的投票代表(Voting Representatives)陆续的提交自己的投票结果。
秘书选举的投票帖子里面有现任秘书之一的 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 的小社群,去政治化的发展过程是非常不容易的,但是只要跨过去了,就可以迎来一段相对稳定的高速发展期,比如这个正在投票的对于章程的修正案:
https://docs.google.com/document/d/1ZlJiOB-Ab_c-8-6BHpQhu0ZqE2Rr1kP7sWoWBbM7v_Q/edit
相对于原来的章程的复杂度就高了很多,在试图形成12人的 The Core Committee(类似常委会),以及 Working Groups(类似委员会)这样的代议机制,一点点发展吧,能到这一步很不容易,前路险峻。
找到一份阶段性的投票记录:
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 社区活跃的 Speaker,也许有一天可以邀请到 Think 做分享。
目前 PHP-FIG 有通过6份标准:
http://www.php-fig.org/psr/
国内的翻译有延迟,目前最接近的一份翻译在:
https://psr.phphub.org/
从目前通过的6份标准来看,最主要的价值是对于 php code standard 的确立,其次是对于 Cache、Log、HTTP 在框架中接口部分的统一,然后就没有然后了。
sensiolabs 做了一个可以自动按照 PSR-1 和 PSR-2 修正编码规范的工具:
https://github.com/FriendsOfPHP/PHP-CS-Fixer
这个工具还提供了许多编辑器代码规范提示的功能,包括:
- Atom
- NetBeans
- PhpStorm
- Sublime Text
-
Vim
算是给了我最后一根从 Eclipse 转向 PhpStorm 的稻草。
网友评论