のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,062,905人
昨日:no data人
今日:
最近の注目
人気の最安値情報

    元スレ[PHP][フレームワーク]CodeIgniterスレ

    php覧 / PC版 /
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : - Rapyd + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter

    452 = :

    >>451
    ソレは自分で試してみたほうが早いんじゃない?

    453 = :

    複数のコントローラ間でメソッドを共有したいとき、どうするのがいいでしょうか。
    できれば、あるコントローラのメソッド内で、別のコントローラをnewしてメソッドを実行できるのがいちばん理想的なんですが、そんなことできますか。

    454 = :

    >>453
    application/libraryにMY_Controllerを置き、共通メソッドはそこに置く。
    そのメソッドを使うコントローラはextends MY_Controllerで作る。

    455 = :

    >>454
    しかしそれをしていると、だんだん多重継承っぽい事がしたくなってくるという罠

    シンプルな処理、Controllerのプロパティ、機能等が必要ない様なものは、
    ユーティリティクラスに切り出すとかもありかと思う

    そして、libraries がカオスになるというセンスのない俺

    456 = :

    >>454
    MY_Controllerに相当するものは作っているんですが、そこにはやはり多くのコントローラに共通するものだけをおきたいです。
    あるコントローラAとコントローラBだけが使うようなものは、やっぱりMY_Controllerにはおきたくないですよね。

    class AB_Controller extends MY_Controller
    class ControllerA extends AB_Controller
    class ControllerB extends AB_Controller
    みたいなのってできますっけ?


    >>455
    多重継承やMix-inは欲しくなりますね。
    librariesやhelpersがカオスになるのはよくわかります。
    今まさにそんなかんじになりつつあるので、整理しているところです。

    459 = :

    >>458
    「MY_がついてて、MY_の後の最初の1文字だけが大文字」の命名ルールに従ってないと
    オートローディングできないですよ~。
    (プレフィクスはconfig.phpでMY_以外に変更可能)

    命名規則を揃えるか、自前でコントローラクラスにrequire_onceを書くか、どっちかの手当てが
    必要。

    460 :

    >>459
    ありがとうございました。大変助かりました!

    463 = :

    syslogの区分けにして欲しいよな
    ciはアメリカ人らしく独自すぎるところが結構ある

    465 = :

    なんかDB使ってるとFromのテーブルがどんどん増えていくんだけれども。
    もしかして静的にテーブル溜め込んでんの?

    466 = :

    CIでunit testやってる人いません?

    うちはCIのWikiに出てたSimpletesterをいじりながらなんとかやってますけど、
    1フォルダ内のテストクラスを全実行することしか出来なくてちょっとこまってます。
    http://codeigniter.com/wiki/SimpleTester_-_Unit_testing_library/

    470 = :

    1.7でなにか変わった?

    471 = :

    validationクラスがform_validationクラスに名前変更&若干の仕様変更
    →configに定義したものから読み込み可能になった

    sessionデータをDBに保存するように変更とソレに伴ってテーブル定義変更

    この二つ位かな?個人的には

    詳しくは
    http://codeigniter.com/user_guide/changelog.html

    472 = :

    なるほど、どもです。

    474 = :

    PHP5.0+MySQL4.0で、CI1.6.3だとDBのエラーが出ますね。
    >クライアント接続文字エンコードを設定できませんでした

    検索したら対策がヒット
    http://manno.jugem.jp/?eid=500
    system/database/DB_driver.php の 178~188 をコメントアウト(強引にTRUEを返す)したらとりあえず動いた。

    http://blog.livedoor.jp/dango22/archives/51056076.html
    /system/database/DB_driver.php // 178行目からコメントアウト

    CodeIgniter入門6章の機能拡張の方法のように、元のファイルを変更しないで、自分で別ファイルを用意して、
    /system/database/DB_driver.phpを継承する方法で対応できないでしょうか?

    用意されたDBがMySQL4.0で変更できないので、とりあえずこの方法で乗り切る予定ですが^^

    475 = :

    呼び出されたコントローラーとメソッド名取得することって出来ませんかね。

    478 = :

    >>475
    いまさらだが

    $this->CI =& get_instance();
    $this->CI ->router->fetch_class();
    $this->CI ->router->fetch_method();
    でもできるみたい。

    コントローラやモデル内なら
    $this->router->fetch_class();
    でアクセス可

    480 = :

    >>479
    自前です。MY_Contoroller作る方法で。

    481 :

    >>480
    同じく。それが安心だね。掛け忘れもおきないし。

    483 = :

    みなさんありがとう。
    MY_Controllerでログイン処理を自前実装?ということでしょうか?

    私はリマインダーとかアカウント管理画面を1からは作るの面倒だなーと思ったので、
    (というか今の案件で時間がないw)
    はてなダイアリーで FreakAuth_light を入れてみた人のを参考にして、
    それを試してみています。

    484 = :

    ログイン認証のライブラリについてですが、
    CIのMLで紹介されていたDX Authは、今度試してみたいです^^
    http://dexcell.shinsengumiteam.com/dx_auth/

    485 = :

    >>484
    CL_Authの派生版なんですね。

    FreakAuth_light 入れようとしたら、結局 1.7.0 だと改造必要なので困ってしまいました。
    DX Auth は1.7.0対応してるみたいなのでよいですね。

    487 = :

    簡単な認証なら自作した方が早いよ。

    488 = :

    1.7のドキュメント日本語化、がんばってください。
    他力本願で申し訳ないけど、早く日本語で読みたいw
    翻訳作業に限らず、ユーザ会の皆さんには本当に感謝!

    489 = :

    口語訳→ 「ドキュメントマダー? 俺のためにみんな頑張れ」

    490 :

    >>489
    はい、そのとーりですw
    100点!

    491 = :

    英語できないなら冗談抜きでプログラマにならないほうがいいと思うよ。

    493 = :

    翻訳してくれた方々には感謝してます。
    おかげでCodeIgniterの学習コストが少しで済んだ。
    本も買って、何度も読み返している。

    WEBアプリを作るのが楽しいと思える今日この頃。
    今もプログラミングしてるし。^^
    CodeIgniter日本語版のおかげで、デスマの日々を過ごしたトラウマから立ち直れそうです。(・∀・)

    494 = :

    web関係やったことなかた、俺には本は正直かなりよかった。
    願わくば 1.7 の差分を公開を!
    今は、Form ValidationやDBのセッション使うみたいだしね

    495 = :

    Form Validationの質問を1つしていいですか?
    Validation後の値をとるときってどうすればいいんですかね?
    DX_authとか見てるとプログラム中で(controller/auth.phpとかで)
    set_value() 使っているんだけど、メソッド名的になんか変なんですが、こんなもんでしょうか?

    フォーラムとか見ると、
     $this->input->post('mage');
    使えってあったけど、これって直接入れた値なんじゃないのかな?不安なんですが・・

    497 = :

    >>495
    たぶん、サニタイズ?とごっちゃになってるんだろうなー
    というか、入力データをとりあえず変換するっていう発想はなかなかなくならないのな。

    実際、入力値を変換するっていう処理が本当に必要なのは文字コードの変換くらいだろうと
    思うんだが・・・
    どうも質問で想定されてるのが、例えば数字・記号の全角半角変換や検索キーワードの
    平仮名←→カタカナ変換等の親切処理とか、メール送信等を考えての半角カナ・機種依存
    文字や絵文字などを置換・削除する処理などではない雰囲気なのが、なんだかなあ

    498 = :

    >>495
    form_validation->run実行してtrueだったらvalidationを通った値ということなので、そのまま$this->input->post使えばいいと思うよ。
    それでも心配なら自分でコード書いてテストすればよろし。

    という話だと解釈したんだが間違ってたらすまん。

    499 = :

    あああ、そうか理解した。

    Validateつまり検証するだけだから、検証にパス(runでTRUEが返る)したら、
    その時点でOKだから、input->post使えばいいのか。
    修正とか変換するわけではないのね・・・。

    set_value() はviewのformに前の入力値をデフォルト表示するためのものだから、
    そう使うべきのもの。

    500 = :

    >>499
    でもよい子のみんなは、"出力の時"には変換しようね!
    お兄さんとの約束だ!


    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : - Rapyd + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

    類似してるかもしれないスレッド


    トップメニューへ / →のくす牧場書庫について