SlideShare a Scribd company logo
2012.10.24 (Wed)
橋口 誠 a.k.a. gusagi
20121024 phpstudy
 menue株式会社   所属
 • ケータイ / スマートフォンサイトとか作ってます
 • 最近は社内勉強会なども色々やってます

 『パーフェクトPHP』書きました

 以前はPHP勉強会@東京の幹事やってました
20121024 phpstudy
20121024 phpstudy
はじめに


Asset Filter


Dispatcher Filters


まとめ
20121024 phpstudy
「資産」「財産」の意
           ↓
css, js, 画像などを指す
20121024 phpstudy
20121024 phpstudy
js, 画像などもプログラム経由で出力
 css,
  している
 更新が滅多に行われないのにキャッシュが
  使われない
 不要な記述でファイルサイズが大きくなっ
  ている
 ファイル取得に大量のリクエストを送って
  いる
20121024 phpstudy
20121024 phpstudy
20121024 phpstudy
20121024 phpstudy
20121024 phpstudy
20121024 phpstudy
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
20121024 phpstudy
20121024 phpstudy
20121024 phpstudy
https://github.com/gusagi/WizApp/blob/develop/webroot/asset.php
20121024 phpstudy
変数名         値
$url        CakeRequestクラスのオブジェクト->url
$response   CakeResponseクラスのオブジェクト
$filters    Asset.filter で設定した内容(配列型)
$isCss      リクエストファイルがcssかどうか(boolean)
$isJs       リクエストファイルがjsかどうか(boolean)
最後にexitを忘れずに!
20121024 phpstudy
20121024 phpstudy
20121024 phpstudy
20121024 phpstudy
20121024 phpstudy
 Dispatcherクラスからフィルタ部分を分離
 app/Config/bootstrap.phpで設定
 CakePHP本体では2つのフィルタを用意
  • AssetDispather
     lib/Cake/Routing/Filter/AssetDispatcher.php
  • CacheDispatcher
     lib/Cake/Routing/Filter/CacheDispatcher.php


http://book.cakephp.org/2.0/en/development/dispatch-filters.html
http://api.cakephp.org/class/dispatcher-filter
20121024 phpstudy
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
20121024 phpstudy
css, jsの出力に手を加えたい
 ならAsset Filter
css, js以外の出力に手を加え
 たいならDispatcher Filters
フィルタを使って
コアコードに手を加えずに
 CakePHPを更に美味しく
20121024 phpstudy
20121024 phpstudy

More Related Content

PPTX
gcpug_okinawa_#2_hiroshi_kawakami
PDF
GCP vs 他社クラウド
KEY
Cloudってどんなもの?
PDF
C++でHTTP Proxy
PDF
再構築ハンズオン
PPTX
Google Compute Engine 入門
PPTX
今から始めるDocument db
PDF
Azure でサーバーレス、 Infrastructure as Code どうしてますか?
gcpug_okinawa_#2_hiroshi_kawakami
GCP vs 他社クラウド
Cloudってどんなもの?
C++でHTTP Proxy
再構築ハンズオン
Google Compute Engine 入門
今から始めるDocument db
Azure でサーバーレス、 Infrastructure as Code どうしてますか?

What's hot (19)

PDF
ARMテンプレートでサーバーレスに挑む!
PDF
開発環境を全部カソウ化!!
PDF
Build insider testingwithvs
PDF
Chef Howto with Vagrant + Berkshelf
PPTX
Diff(ファイル比較)ツールの紹介【勉強会資料】
PPTX
ロール適用ツール ~ansible art~
PPTX
OSS運用管理勉強会LT
PDF
Let's start ISUCON
PDF
Webフロントエンド開発の最新トレンド - HTML5, モバイル, オフライン
PDF
HTML5でオフラインWebアプリケーションを作ろう
PPTX
20170422 azure portal cli 使いこなし
PDF
AnsibleによるHWプロビジョニング -OneViewの連携-
PDF
Service worker が拓く mobile web の新しいかたち
PPTX
IT自動化ツール"Ansible"でIDCF Cloudを自動化する話
PDF
Redmine Ansible
PDF
Jenkinsとhadoopを利用した継続的データ解析環境の構築
PPTX
Tuning maniax 2014 Hadoop編
PDF
Word press 3.5RC2 - パーフェクト functions.php -
PPT
Chef on azure
ARMテンプレートでサーバーレスに挑む!
開発環境を全部カソウ化!!
Build insider testingwithvs
Chef Howto with Vagrant + Berkshelf
Diff(ファイル比較)ツールの紹介【勉強会資料】
ロール適用ツール ~ansible art~
OSS運用管理勉強会LT
Let's start ISUCON
Webフロントエンド開発の最新トレンド - HTML5, モバイル, オフライン
HTML5でオフラインWebアプリケーションを作ろう
20170422 azure portal cli 使いこなし
AnsibleによるHWプロビジョニング -OneViewの連携-
Service worker が拓く mobile web の新しいかたち
IT自動化ツール"Ansible"でIDCF Cloudを自動化する話
Redmine Ansible
Jenkinsとhadoopを利用した継続的データ解析環境の構築
Tuning maniax 2014 Hadoop編
Word press 3.5RC2 - パーフェクト functions.php -
Chef on azure
Ad

Viewers also liked (8)

PPTX
20111006 cakephp2.0 study
PDF
Scuzzy 2011
PDF
Brosur perumahan sawangan permai
DOCX
CopyofResume
PPSX
America since 1945 class 1 movie
PPSX
Social, Mobile and Media Convergence
PPTX
Wishes and imaginary situations or events
PPTX
Irregular verbs
20111006 cakephp2.0 study
Scuzzy 2011
Brosur perumahan sawangan permai
CopyofResume
America since 1945 class 1 movie
Social, Mobile and Media Convergence
Wishes and imaginary situations or events
Irregular verbs
Ad

Similar to 20121024 phpstudy (20)

PDF
あなたの安心を高速に守る Container-based CI
PDF
Adobe JSX入門
PDF
Firefoxosハンズオン
PPTX
HTML5最新動向
PDF
[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)
PDF
Entity Framework(Core)についての概要を学ぼう
PPTX
Webシステム脆弱性LT資料
PDF
OSC2014.Enterprise Zabbix-JobScheduler連携ツールHyClopsJobMonitoringによる運用システムOSS化の実現
PDF
スマホ最適化のためのデザイン・コーディング実習 先生:池田 祐太郎
PPTX
社内システムの移行に役立った“時間節約”方法~PowerShellとExcelを上手に使おう
KEY
WordPressプラグイン作成入門
PDF
[デブサミ2012]趣味と実益の脆弱性発見
PPTX
Android勉強会 1
PPTX
Elasticsearch 5.2とJava Clientで戯れる #elasticsearchjp
PDF
PowerShell and Release Management Server
PPTX
HTML5&API総まくり
PDF
担当プロダクトのDBをまるっとリプレイスするためにやったこと
PDF
CleanArchitecture with AssemblyDefinition in unity
PPT
Ja story of cakephp2.0
あなたの安心を高速に守る Container-based CI
Adobe JSX入門
Firefoxosハンズオン
HTML5最新動向
[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)
Entity Framework(Core)についての概要を学ぼう
Webシステム脆弱性LT資料
OSC2014.Enterprise Zabbix-JobScheduler連携ツールHyClopsJobMonitoringによる運用システムOSS化の実現
スマホ最適化のためのデザイン・コーディング実習 先生:池田 祐太郎
社内システムの移行に役立った“時間節約”方法~PowerShellとExcelを上手に使おう
WordPressプラグイン作成入門
[デブサミ2012]趣味と実益の脆弱性発見
Android勉強会 1
Elasticsearch 5.2とJava Clientで戯れる #elasticsearchjp
PowerShell and Release Management Server
HTML5&API総まくり
担当プロダクトのDBをまるっとリプレイスするためにやったこと
CleanArchitecture with AssemblyDefinition in unity
Ja story of cakephp2.0

20121024 phpstudy