<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # 介紹 ## class ### 什么是class? 一個class只是一個普通的PHP類。除了命名約定(與Fuel中的所有其他類相同)以外,它不需要擴展任何內容或遵循任何約定。 ```php class Session ``` 以上類的加載位置為 app / classes / session.php。 ### 加載類 與其他框架不同,類不需要手動加載。當您在代碼(控制器,模型等)中引用它們時,它們將被自動加載。 ### 子目錄中的類 與[Controllers](控制器.md)一樣,類必須小寫,首字母大寫,而下劃線會將類放入子目錄。 ```php Class Session\_Driver ``` 以上類的加載位置為 app / classes / session / driver.php。 ### 類和命名空間 為了確定要加載的PHP文件,FuelPHP的自動加載器將使用下劃線將名稱空間和類名稱完全相同。這意味著對于子目錄中的類,您可以混合匹配名稱空間和下劃線以滿足您的需求。 ```php // global namespace, fully underscored class name class Core_System_Messages {} // combine a namespace and underscores namespace Core; class System_Messages {} // or fully namespaced namespace Core\System; class Messages {} ``` 第一種方法是最常用且最容易理解的方法。如果以命名空間的方式去控制版本號,從而控制訪問對應的類,將會非常方便。 ## 初始化class 加載類后,可以讓Fuel的自動加載器執行某些自動化任務,就像對`__construct()`類實例進行的操作一樣。通過向`_init()`類添加公共靜態方法來執行此操作。 ``` php class Example { public static function _init() { // this is called upon loading the class } } ``` 如果已加載的類具有自己的`_init()`方法,但是還需要調用父類的init方法,需要用`parent::_init();` 來加載父類的init方法。 # 擴展核心 ## 擴展核心 class **請參考原文文檔閱讀本段。如果你正在通過本文檔了解該框架。建議你不要擴展核心class。** **確保知道您在做什么,內核以及您的應用程序將使用同名的擴展內核方法,這可能會導致意外行為。** * 擴展但不替代核心類 * 擴展并且替換核心類 * 利用包擴展核心 * 擴展限制 ### 擴展但不替代核心類 這些是最簡單的,并且可以像您創建的任何其他類一樣工作。只需讓它們擴展全局命名空間中的核心類即可: ~~~ class MyConfig extends Config {} ~~~ ### 擴展并且替換核心類 如果您想讓核心擴展以及自己的應用程序使用核心擴展,則需要以相同的名稱進行擴展,但要從“ Fuel \ Core”命名空間中獲取。以下是您在“ fuel / app / classes / lang.php”中創建的Lang類的示例: ~~~ class Lang extends Fuel\Core\Lang {} ~~~ 但是默認情況下會忽略與核心類同名的類。為了使自動裝帶器能夠識別您的替換產品,您需要在應用程序引導文件中注冊它。搜索以下行: ~~~ Autoloader::add_classes(array( // Add classes you want to override here // Example: 'View' => APPPATH.'classes/view.php', )); ~~~ 如注釋中所述,您需要添加新的Lang類,如下所示: ~~~ Autoloader::add_classes(array( // Add classes you want to override here // Example: 'View' => APPPATH.'classes/view.php', 'Lang' => APPPATH.'classes/lang.php', )); ~~~ 此后,核心類將被您的擴展替換。 > 與完整名稱空間一起使用時,核心類仍然可用。通過上面擴展“ Lang”的示例,您仍然可以通過調用“ Fuel \\ Core \\ Lang”來使用原始版本。 ### 利用包擴展核心 通過將軟件包添加為核心命名空間,自動加載器將嘗試從軟件包中加載任何類,然后再從核心中嘗試。但是,您必須在自動加載器中注冊這些類才能檢測到它們(文件系統自動加載器不支持全局別名)。下面是擴展View類的示例。 ~~~ Autoloader::add_core_namespace('Example'); Autoloader::add_classes(array( 'Example\\View' => __DIR__.'/classes/view.php', )); ~~~ ### 擴展限制 可以從應用程序擴展所有類。大多數類都可以從包中擴展,但有一些例外: * Fuel * Config * Config_Php * Config_File * Config_Interface * Finder * Arr * Input * Security * Event * Event\_Instance * 以及您在app/config/config.php 中使用的任何class 如果您在配置中激活了事件探查器,則無法從包擴展這些類: * Cookie * Session * Session_Cookie(或其他會話驅動程序類,具體取決于您的會話配置) * Session_Driver * Date * Profiler 您可以app/bootstrap.php通過Package::load('mypackagename');在Fuel::init()調用之前添加來手動將程序包加載到文件中,從而解決其中一些限制。如果這樣做,則您的軟件包只能擴展: * Fuel * Config * Package * Arr * Finder #### 自動裝帶器 Autoloader類是一種特殊情況,您只能將`Autoloader`擴展一次并使用。擴展它之后,你必須在 app/bootstrap.php 手動配置關于`Fuel\Core\Autoloader`的信息,不要忘記刪除將核心類別名為 global 的行。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看