您可以在此標題中加上「還」!有時候,事情就是這樣,只是因為沒有人知道如何做得更好。
但是,這並不意味著一切都是好主意。
您根本無法執行以下操作:
class Child extends Parent1, Parent2 {}
但是,許多開發人員會認為有更好的方法,例如使用介面來強制類別實作特定行為。
請注意,您仍然可以對這些介面應用某種多重繼承(如果這對您的情況確實有意義):
interface A {} interface B {} interface C extends A, B {}
但是,對我來說,這並不是反對多重繼承的最佳論點。許多程式語言注重簡單性和可讀性而不是複雜性。
引入多重繼承可能會導致很多誤用,更不用說鑽石問題了,這對 PHP 等高階語言來說會是個問題。
最好能避免不必要的複雜性。
許多程式語言提供內建工具來同時執行多個執行緒(例如Java、C++)。
Pthreads 試圖在 PHP 中引入多線程,但 pthreads 和並行的創建者 Joe Watkins 在 2019 年 2 月宣布:
由於架構缺陷,PHP 7.4 之後將不再維護 pthreads。
來源:PHP 文件 - phtreads
如果你想進一步挖掘,你可以查看parallel,它的靈感來自於Go並發。
雖然並行非常酷,但您的情況真的需要如此複雜嗎?
如果您需要非同步處理的內建機制,現在可以使用 Fibers(自 PHP 8.1 起)。
光纖允許您編寫可中斷的函數。
雖然 Fibers 非常酷,但您的情況真的需要如此複雜嗎?
使用 ReactPHP 或 Swoole 等第三方解決方案可能是更好的選擇,特別是當您只需要事件循環時。
比這更好的是,您可以建立一個佇列機制來處理訊息並重試失敗的作業。
Symfony 元件 HTTP 用戶端也支援各種非同步操作(例如,並發非同步流和多路復用請求/回應)。
PHP 是一種解釋性語言,不相容密集操作以及需要低延遲和高可預測性的系統。
雖然這是事實,但為什麼要使用 PHP 進行高頻交易、串流媒體、線上遊戲或機器和流程的進階監控?
PHP 旨在用於網路和您可能知道的許多其他創意用途。
我希望它能保持簡單性,因為它絕對是一個功能。
以上是PHP:不,不可能的詳細內容。更多資訊請關注PHP中文網其他相關文章!