• <kbd id="qyk40"></kbd>
  • <strike id="qyk40"></strike><samp id="qyk40"><pre id="qyk40"></pre></samp>

    反射的理解

      它是指在php的運(yùn)行狀態(tài)中,擴(kuò)展分析php程序,導(dǎo)出或者提取出關(guān)于類、方法、屬性、參數(shù)等詳細(xì)信息,甚至包括注釋。這種動(dòng)態(tài)獲取的信息以及動(dòng)態(tài)調(diào)用對(duì)象的方法的功能稱為反射API.反射是操縱面向?qū)ο竽P椭性P偷腁PI,其功能十分強(qiáng)大,可以幫助我們構(gòu)建復(fù)雜,可擴(kuò)展的應(yīng)用。(ps:包括在工廠模式中的使用)

      反射API是php內(nèi)建的oop技術(shù)擴(kuò)展,包括一些類、異常和接口,綜合使用他們可用來(lái)幫助我們分析其它類,接口,方法,屬性和擴(kuò)展。這些oop擴(kuò)展被稱為反射。

      ReflectionClass

      [php]

      

      class ReflectionClass implements Reflector

      {

      final private __clone()

      public object __construct(string name)

      public string __toString()

      public static string export()

      //導(dǎo)出該類的詳細(xì)信息

      public string getName()

      //取得類名或接口名

      public bool isInternal()

      //測(cè)試該類是否為系統(tǒng)內(nèi)部類

      public bool isUserDefined()

      //測(cè)試該類是否為用戶自定義類

      public bool isInstantiable()

      //測(cè)試該類是否被實(shí)例化過(guò)

      public bool hasConstant(string name)

      //測(cè)試該類是否有特定的常量

      public bool hasMethod(string name)

      //測(cè)試該類是否有特定的方法

      public bool hasProperty(string name)

      //測(cè)試該類是否有特定的屬性

      public string getFileName()

      //取得定義該類的文件名,包括路徑名

      public int getStartLine()

      //取得定義該類的開(kāi)始行

      public int getEndLine()

      //取得定義該類的結(jié)束行

      public string getDocComment()

      //取得該類的注釋

      public ReflectionMethod getConstructor()

      //取得該類的構(gòu)造函數(shù)信息

      public ReflectionMethod getMethod(string name)

      //取得該類的某個(gè)特定的方法信息

      public ReflectionMethod[] getMethods()

      //取得該類的所有的方法信息

      public ReflectionProperty getProperty(string name)

      //取得某個(gè)特定的屬性信息

      public ReflectionProperty[] getProperties()

      //取得該類的所有屬性信息

      public array getConstants()

      //取得該類所有常量信息

      public mixed getConstant(string name)

      //取得該類特定常量信息

      public ReflectionClass[] getInterfaces()

      //取得接口類信息

      public bool isInterface()

      //測(cè)試該類是否為接口

      public bool isAbstract()

      //測(cè)試該類是否為抽象類

      public bool isFinal()

      //測(cè)試該類是否聲明為final

      public int getModifiers()

      //取得該類的修飾符,返回值類型可能是個(gè)資源類型

      //通過(guò)Reflection::getModifierNames($class->getModifiers())進(jìn)一步讀取

      public bool isInstance(stdclass object)

      //測(cè)試傳入的對(duì)象是否為該類的一個(gè)實(shí)例

      public stdclass newInstance(mixed* args)

      //創(chuàng)建該類實(shí)例

      public ReflectionClass getParentClass()

      //取得父類

      public bool isSubclassOf(ReflectionClass class)

      //測(cè)試傳入的類是否為該類的父類

      public array getStaticProperties()

      //取得該類的所有靜態(tài)屬性

      public mixed getStaticPropertyValue(string name [, mixed default])

      //取得該類的靜態(tài)屬性值,若private,則不可訪問(wèn)

      public void setStaticPropertyValue(string name, mixed value)

      //設(shè)置該類的靜態(tài)屬性值,若private,則不可訪問(wèn),有悖封裝原則

      public array getDefaultProperties()

      //取得該類的屬性信息,不含靜態(tài)屬性

      public bool isIterateable()

      public bool implementsInterface(string name)

      //測(cè)試是否實(shí)現(xiàn)了某個(gè)特定接口

      public ReflectionExtension getExtension()

      public string getExtensionName()

      }

      ?>

      工廠模式應(yīng)用:

      [php]

      class MoveDataFactory

      {

      /**

      * Description:簡(jiǎn)單工廠模式,根據(jù)mode選取不同實(shí)例化對(duì)象

      * @return 對(duì)象實(shí)例

      */

      public function GetMoveClass($classname)

      {

      $reflectionclass = new ReflectionClass($classname);

      return $reflectionclass->newInstance();

      }

      }

    穩(wěn)定

    產(chǎn)品高可用性高并發(fā)

    貼心

    項(xiàng)目群及時(shí)溝通

    專業(yè)

    產(chǎn)品經(jīng)理1v1支持

    快速

    MVP模式小步快跑

    承諾

    我們選擇聲譽(yù)

    堅(jiān)持

    10年專注高端品質(zhì)開(kāi)發(fā)
    • 返回頂部
    国产高清一级毛片精品| 国产精品嫩草影院一二三区入口| 亚洲欧洲日韩国产| 国产精品99久久99久久久动漫| 亚洲精品视频观看| 日韩人妻精品无码一区二区三区 | 国产精品免费在线播放| 亚洲日韩中文字幕无码一区| 婷婷99视频精品全部在线观看| 国产精品久久久久久久久免费| 日韩精品久久无码中文字幕| 97精品依人久久久大香线蕉97| 国产精品成人啪精品视频免费| 日韩高清中文字幕| 中文字幕亚洲日韩无线码| 日韩精品久久不卡中文字幕| 2020精品自拍视频曝光| 无码国内精品人妻少妇| 久久精品一区二区三区不卡| 欧洲精品一区二区三区在线观看 | 国产福利微拍精品一区二区| 99精品免费观看| 久久久久久久久久国产精品免费| 国产精品无码a∨精品| 99精品免费视品| 久久这里有精品视频| 国产精品九九久久免费视频| 一本精品99久久精品77| selao久久国产精品| 一区二区三区精品视频| 网友偷拍日韩精品| 亚洲AV蜜桃永久无码精品| 一本一道久久a久久精品综合| 麻豆人妻少妇精品无码专区| 青青草99热这里都是精品| 亚洲国产成人精品无码久久久久久综合 | 国产精品一区二区毛卡片| 亚洲精品无码久久久久YW| 欧美精品久久天天躁| 无码精品A∨在线观看无广告 | 中日韩精品电影推荐网站|