自分の作業用メモなので。間違ってたりそれじゃ無いとか有るかも知れませんが、とりあえず。あとで自分で思い出すためのメモです。ちなみにPHP自体の言語仕様にも不慣れなのでその辺お察しを。
開発環境を即Web公開状態にする
- Eclipseのワークスペース上にあるapplicationフォルダ(CodeIgniter\application)を、Apacheの公開用フォルダからシンボリックリンクでつなぐ。
- Apacheの公開フォルダが「C:\work\web」の場合、C:work\web にシンボリックリンクで「C:\work\eclipse_workspace\CodeIgniter\application」をリンクする。
- index.phpはC:\Work\webに有る状態。
- この状態で「C:\work\eclipse_workspace\CodeIgniter\application\controllers\welcome.php」が「http://localhost/welcome」で見えるようになる。
特定フォルダにシンボリックリンクを設定する
実際にApacheなどのプロセスがフォルダを意識する際に、本物のフォルダとして扱ってくれるように別フォルダへのルートを用意するにはシンボリックリンクが使える。サンプルコードの
C:\work\web>mklink /d application C:\work\eclipse_workspace\CodeIgniter\application
こんな感じでコマンドをうつと
application <<===>> C:\work\eclipse_workspace\CodeIgniter\application のシンボリック リンクが作成されました
のようなメッセージが表示されてシンボリックリンクが完成。シンボリックリンクは対象フォルダが存在しなくても作れるので注意が必要(期待通りに動かないときはスペルミスも視野に入れて確認すること)。
なんか警告が消えない
※※これは純粋なシンタックスエラーが原因です:ご指摘Thxです!なんで気づかないww 疲れてるのね※※
「変数が定義されていない」みたいなエラーメッセージが出続ける……。コードはこんな感じ。
再マップメソッドを試していたのだけど$methodで警告が(上のコード、$methodに値を入れたり試していたので文字列「test」の代入文が冒頭に残ってる)。
なんども変数定義を見直したり全角文字になってないかとか見たけれど……ということで警告文で検索したらこんな説明が。
そういうこと?非表示にしなければ出てしまうメッセージのようで。で、CodeIgniter一式に入っているindex.phpを見てみると、開発環境かどうかという定数宣言に応じてメッセージ表示を切り替える設定があった。
/* *--------------------------------------------------------------- * ERROR REPORTING *--------------------------------------------------------------- * * Different environments will require different levels of error reporting. * By default development will show errors but testing and live will hide them. */ if (defined('ENVIRONMENT')) { switch (ENVIRONMENT) { case 'development': error_reporting(E_ALL); break; case 'testing': case 'production': error_reporting(0); break; default: exit('The application environment is not set correctly.'); } }
コレを下記のように書き換える。詳しい構文とかはまだ調べ切れてないけれど、おそらく「~」は否定演算で、ビット演算かなんかでフラグを設定するようになってるんでしょうね。
/* *--------------------------------------------------------------- * ERROR REPORTING *--------------------------------------------------------------- * * Different environments will require different levels of error reporting. * By default development will show errors but testing and live will hide them. */ if (defined('ENVIRONMENT')) { switch (ENVIRONMENT) { case 'development': error_reporting(E_ALL); // error_reporting(E_ALL & ~E_NOTICE); break;
remapが有る場合にはほかのメソッドは呼べない?
_remapメソッドが用意されている場合、メソッド名にあたる2つめのセグメントは_remapメソッドの引数として指定されるため、別のメソッドを直接呼ぶことができないみたい。

- 作者: 河合勝彦,鈴木憲治,安藤建一
- 出版社/メーカー: 翔泳社
- 発売日: 2008/06/10
- メディア: 大型本
- 購入: 11人 クリック: 88回
- この商品を含むブログ (19件) を見る

- メディア:
- この商品を含むブログを見る