10分で分かるApp::import()

+10

No comments posted yet

Comments

Slide 1

10分で分かるApp::import() 2009/05/22 第4回CakePHP勉強会@Tokyo 新原 雅司

Slide 2

■自己紹介 新原雅司(しんばら まさし) shin1x1 [Twitter/Wassr etc] Shin x blog http://www.1x1.jp/blog/

Slide 3

■Agenda 基本 応用 まとめ 告知

Slide 4

■基本

Slide 5

■App::import()って? PHPファイルを読み込む機能 ようはパワーアップしたrequire_once() 主にクラスファイルの読み込みに使う 1.2から登場 vendor()は廃止 uses()も減少(35 -> 23)

Slide 6

■App::import()の特徴 タイプとクラス名だけでok 複数クラスを一度に指定できる // フレームワークのObjectクラス App::import('Core', 'Object'); // UserController App::import('Controller', 'User'); // SetとString App::import('Core', array('Set', 'String'));

Slide 7

■PEARやZFなファイルは 大文字が含まれるファイルは 第3引数で相対パスを指定 // app/vendors/Openpear/Util.php // App::import('Vendor', 'Openpear_Util',   array('file' => 'Openpear'.DS.'Util.php');

Slide 8

■サーチパス ファイルを探索するディレクトリパスリスト サーチパスの先頭からファイルを探す 環境変数PATH include_path

Slide 9

■AppController アプリケーションで定義してもok 定義しなくてもok => サーチパスで実現 Controllerのサーチパス app/controllers/ app/ cake/libs/controllers/

Slide 10

■サーチパス AppControllerの読み込み app/controllers/app_controller.phpを探す => あれば終了 app/app_controller.phpを探す => あれば終了 cake/libs/controllers/app_controller.phpを探す => あれば終了 見つからなければ、ひっそり終了

Slide 11

■サーチパス Dispatcherクラス [cake/dispatcher.php] cake/libs/ cake/libs/model/ cake/libs/behaviors/ cake/libs/controller/ cake/libs/controller/components cake/libs/view/ cake/libs/view/helpers/ cake/ vendors/ cake/console/libs/

Slide 12

■キャッシュ 見つけたファイルパスをキャッシュする デフォルトではファイルに書く 次回はキャッシュのパスを直接読み込む 結果、余計なファイル探索を回避 Debug Level に注意 1以上だとキャッシュは10秒だけ有効 パフォーマンステストをするなら 0 で

Slide 13

■応用

Slide 14

■応用1. サーチパスを追加する app/config/bootstrap.phpに書く Controllerのサーチパスに /tmp 、/path/to/hogeを追加 でもCoreは変更できない <?php $controllerPaths = array('/tmp', '/path/to/hoge'); ?>

Slide 15

■応用2. コアなファイルを読み替える キャッシュ App::import()はキャッシュがあれば、 キャッシュから読み込む フレームワークより先にキャッシュする app/config/bootstrap.php App::import('Core', 'Dispatcher', array('file' => '../app/dispatcher.php'));

Slide 16

■まとめ

Slide 17

■まとめ App::import()のオプションをおさえておく PEARやZFなファイルは第3引数で指定 フレームワークのファイル読み込みを理解

Slide 18

■[告知] 1.2版CakePHPガイドブック 6月下旬刊行予定 7/25 池袋ジュンク堂 CakePHP実践本&ガイドブックトークイベント 安藤さん、岸田さん、新原 実践本、まだまだ好調 ありがとうございますm(_ _)m

Slide 19

ご静聴ありがとうございました。 19

Summary: 第4回CakePHP勉強会@Tokyo

Tags: cakephp

URL: