與許多開發框架一樣,FleaPHP通常也使用一個入口文件來啟動框架,并運行應用程序代碼。雖然FleaPHP并不要求應用程序必須使用單一" />

日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

FleaPHP 開發指南 - 3. 應用程序入口

系統 2918 0
<iframe align="center" marginwidth="0" marginheight="0" src="http://www.zealware.com/csdnblog336280.html" frameborder="0" width="336" scrolling="no" height="280"></iframe>

與許多開發框架一樣,FleaPHP 通常也使用一個入口文件來啟動框架,并運行應用程序代碼。雖然 FleaPHP 并不要求應用程序必須使用單一的入口文件,不過在本系列文章中,我大部分時間都使用單一入口文件。


單一入口應用程序

在 FleaPHP 應用程序使用 MVC 模式時,應用程序的所有功能都通過一個單一的文件來調用。這種通過單一文件來執行所有功能的應用程序,稱為單一入口應用程序。有關單一入口應用程序的一些信息,可以參考 ChinaUnix 上的一篇帖子

許多著名的 PHP 應用程序都是單一入口,例如 Drupal、WordPress、XOOPS、Mambo 等。當然也有 phpMyAdmin 這樣的非單一入口應用程序。


創建入口文件

現在,我們來創建一個最簡單的入口文件。打開文本編輯器,創建 htdocs/index.php 文件,內容如下:

      
        
          <?php </span>
          
            require
          
          (
          
            'FLEA/FLEA.php'
          
          );run();
          
            ?>
          
        
      
    

現在啟動瀏覽器,輸入地址: http://localhost/index.php ,應該就可以看到如下的畫面:

這個畫面顯示了一個錯誤信息,但是也表明 index.php 中的兩行代碼已經成功啟動了 FleaPHP 框架。


實現我們的第一個控制器

在 FleaPHP 應用程序中,應用程序包含多個控制器。每一個控制器又提供一組控制器動作(后文及本系列文章中都簡稱為“動作”)。每一個瀏覽器發送給 FleaPHP 應用程序的請求,都是由一個動作來處理的。將一組相關的動作集中到一起,就形成了一個控制器。

現在我們來實現第一個控制器:

創建 htdocs/APP/Controller 目錄,并創建文件 htdocs/APP/Controller/Default.php (注意嚴格匹配目錄名和文件名的大小寫),內容如下:

      
        
          <?php </span>
          
            class
          
           Controller_Default{ 
          
            function
          
           actionIndex() { 
          
            echo
          
          
            "My first controller."
          
          ; }}
          
            ?>
          
        
      
    

同時修改 index.php 入口文件,內容改為:

      
        
          <?php </span>
          
            require
          
          (
          
            'FLEA/FLEA.php'
          
          );import(
          
            dirname
          
          (__FILE__) . 
          
            '/APP'
          
          );run();
          
            ?>
          
        
      
    

現在切換到瀏覽器,點擊“刷新”按鈕,可以看到 Default.php 文件中的 actionIndex 方法正確執行了。

從剛剛這個例子可以看到,每一個控制器實際上就是一個類,而一個動作則是該類的一個方法。


添加更多的動作

現在我們為這個控制器添加更多的 Action 方法:

      
        
          <?php </span>
          
            class
          
           Controller_Default{ 
          
            function
          
           actionIndex() { 
          
            echo
          
          
            "My first controller."
          
          ; } 
          
            function
          
           actionSay() { 
          
            echo
          
          
            "Oh, FleaPHP great!"
          
          ; }}
          
            ?>
          
        
      
    

切換到瀏覽器,將瀏覽地址從 http://localhost/index.php 改為 http://localhost/index.php?action=say 并按回車鍵。可以看到輸出內容改變了。

由此可見,action 參數的值決定了要調用控制器中的哪一個動作方法。在上面的例子中,action=say 時,調用的動作方法為 actionSay。因為 FleaPHP 默認要求每一個動作方法必須加上前綴 action。如果不提供 action 參數,則名為 index 的動作方法 actionIndex() 會被調用。


實現更多的控制器

創建新文件 htdocs/APP/Controller/Book.php,并輸入內容:

      
        
          <?php </span>
          
            class
          
           Controller_Book{ 
          
            function
          
           actionIndex() { 
          
            echo
          
          
            "Book controller default action."
          
          ; } 
          
            function
          
           actionSayTitle() { 
          
            echo
          
           h(
          
            ">"
          
          ); }}
          
            ?>
          
        
      
    

現在切換到瀏覽器,輸入地址 http://localhost/index.php?controller=Book&action=sayTitle ,并按回車鍵。可以看到我們成功的調用了另一個控制器的動作方法。

與使用 action 參數指定要調用的動作類似,用 controller 參數可以指定要調用的控制器。而此時 action 參數指定的就是該控制器的動作。

<!-- generated by Texy! -->


FleaPHP 開發指南 - 3. 應用程序入口


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 微山县| 定西市| 新干县| 秀山| 涞源县| 慈溪市| 南宫市| 邵东县| 双柏县| 崇左市| 渝北区| 随州市| 东兰县| 虎林市| 兰西县| 昆明市| 开鲁县| 镇远县| 永靖县| 扶余县| 仁化县| 体育| 开远市| 香港| 将乐县| 沾益县| 台中市| 亚东县| 南华县| 随州市| 郯城县| 来凤县| 永新县| 琼中| 仪陇县| 揭阳市| 阜平县| 丹巴县| 永济市| 县级市| 榆树市|