<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 功能強大 支持多語言、二開方便! 廣告
                > PXP是一套為PHP開發者提供的高性能工具集,包括代碼格式化器、靜態分析器、語言服務器和一種超集語言。 ## PXP是什么? PXP(PXP:擴展預處理器)是一系列工具和庫的集合,旨在使PHP編程語言的使用更加愉快和高效。 PHP語言已經存在近30年。在這段時間里,它經歷了顯著的演變,但我們相信仍有改進的空間。PXP是嘗試解決PHP的一些不足,并使其成為一種更現代、更強大、更面向開發者的語言。 實際上,PXP不僅僅是一個“東西”——它是一組協同工作的不同工具,為PHP開發者提供更好的開發體驗。 PXP的目標是快速且可靠。現代版本的PHP已經相當快了,但對于靜態分析和自動完成等功能,我們需要能夠快速解析和理解PHP代碼。 這就是為什么PXP被開發為一個混合系統,由極快的Rust代碼和更簡單、更靈活的PHP代碼組合而成。Rust用于處理繁重的任務,如解析、類型推斷等;而PHP則用于處理更高級別的任務,如代碼格式化、重構、美化打印等。 這意味著PXP核心開發有時需要同時了解Rust和PHP,但我們認為這是值得的,以便提供最佳性能。 ## 超集語言 這是項目的起點。該項目旨在創建一種與PHP向后兼容的新語言,同時引入新的語言特性和語法,以改善開發者的體驗。 下面是一些超集語言可能看起來像什么的例子: ### 多行簡短閉包 ```php $add = fn (int $a, int $b) { // ... }; ``` ### 類型別名 ```php type Label = string | Closure | null; trait HasLabel { protected Label $label; public function label(Label $label) { // } public function getLabel(): Label { return $this->label; } } ``` ### 泛型 ```php class Collection<K, V> implements ArrayAccess<K, V> { protected array<K, V> $items = []; public function offsetGet(K $key): V { return $this->items[$key]; } // ... } ``` ### 模式匹配 ```php $point = new Point(x: 1, y: 2); echo match ($point) { Point { y: 1 } => 'Y is 1!', Point { y: $y } => "Y is {$y}!", } ``` ### 語言服務器 語言服務器是一個為代碼編輯器提供代碼信息的工具。它支持諸如自動完成、跳轉到定義和重構等功能。 由于PXP涉及構建一個新的超集語言,我們需要一個語言服務器來提供現代代碼編輯器所期望的所有酷功能。一個超級快速、超級可靠的語言服務器對于良好的開發者體驗至關重要,因此我們正在投入大量精力來確保我們的語言服務器是最好的。 我們正在創建一個超集語言也意味著這個項目惠及所有PHP開發者,而不僅僅是使用PXP的開發者。 ### 靜態分析器 構建靜態分析器也是項目的重要組成部分。語言服務器需要某種形式的類型推斷(或類型推導)。如果我們已經在做這件事,那么我們不妨也構建一個靜態分析器! 現在,您應該開始看到這些項目是如何相互關聯以及它們之間可以共享多少代碼了。 ### 代碼格式化程序和Linter 同樣,我們正在構建一種新語言,因此我們需要一種方法來使我們的代碼看起來很棒。與語言服務器和靜態分析器一樣,代碼格式化器和Linter也將建立在相同的核心庫之上。 它不僅會幫助PXP用戶,還會幫助所有PHP開發者。 ## 關于作者 嗨,我叫Ryan!我是PXP背后的那個人。我已經做了好幾年的PHP開發者,但我一直對其他軟件開發領域,如編程語言設計、編譯器和靜態分析,非常感興趣。 我啟動PXP是為了解決自己的問題——我希望在使用PHP時獲得更好的開發體驗,而我認為實現這一目標的最佳方式是自己構建工具。 目前只有我一個人在從事這個項目,但一旦事情開始有起色,我希望能夠吸引更多的人加入并幫忙。
                  <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>

                              哎呀哎呀视频在线观看