CodeIgniter ショートオープンタグ
CodeIgniter では独自にショート オープン タグを実装している。
ROOT/system/application/config/config.php で機能の有効・無効を設定できる。
rewrite_short_tags を設定することでショートタグが使えるようになる。
ROOT/system/libraries/Loader.php if ((bool) @ini_get('short_open_tag') === FALSE AND config_item('rewrite_short_tags') == TRUE){ echo eval( '?>'.preg_replace( "/;*\s*\?>/", "; ?>", str_replace( '<?=', '<?php echo ', file_get_contents($_ci_path) ) ).'<?php ' ); }
最初に PHP タグを閉じて、最後に開いているのは eval() しているから。
eval() している場所は PHP タグ内にある。
そのため、一度 PHP から抜け出して eval() してから再び PHP の世界に戻る。