php反射簡單使用

來源:互聯網
上載者:User

標籤:php反射

1.樣本:Yii架構php反射類的使用

       //建立$class類的反射類執行個體對象

    $reflection = new ReflectionClass($class);

    //擷取$class類的構造器對象

    $constructor = $reflection->getConstructor();

    if ($constructor !== null) {

       //擷取構造方法參數列表$constructor->getParameters()

       foreach ($constructor->getParameters() as $param) {

       //構造參數是否有可利用預設值

          if ($param->isDefaultValueAvailable()) {

              $dependencies[] = $param->getDefaultValue();

          } else {

             //擷取參數的類名稱

              $c = $param->getClass();

              $dependencies[] = Instance::of($c === null ? null : $c->getName());

          }

       }

    }

         

    $reflection->isInstantiable();//對象是否可執行個體化

    $reflection->newInstanceArgs($dependencies);//執行個體化反射對象



本文出自 “殘夢” 部落格,謝絕轉載!

php反射簡單使用

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.