<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                既然你在閱讀本書,那說明你也是對PHP很感興趣的讀者,在窺探到PHP內部實現之后或許也蠢蠢欲動想要共享自己的力量。下面進行一些簡單的說明。 很多人以為為PHP做貢獻(contribute)只是簡單的為PHP提交補丁,其實在廣義上來說,為PHP做貢獻有很多種方式,這包含但不限于: - 宣傳和參與PHP的討論 - 發現和報告或者提到補丁修復PHP的bug - 編寫和翻譯PHP手冊 - 編寫PHP相關的書籍 - 寫PHP相關技術的博客 - 為PHP增加新功能 - 編寫和貢獻PHP擴展或者庫 所以很可能大部分的讀者目前其實已經是在為PHP做貢獻了。只不過如果你是本書的讀者,可能更想為PHP-Runtime做貢獻,比如:修復PHP代碼的bug,提交功能改進。 我們可能根據自己的特長來為PHP做貢獻,如果你英語好,那么翻譯手冊將會是你的強項。如果你的C比較好,那么可以為PHP修改bug,如果你對PHP語言的語法或者功能有改進想法,你可以提交改進方法,當然如果你能將該功能實現出來那更好不過了。 下面介紹一下,為PHP做貢獻的方方面面。 ## 溝通方式[]() ## 郵件組[]() 在很多開源項目中,郵件組都是作為最主要的溝通方式,郵件組雖然古老,但是卻很有效,每個人都會有一個郵箱,可以快捷的使用郵件客戶端來溝通,目前的郵件客戶端都很好用,可以根據主題進行匯總。Gmail和QQmail就做的不錯。 PHP官方的郵件組都列在這里了: [http://php.net/mailing-lists.php](http://php.net/mailing-lists.php) ## IRC[]() 國內IRC使用的不太多,PHP核心開發者都會在 http://www.efnet.org/ 的#php.pecl 頻道。如果你想直接找某個開發者,在#php.pecl頻道應該可以找的到 :) ## 報告和修復Bug[]() PHP的bug可以在[http://bugs.php.net](http://bugs.php.net)上提交。在這里你可以提交和php相關的各種bug,雖然是bug管理,其實這里還可以提出你的需求,比如你覺得PHP缺失某個功能,你可以在這里提交。在提交的同時,如果你能提供實現補丁那再好不過了。沒有補丁也沒有關系,如果這的確是個bug,根據緊急和難易程度可能會有同學幫你修復,如果是一個功能改進,同時對PHP的改動比較大,那么這個需要提交到php-internals郵件組進行討論,如果已經有實現了,討論充分后就可以進行投票了。如果通過投票,那么恭喜你。 > 這里的bug通指bug和feature,也就是非預期行為以及功能需求。 ## 原則[]() 這里的的Bug指的是PHP語言本身的bug,而不是應用程序的bug,比如某個函數的行為和預期不一致,或者運行某段程序后PHP崩潰了,或者性能低下,你都可以提交報告。 這有一些基本的原則: 如果是bug: 1. 你需要確認這的確是PHP的bug,而不是應用程序的bug 1. 確認你使用正確,也就是是否和PHP手冊文檔使用一致 1. 盡量用最少的代碼來重現問題。這將有利于問題的追查 ## 修復[]() 如果你發現了PHP的一個bug,而同時你想到了解決方案,可以在[Github][http://github.com/php/php-src]上提交一個Pull Request,或者也可以直接把修改的patch上傳到你所提交的bug頁 ## 測試[]() 在你發現了一個bug或者實現一個功能時,你需要為你的bug或者功能編寫測試,測試用例的編寫可以參考[附錄E phpt測試文件說明](#) 測試時可以使用make test TESTS=/path/to/your/bugXXXX.phpt 來進行測試。通常如果是個bug,那么會將測試的名稱命名為bugXXXX.phpt XXXX為bug的ID。 ## 貢獻功能[]() ## RFC (Request For Comments)[]() 比如你覺得PHP不支持重載很不習慣,你想PHP支持這個特性,對于這個特性來說,這是一個非常大的變動,這樣的話你最好編寫一個RFC說明一下你為什么需要這樣一個特性。因為PHP的用戶量是非常大的,任何一個變動都會影響到非常多的人,所以你必須說服絕大多數人贊同你的想法。 你的RFC可以放在任何地方,比如直接發送到郵件組討論,或者放在github上,不過通常,你可以把RFC放在PHP官方的wiki上方便討論。 1. 在[https://wiki.php.net/start?do=register](https://wiki.php.net/start?do=register)上申請一個賬號。 1. 發送郵件到: php-webmaster@lists.php.net 申請RFC的編寫權限(Request for RFC karma),同時你得提供你的wiki用戶名,最好同時說明你要創建什么樣的一個RFC。 好了后你就可以編寫RFC了,具體流程見官方的說明吧:[https://wiki.php.net/rfc/howto](https://wiki.php.net/rfc/howto) ## 郵件組討論[]() 編寫好了后,你可以把你的RFC發送到internals@lists.php.net郵件組。當然為了防止你的RFC白寫了,你可以直接把你的需求發送到郵件組看看大家的反應,看看大家是否對這個特性或者變動感興趣。 > 為了保證你收到大家的郵件,最好在[http://php.net/mailing-lists.php](http://php.net/mailing-lists.php)訂閱一下 郵件組的郵件,同時也推薦大家訂閱這個郵件組,可以知道PHP發展的最新動態。 郵件發出來以后,大家可能會質疑你的想法,這時你就需要對家的疑問進行解答。盡可能的把自己的想法表達清楚。 經過一番討論后,如果感覺進展還可以,那么你就可以發起投票了。投票是在wiki上進行的,可以參考[https://wiki.php.net/rfc/trailing-comma-function-args](https://wiki.php.net/rfc/trailing-comma-function-args) 修改wiki后需要再給郵件組發送郵件,通知到大家來進行投票。 提議被接受的比如為:50%+1 ## 代碼實現[]() 如果你已經實現了你想要的功能,記得在RFC中體現,很多時候有一些功能可能大家都希望有,但是由于沒有人來實現或者現有的實現不夠好。如果有一個實現可能會大大提高你的RFC被接受的可能性。 如果你不太熟悉PHP內核也沒有關系,如果的確是個不錯的主意,肯定會有人來幫你實現的。 > 所以如果你有不錯的想法歡迎反饋 ## 貢獻PECL擴展[]() 如果你寫了一個擴展,想分享給大家可以通過pecl來發布你的擴展。 官方有明確的說明:[http://pecl.php.net/account-request.php](http://pecl.php.net/account-request.php) 不過在發起之前請留意:1. 首先你要確保你的擴展的許可:推薦使用PHP3.0.1、BSD或者類Apache許可。2. 你的擴展是否已經有個類似的實現了?如果有人也實現了,社區可能不太會認同。 ## Composer[]() 從目前來看,目前很少有人維護pear的庫了,和ruby社區的gem比起來太過冷清了。目前一個新起之秀: [http://getcomposer.org/](http://getcomposer.org/) Composer表現不俗,目前絕大多數的PHP開源項目都是用composer來進行包管理,所以你如果有開源庫的話,也推薦使用composer。 ## 改進和增加文檔[]() 目前PHP的文檔還算比較全,不過隨著版本的升級可能會有些文檔沒有跟上,或者有的地方會有錯誤。PHP目前提供了一個方便的平臺來協同維護文檔。登陸:[http://edit.php.net](http://edit.php.net)即可對文檔進行修改。修改后會有人對修改進行review,如果合適的話會把修改合并進去。 同時手冊的中文版本也需要維護,所以如果你感興趣也可以對文檔進行翻譯。 如果你有想法,可以參考:[http://marc.info/?l=phpdoc&m=136370213519136&w=2](http://marc.info/?l=phpdoc&m=136370213519136&w=2)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看