08/08/29 08:50:09
複数のコントローラ間でメソッドを共有したいとき、どうするのがいいでしょうか。
できれば、あるコントローラのメソッド内で、別のコントローラをnewしてメソッドを実行できるのがいちばん理想的なんですが、そんなことできますか。
454:nobodyさん
08/08/29 11:22:01
>>453
application/libraryにMY_Controllerを置き、共通メソッドはそこに置く。
そのメソッドを使うコントローラはextends MY_Controllerで作る。
455:nobodyさん
08/08/29 11:44:55
>>454
しかしそれをしていると、だんだん多重継承っぽい事がしたくなってくるという罠
シンプルな処理、Controllerのプロパティ、機能等が必要ない様なものは、
ユーティリティクラスに切り出すとかもありかと思う
そして、libraries がカオスになるというセンスのない俺
456:nobodyさん
08/08/29 14:42:55
>>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がカオスになるのはよくわかります。
今まさにそんなかんじになりつつあるので、整理しているところです。
457:nobodyさん
08/09/07 15:37:47
>>456
びっくりするくらい亀レスですがw
> class AB_Controller extends MY_Controller
> class ControllerA extends AB_Controller
> class ControllerB extends AB_Controller
> みたいなのってできますっけ?
できますね。うちでは、MY_Controller にはしていませんが。
(この辺のAutoLoderの仕組みがあんまりよくわかってないw)
458:nobodyさん
08/09/12 18:31:21 q2obqPa7
>457
Fatal error: Class 'AB_Controller' not found in 呼び出してるコントローラーを継承しているクラス.php on line XX
ってなるんですが、なぜでしょうか。
以下に配置してます。
/system/application/libraries/AB_Controller.php
--------------------------------------------------------
<?php
class AB_Controller extends MY_Controller {
function AB_Controller()
{
parent::MY_Controller();
}
}
?>
459:nobodyさん
08/09/13 01:11:52
>>458
「MY_がついてて、MY_の後の最初の1文字だけが大文字」の命名ルールに従ってないと
オートローディングできないですよ~。
(プレフィクスはconfig.phpでMY_以外に変更可能)
命名規則を揃えるか、自前でコントローラクラスにrequire_onceを書くか、どっちかの手当てが
必要。
460:nobodyさん
08/09/14 01:01:21 cUARlcyz
>>459
ありがとうございました。大変助かりました!
461:nobodyさん
08/09/18 13:09:07
CodeIgniter的には、pluginとhelperの違いって何かありますか。
どっちも関数を提供するだけで、違いが内容に見えます。
462:nobodyさん
08/09/18 16:11:44 nzPLdxkT
ログのしきい値おかしいね。普通
0 出力なし
1 ERROR
2 INFOも
3 DEBUGも
じゃない?
463:nobodyさん
08/09/18 17:07:43
syslogの区分けにして欲しいよな
ciはアメリカ人らしく独自すぎるところが結構ある
464:nobodyさん
08/09/18 17:47:47 nzPLdxkT
だよね。
しきい値勝手に変えちゃったもん。
465:nobodyさん
08/09/22 21:08:37
なんかDB使ってるとFromのテーブルがどんどん増えていくんだけれども。
もしかして静的にテーブル溜め込んでんの?
466:nobodyさん
08/10/08 18:34:20
CIでunit testやってる人いません?
うちはCIのWikiに出てたSimpletesterをいじりながらなんとかやってますけど、
1フォルダ内のテストクラスを全実行することしか出来なくてちょっとこまってます。
URLリンク(codeigniter.com)
467:nobodyさん
08/10/20 05:19:44
base_urlにIndex.phpが引っ付くのはでふぉ?
468:nobodyさん
08/10/20 05:21:12
ちがったform_openだ
469:nobodyさん
08/10/24 20:58:58
1.7.0
470:nobodyさん
08/10/28 10:49:17
1.7でなにか変わった?
471:nobodyさん
08/10/28 14:21:52
validationクラスがform_validationクラスに名前変更&若干の仕様変更
→configに定義したものから読み込み可能になった
sessionデータをDBに保存するように変更とソレに伴ってテーブル定義変更
この二つ位かな?個人的には
詳しくは
URLリンク(codeigniter.com)
472:470
08/10/28 20:20:01
なるほど、どもです。
473:nobodyさん
08/11/12 18:05:07
ciってcgi版phpでrewriteを使って
URLリンク(www.example.com)
を
URLリンク(www.example.com)
でアクセスできるようにすると、動かないのですかね・・・