2016/05/28(土)セミナー「CodeIgniterユニットテストのご案内」開催

2016/05/28(土)に名古屋で開催されるOSC 2016 Nagoyaにて、CodeIgniterのセミナーが開催されます。

CodeIgniterでPHPUnitを用いてテストを行う方法に関する内容のセミナーです。

席に限りがありますので、参加希望の方は、早めに申し込みをお願いします。詳細は、以下のページをご覧ください。

また、OSC 2016 Nagoyaには日本CodeIgniterユーザ会が出展します。

OSC 2016 Nagoyaについては、以下の公式サイトをご覧下さい。

関連

Tags: codeigniter

Composerのpre-install-cmd、post-install-cmdの仕様が変わっていた

たまに仕様が変わって動かなくComposerですが、1か月ほど前にまた仕様変更があったようです。

Before, running install without a lock file did an install that was almost an update, but still ran the pre/post-install-cmd scripts. Now we normalized it to actually run an update and fire pre/post-update-cmd, because that's what it is doing. If you have a lock file though it will run install as before.

ということで、lockファイルなしのinstallではpre/post-install-cmdは動作しなくなりました。pre/post-update-cmdを使う必要があります。

参考

Tags: php, composer

CodeIgniter 3.0の$config['uri_protocol']とURIセグメントの値

あまり問題になることはないと思いますが、設定によりURIセグメントの値が少々変わります。

具体的には、$config['uri_protocol']の設定によって、URIセグメントの値がURLエンコードされたままかデコードされた値か変わります。

これは、config/config.phpに以下のように記載されています。

WARNING: If you set this to 'PATH_INFO', URIs will always be URL-decoded!

このように値が変わるのは、CodeIgniterが対応する$_SERVER変数の値をそのまま使っているためです。デフォルトはREQUEST_URIです。

検証

controllers/Sample.php

<?php

class Sample extends CI_Controller
{
    public function index($arg = 'default')
    {
        echo html_escape($arg);
    }
}

http://localhost:8000/sample/index/%3Cs%3Eにアクセスすると、

  • REQUEST_URIの場合は%3Cs%3E
  • PATH_INFOの場合は「The URI you submitted has disallowed characters.」

になります。

The URI you submitted has disallowed characters.になるのは、デコードされた値にCodeIgniterの「URIセキュリティ」仕様により許可されない文字列が含まれるからです。

Tags: codeigniter, security