與許多開發(fā)框架一樣,F(xiàn)leaPHP通常也使用一個入口文件來啟動框架,并運行應(yīng)用程序代碼。雖然FleaPHP并不要求應(yīng)用程序必須使用單一" />

欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

FleaPHP 開發(fā)指南 - 3. 應(yīng)用程序入口

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

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


單一入口應(yīng)用程序

在 FleaPHP 應(yīng)用程序使用 MVC 模式時,應(yīng)用程序的所有功能都通過一個單一的文件來調(diào)用。這種通過單一文件來執(zhí)行所有功能的應(yīng)用程序,稱為單一入口應(yīng)用程序。有關(guān)單一入口應(yīng)用程序的一些信息,可以參考 ChinaUnix 上的一篇帖子

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


創(chuàng)建入口文件

現(xiàn)在,我們來創(chuàng)建一個最簡單的入口文件。打開文本編輯器,創(chuàng)建 htdocs/index.php 文件,內(nèi)容如下:

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

現(xiàn)在啟動瀏覽器,輸入地址: http://localhost/index.php ,應(yīng)該就可以看到如下的畫面:

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


實現(xiàn)我們的第一個控制器

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

現(xiàn)在我們來實現(xiàn)第一個控制器:

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

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

同時修改 index.php 入口文件,內(nèi)容改為:

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

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

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


添加更多的動作

現(xiàn)在我們?yōu)檫@個控制器添加更多的 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 并按回車鍵。可以看到輸出內(nèi)容改變了。

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


實現(xiàn)更多的控制器

創(chuàng)建新文件 htdocs/APP/Controller/Book.php,并輸入內(nèi)容:

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

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

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

<!-- generated by Texy! -->


FleaPHP 開發(fā)指南 - 3. 應(yīng)用程序入口


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

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

【本文對您有幫助就好】

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

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 日本三级韩国三级欧美三级 | 粉嫩粉嫩一区二区三区在线播放 | 国产福利视频一区美女 | 中国妞xxx| 真实做爰对白录音 | 超级碰碰碰视频视频在线视频 | 国产精品爱久久久久久久小说 | 色屁屁www影院免费观看软件 | a视频在线播放 | 影音先锋资源av | 国产精品久久久久久久久久久久 | 亚洲一区二区三区免费观看 | 久久精品99 | 热灸灸这里只有精品 | 69av亚洲| 久久6699精品国产人妻 | 成人福利在线观看 | 精品一区二区免费视频视频 | 久久一区二区三区精品 | 午夜黄色大片 | 欧美韩国日本一区 | av在线官网| 亚洲精品久久久蜜桃 | 奇米影音第四色 | 久久国产精品视频 | 波多野结衣在线观看一区 | 亚洲人天堂| 91精品国模一区二区三区 | 亚洲精品无码不卡在线播放he | 婷婷精品国产亚洲AV在线观看 | 国产成人精品999在线观看 | 福利免费在线 | 中文字幕一区二区三 | 国产一区二区三区 | 久久91av | 99国产精品久久久 | 成人国产激情福利久久精品 | 毛片a在线| 久久免费看少妇高潮A片特黄多 | 日本最新中文字幕 | 欧美激情 在线 |