• 下載頻道 http://www.it165.net/down/
  • 鸿福彩票官网

    發(fa)布日期︰2020-02-26 03:17:19
    Tag標簽︰PHP  AOP  擴(kuo)展  Runkit  
    • 關鍵詞︰
      PHP  AOP  擴(kuo)展  Runkit  
    • 所屬欄目︰
      PHP
    • 開發(fa)語言︰
      PHP    
    • 軟件授(shou)權︰
      BSD  
    • 運行(xing)平台(tai)︰
      跨平台(tai)    
    • runkit擴(kuo)展庫(ku)是pecl的php擴(kuo)展的一部分。
       
      runkit提(ti)供(gong)了一套函數,能讓你動態(tai)的修改任意(yi)類和函數的定(ding)義(yi)。根據(ju)php提(ti)供(gong)的反射機(ji)制,得到所有用(yong)戶定(ding)義(yi)的類和函數,你可以把他們重命(ming)名然後再用(yong)原來的函數名/方法名重新添加一個(ge)方法/函數,重新添加的函數的函數體,你可以任意(yi)定(ding)義(yi)---用(yong)字串兒,當你的php腳本開始執行(xing)時(shi)bao) 鬩 釹調用(yong)你設計的這(zhe)個(ge)“鉤(gou)子”,把所有的類的方法或函數都(du)"鉤(gou)"一遍,這(zhe)樣,不管是哪mu)ge)方法在執行(xing)的時(shi)候,都(du)會執行(xing)到你提(ti)供(gong)的切入點(dian)上(shang)的代碼(ma).
       
      不過,在使(shi)用(yong)runkit的時(shi)候,還遇到一個(ge)問題︰就(jiu)是大小寫的問題,起初,在“鉤(gou)”方法的時(shi)候,有的方法帶有大寫字母(mu),通過反射得到的方法名 也是區分大小寫的,但是,應該在php解(jie)析執行(xing)函數的時(shi)候,還是把所有方法名或函數名都(du)轉(zhuan)換成(cheng)了小寫,這(zhe)樣,在用(yong)runkit提(ti)供(gong)的動態(tai)添加方法的函數添 加方法時(shi)bao) 倉沂搗椒ㄔ 吹拿ming)名,帶著大寫字母(mu)就(jiu)直接添進去了,結果,再調用(yong)被鉤(gou)的方法的時(shi)候,報錯,死活也找不著原來的那個(ge)方法了,原因(yin)應該就(jiu) 是,php在解(jie)析執行(xing)類、方法、函數時(shi)bao) Ω枚du)是按小寫形式來定(ding)位的方法和函數的,而用(yong)runkit直接添加進去的帶有大寫字母(mu)的函數,自然就(jiu)會找不到, 所以,在用(yong)runkit添加方法的時(shi)候,要把方法名都(du)轉(zhuan)換成(cheng)小寫,這(zhe)樣php就(jiu)可以找到這(zhe)個(ge)方法了,函數應該也是同樣的.
       
      示例代碼(ma)︰
       
      php.ini:
      runkit.superglobal=foo,bar
       
      test.php:
      function testme() {
        echo "Foo is $foo\n";
        echo "Bar is $bar\n";
        echo "Baz is $baz\n";
      }
      $foo = 1;
      $bar = 2;
      $baz = 3;
       
      testme();
       
      輸出:
      Foo is 1
      Bar is 2
      Baz is
       
      兼容性: PHP 4.2 or greater
    下載標題  (選擇版本點(dian)擊標題下載)文(wen)件資源(yuan)大小
    8官網下載
    次元(yuan)立方 -廣告服務(wu) -隱私聲明 -版權申(shen)明 -免責條款(kuan) -網站(zhan)地圖(tu) -網友投(tou)稿 -聯系方式
    本站(zhan)內容來自于互聯網,僅供(gong)用(yong)于網絡技術學習,學習中請遵(zun)循相關法律法規
    鸿福彩票官网 | 下一页