[Codeigniter-users] 奇妙な点 (Re: CIの速度) (Re: 初めまして)

Back to archive index

sakur****@pugpu***** sakur****@pugpu*****
2008年 8月 12日 (火) 12:08:28 JST


On Thu, 07 Aug 2008 09:27:25 +0900
sakurai <sakur****@pugpu*****> wrote:

> kunitsujiさん
> 
> On Wed, 06 Aug 2008 21:22:38 +0900
> kunitsuji <tsuji****@m-s*****> wrote:
> 
> >  kunitsujiです。
> >  
> > こっそり拝見しましたwww
> > 早いですね。FW使った時のもっさり感は全くないですね。
> 
> 今回公開したものはインターネット経由なので一息つくようなタイムラグがあり
> ますが、ローカルマシンでは全く感じませんでした。
> 
> FWの速度に関してですが、今回のモノがby-ciとあるように、同じ動作をするも
> のを従来手法で作成しています。速度比較もしましたが、CIの動作のオーバヘッ
> ドは全く感じませんでした。
> 
> 別アプリではセッション管理もスクラッチから作りましたが(それはそれで勉強
> になった)、FWに移行すれば、用意されているので便利ですね。今後はできれば
> CI+今回作成したCRUD画面ベースに切り替えて行きたいと思っています。

今回開発したCRUDフレームワーク(on CIフレームワーク)をライブラリ化してい
て、動作はしたのですが一点奇妙な点に気づきました。

まず、ホストはA(社内)とB(公開)があります。phpの設定において気づいたのは

A(社内): allow_call_time_pass_reference = Off
B(公開): allow_call_time_pass_reference = On

の違いがあります。CRUDフレームワークをライブラリ化したので、ライブラリコー
ド内の$thisは$CI = &getinstance()経由にしなければBでは動作しませんでした。
一方Aでは動作してしまいました。

次の点がもっと奇妙な点です。サンプルプログラム(呼び出し側のコード)におい
て、デフォルト関数を

  function index() {
    // CRUDフレームワーク及びパーサをロード
    $this->load->library('framework');
    $this->load->library('parser');
    // 以下はCRUDフレームワークの設定
    $this->framework->table = $this->expense_table;
    $this->framework->tmpl['update_flag'] = false;
    $this->framework->tmpl['heading_translation_table'] = $this->tmpl['heading_translation_table'];
    // 表画面作成
    $data = $this->framework->crud_display('expense');
    // 擬似変数の設定
    $this->_set_pseudo_variables(&$data);
    // 画面出力
    $this->parser->parse($view, $data); <--------ここ
  }


としましたが、動作しません。具体的には$this->parserがundefinedになります。
このコードはsystem/application/controllersの下にあるれっきとしたアプリケー
ションなのに、上記の一行を何故か
      $CI = &get_instance();
      $CI->parser->parse($view, $data);
としなければ動作しませんでした。

まとめると

          lib中の$this              appli中の$this->parser
---------------------------------------------------------
A(社内):  動作してしまった          $thisでは動作せず⇒$CIに書き換え
B(公開):  動作せず⇒$CIに書き換え   動作した

このように見るとB(公開)ホストは問題なく、A(社内)ホストの動作がなにかおか
しいように思われますが何かおわかりになる方はいますでしょうか?なおCIの環
境はコピーしており同一です。

-- 
モカぱぱ <mocap****@pugpu*****>




Codeigniter-users メーリングリストの案内
Back to archive index