この記事の所要時間: 約 0分55秒
以前あったControllerのメソッドが外部から呼べてしまう問題ですが、フレームワークが修正されて問題は解決したと思っていました。
しかし、よくよく見てみるとObject()だけはまだ呼べる状態になっています。
下のようなコントローラに[http://example.com/hoge/Object]でアクセスすると”**construct”が2回表示されます。
[app/controller/hoge_controller.php]
<?php class HogeController extends AppController { var $uses = array(); function __construct() { parent::__construct(); var_dump("**construct"); } } ?>
コンストラクタを継承してHogeControllerでややこしい事をしなければ、まあ2回呼ばれても良いかもしれませんが、やはり外から呼べる状態は気持ち悪いです。
こういうのを考えるとURLからコントローラとアクションが自動的にマッピングされるより、routes.phpできっちりマッピングしておいた方が安全かなあと思ったりします。(まあ利便性とのバランスですが)
いちおうチケットは出しておいたので修正されるのを待ちたいと思います。
- Newer: 第24回PHP勉強会に参加してきます。
- Older: クエリ文字列のセッションIDはクッキーには出力されない
トラックバック:0
- このエントリーのトラックバックURL
- /blog/2007/05/cakephp_controller_object.html/trackback
- Listed below are links to weblogs that reference
- CakePHP Controller#Object()が外部から呼べる from Shin x blog