share facebook facebook2 twitter menu hatena pocket slack

2014.07.11 FRI

PHP built-in webserverでphalconとwebtoolsも併用する

廣瀬 一海

WRITTEN BY廣瀬 一海

はじめまして、デプロイ王子こと廣瀬一海(@kazumihirose)です。

PHP ビルトインサーバーの利用¶でのコードでは、以下のように.htrouter.phpを指定して起動しますが。
これだと、webtools.phpやコントローラー、アクションにクエリ文字列を付与する時などにうまく動作してくれないので・・・

.htrouter.php
<?php
// これはphalconのマニュアルに記載
if (!file_exists(__DIR__.'/'.$_SERVER['REQUEST_URI'])) {
        $_GET['_url'] = $_SERVER['REQUEST_URI'];
}
return false;

以下のように書き換えるなどしてみました。

.htrouter.php
<?php
// これならwebtools.phpもOK
if (!file_exists(__DIR__.'/'.$_SERVER['REQUEST_URI'])) {
      list($url,$querys) = explode('?',$_SERVER['REQUEST_URI']);
        $_GET['_url'] = $url;
    if ($querys) {
            $params=explode('&',$querys);
        foreach($params as $param) <span class="p">{</span>
                list($key,$value) = explode('=',$param);
            $_GET[$key] = $value;
        }
    }
}
return false;

元記事は、こちら

廣瀬 一海

廣瀬 一海