第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

SWOOLE 從入門到放棄之寫個(gè)小框架(八)

標(biāo)簽:
PHP

突然想开个视频,传上来挣点奶粉钱。不知道可不可行,@慕女神,你就说行不行吧。。

撸代码。

前几篇内容已经能成功的跑起来,但它只是能跑起来,除此之外,没屁用。浏览器输入http://xxxx:9501/XXXX或http://xxxx:9501/YYYY,它没什么变化,这就是个勺子(注:陕西方言中傻子的意思,请看电影《一个勺子》)。接下来就先让它能给大家有个正常人能有的反应。。

首先,客户端发起请求时程序得指路,还得指到对的地方,这就是路由的基础功能了。而且我想给它定个目录稍高那么一丢丢。
一、能定义默认访问地址,就是它的默认首页。
二、咱还能给它来个伪扩展,比如“.html”或者是".lmth"。
三、有些地址太长,还能给它缩短一些。
四、让URL好看一些,比如/user/info.html?uid=1,变身后就 /user/info/1.html,是不是很好看。
五、开写。

创建文件 frame/Lib/Router.php,贴代码

<?php
/**
 * Router
 */

namespace Piz;

class Router
{
    /**实例
     * @var object
     */
    private static $instance;
    //默认配置
    private static $config = [
        'm'             => 'index',     //默认模块
        'c'             => 'index',     //默认控制器
        'a'             => 'init',     //默认操作
        'ext'           => '.html',          //url后缀    例如 .html
        'rules'         =>  [           //自定义路由
            'user'  => 'uesr/index/init',
            'login' => 'index/login/init',
        ]
    ];
    private function __construct() {}
    /**
     * 获取实例
     * @return object
     */
    public static function get_instance() {
        if( is_null(self::$instance) ) {
            self::$instance = new self();
        }
        return self::$instance;
    }

    /**
     * 这里就要一个参数 swoole_http_server->request->server[request_uri]
     */
    public function http($request_uri){
        $param      = [];
        $module     = self::$config['m'];
        $controller =  self::$config['c'];
        $action     =  self::$config['a'];

        if(empty($request_uri)) {
            return ['m'=>$module ,'c'=>$controller,'a'=>$action,'p'=>$param];
        }

        $path = trim($request_uri, '/');
        if(!empty( self::$config['ext']) ){
            $path = rtrim ($path,self::$config['ext']);
        }

        if (!empty(self::$config['rules']) ) {
            foreach (self::$config['rules'] as $key => $value) {
                if(substr($path,0,strlen($key)) == $key) {
                    $path = str_replace($key, $value, $path);
                    break;
                }
            }
        }

        $param = explode( "/" , $path);
        !empty($param[0]) && $module = $param[0];
        isset($param[1]) && $controller = $param[1];
        isset($param[2]) && $action = $param[2];

        if(count($param)>=3){
            $param = array_slice($param, 3);
        }else{
            $param = array_slice($param, 2);
        }

        return ['m'=>$module ,'c'=>$controller,'a'=>$action,'p'=>$param];
    }
}

改App.php代码,测试路由。

public function http($request,$response){
        $req = Request::get_instance ();
        $req->set($request);
        $router = Router::get_instance ()->http($req->server['request_uri']);
        $response->end(var_export ($router,TRUE));
    }

启动start.php

看效果
URL:http://192.168.1.111:9501/
图片描述

URL: http://192.168.1.111:9501/index/index/index/1
图片描述

OK。。

吃饭,午睡,下午再更

點(diǎn)擊查看更多內(nèi)容
1人點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消