Your SlideShare is downloading. ×
  • Like
20121024 phpstudy
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

20121024 phpstudy

  • 1,330 views
Published

 

Published in Lifestyle
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,330
On SlideShare
0
From Embeds
0
Number of Embeds
3

Actions

Shares
Downloads
0
Comments
0
Likes
3

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. 2012.10.24 (Wed)橋口 誠 a.k.a. gusagi
  • 2.  menue株式会社 所属 • ケータイ / スマートフォンサイトとか作ってます • 最近は社内勉強会なども色々やってます 『パーフェクトPHP』書きました 以前はPHP勉強会@東京の幹事やってました
  • 3. はじめにAsset FilterDispatcher Filtersまとめ
  • 4. 「資産」「財産」の意 ↓css, js, 画像などを指す
  • 5. js, 画像などもプログラム経由で出力 css, している 更新が滅多に行われないのにキャッシュが 使われない 不要な記述でファイルサイズが大きくなっ ている ファイル取得に大量のリクエストを送って いる
  • 6. css, jsをgzip圧縮304 Not Modifiedの制御css, js内の文字列置換複数ファイルの一括出力
  • 7. app/Config/core.php で フィルタを設定
  • 8. Configure::write( Asset.filter.css‘,‘asset.php‘); Configure::write( Asset.filter.js‘,‘asset.php‘);
  • 9. HtmlHelper::css(), HtmlHelper::js()の出力URLが変化
  • 10. /css/example.css ↓/ccss/example.css
  • 11. /js/example.js ↓/cjs/example.js
  • 12. https://github.com/gusagi/WizApp/blob/develop/webroot/asset.php
  • 13. 変数名 値$url CakeRequestクラスのオブジェクト->url$response CakeResponseクラスのオブジェクト$filters Asset.filter で設定した内容(配列型)$isCss リクエストファイルがcssかどうか(boolean)$isJs リクエストファイルがjsかどうか(boolean)
  • 14. 最後にexitを忘れずに!
  • 15.  Dispatcherクラスからフィルタ部分を分離 app/Config/bootstrap.phpで設定 CakePHP本体では2つのフィルタを用意 • AssetDispather  lib/Cake/Routing/Filter/AssetDispatcher.php • CacheDispatcher  lib/Cake/Routing/Filter/CacheDispatcher.phphttp://book.cakephp.org/2.0/en/development/dispatch-filters.htmlhttp://api.cakephp.org/class/dispatcher-filter
  • 16. CakePHPが出力するレスポ ンスヘッダを改ざんデフォルト以外のContent- Typeを追加
  • 17. app/Config/bootstrap.php で フィルタを設定
  • 18. Configure::write( Dispatcher.filters, array( ‘AssetDispatcherEx, ‘CacheDispatcher’));
  • 19. https://github.com/gusagi/WizApp/blob/develop/Routing/Filter/AssetDispatcherEx.php
  • 20. css, jsの出力に手を加えたい ならAsset Filtercss, js以外の出力に手を加え たいならDispatcher Filters
  • 21. フィルタを使ってコアコードに手を加えずに CakePHPを更に美味しく