• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
20121024 phpstudy
 

20121024 phpstudy

on

  • 1,526 views

 

Statistics

Views

Total Views
1,526
Views on SlideShare
687
Embed Views
839

Actions

Likes
3
Downloads
0
Comments
0

4 Embeds 839

http://www.engineyard.co.jp 826
http://localhost 10
https://twitter.com 2
http://127.0.0.1 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    20121024 phpstudy 20121024 phpstudy Presentation Transcript

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