Yaf多模塊開發

需知

由於Yaf的默認Module是Index,瀏覽器訪問http://127.0.0.1/passport/login,其實就是請求了Index模塊下的Passport控制器下的loginAction方法php

至於緣由,以下:html

默認狀況下,咱們的路由器是Yaf_Router, 而默認使用的路由協議是Yaf_Route_Staticapi

默認的路由協議Yaf_Route_Static, 就是分析請求中的request_uri, 在去除掉base_uri之後, 獲取到真正的負載路由信息的request_uri片斷, 具體的策略是, 根據"/"對request_uri分段, 依次獲得Module,Controller,Action, 在獲得Module之後, 還須要根據Yaf_Application::$modules來判斷Module是不是合法的Module, 若是不是, 則認爲Module並無體如今request_uri中, 而把原Module當作Controller, 原Controller當作Action。瀏覽器

在目錄application\controllers\下定義的控制器,都屬於Index模塊下的。app

安裝

Yaf的安裝工具

使用代碼生成工具建立新Yaf項目code

新建模塊

在目錄application\下新建目錄modules。除了默認模塊,其餘模塊都放在application\modules\下。htm

新建一個模塊,模塊名自定義。假設個人新模塊叫Api吧。
建立目錄application\modules\Api接口

修改項目配置文件conf\application.ini路由

ini; 多個模塊,使用逗號分隔
application.modules = "Index,Api"

在新模塊下建立控制器

在目錄application\modules\Api\下建立控制器目錄controllers,用於存放模塊Api下的控制器文件。

新建文件application\modules\Api\controllers\Passport.php

php<?php

class PassportController extends Yaf_Controller_Abstract {


    public function loginAction() {
        echo '我是登陸接口';
        return false;
    }

}

效果

瀏覽器訪問:http://127.0.0.1/api/passport/login

輸出:我是登陸接口

相關文章
相關標籤/搜索