元スレ[PHP][フレームワーク]CodeIgniterスレ
php覧 / PC版 /みんなの評価 : ○
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
でもよい子のみんなは、"出力の時"には変換しようね!
お兄さんとの約束だ!
みんなの評価 : ○
類似してるかもしれないスレッド
- [PHP][フレームワーク]CodeIgniter Part2 (983) - [86%] - 2015/4/7 12:46
- 【PHP】フレームワークPharonスレ (306) - [60%] - 2022/10/10 20:00
- [PHPフレームワーク]Laravel (995) - [53%] - 2017/7/22 11:45
- 【PHP】PHPフレームワーク総合スレ14 (1001) - [50%] - 2010/12/11 10:32
- 【PHP】PHPフレームワーク総合スレ15 (989) - [50%] - 2013/9/27 6:00 △
- 【PHP】フレームワークMapleに舌鼓 (470) - [48%] - 2017/12/31 9:31
- 2ch有志がPHPフレームワークを作るスレ (81) - [45%] - 2019/5/9 7:46
トップメニューへ / →のくす牧場書庫について