php魔術方法效率相對較低?我想瞭解一下它的底層c原理

來源:互聯網
上載者:User
關鍵字 php c
由於現在還沒有能力直接查看php的底層實現。
所以想請問一下php的魔術方法的從構造到運行,大概的實現流程是怎麼樣的?

希望懂的人不吝賜教

回複內容:

由於現在還沒有能力直接查看php的底層實現。
所以想請問一下php的魔術方法的從構造到運行,大概的實現流程是怎麼樣的?

希望懂的人不吝賜教

並不是把,如果到從C層面來說的話,魔術方法是直接整合在Object對象內的屬性,甚至都沒放在function_table裡,尋找方法的速度可以說更快。魔術函數和一般函數從底層架構和實現上是一致的,並沒有區別。
你這裡所說的慢我想應該是某些魔術函數的特性所決定的,比如__get,__set方法,其實現的過程一定比直接操作對象屬性來得慢。再如__call方法,不但先要查function_table中有沒有方法,而且一般在其中放的也都是相容性代碼,運行時要做較多判斷。但是對於__construct這樣的函數,就沒有上述的顧慮。

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.