Archive for 7 月, 2007
HTTP_Clientで国際対応のページを日本語で取得する方法
少し前の記事に、HTTP_Clientでクッキーを使う方法を書きましたが、結果を書いていませんでした。無事、クッキーを再現することができました。
さて、今回もHTTP_Clientですが、もう少し基本的な使い方で躓いたことを書いときます。
最近では国際化に対応したWebサイトも多くなり、ブラウザの言語設定をApache側で認識してページを振り分けたり、スクリプト内部で翻訳処理したりといったことをしてくれます。
そういった国際化対応ページにHTTP_Clientでアクセスした場合、(詳しく調べてはいませんが)デフォルトで英語のブラウザとして認識されて、アメリカーンな結果を返してくれます。われわれは日本人です。日本語で欲しいんです。
そんなときはパラメータやヘッダーを設定してやればいいわけです。HTTP_ClientはHTTP_RequestのラッパーなのでHTTP_Requestで使うパラメータやヘッダーを送ることができます。
今回大事なのは$_http_client_default_headerで設定したAccept-Languageヘッダーです。これはHTTPヘッダのHTTP_ACCEPT_LANGUAGEに対応します。書式や意味は他のサイトを参照してください。
他にもいろいろなオプションを設定することができますが、今回はここまで。
No comments第26回PHP勉強会に参加してきました。
2回目のPHP勉強会でしたが、今回は人数がめっさ増えて30人近くの参加者がありました。会場はもちろん株式会社ノッキングオン Knockin'onさんです。
スライドをかなり写したので、若干詳しいけど概要だけかいつまんで載せておきます。
1.CakePHPのHelperを使う ( by yandoさん)
- CakePHPの近況
- 出版物やWebでの露出が増えた
- idea*idea
- gihyo
- Web2.0バイブル
- PHPでJavascriptかかないAjax
- 実際に大手のサイトで使われてる!?
- topic.nifty.com
- Cake1.2で新機能が追加された
- 新しいValidation機能
- 組み込みのページング処理
- キャッシュ機能強化
- 一部クラスの統廃合(HtmlHelper と FormHelperなど)
- 出版物やWebでの露出が増えた
- Helperとは
- Viewみたいなものだけど、使わなくてもうごくんだな~
- Helper利用時の注意
- コントローラで使用するHelperを設定する必要がある。
- 何も設定しないと、HtmlHelperが設定済みだ
- Ajaxhelper
- prototypeとscriptaculousに依存
- 「すくりぷたきゅらす」って読むんじゃね?
- JSファイルの呼び出しはJavascriptHelperで
- Ajaxでページ丸ごと非同期読み込みするんだったら、レイアウト変えてヘッダー・フッターはずそうか
- findAll($this->data, ...)はSQL Injectionされちゃうかもー
- まとめ
- Helperを活用して出力テンプレートを簡略に
- Smartyなくても、Helperだけでいんじゃね?
2.Seasar.PHP (by yonekawa さん)
- Go PHP5
- PHP4は今年でサポート切れちゃうじゃん
- だったらPHP5だけだけど、Seasar.PHPを使うなら今だよ!
- S2Container.PHP5
- DI(Dependency Injection) x AOP(Aspect Oriented Programming)なフレームワーク
- オートバインディングで.diconファイルをちょっとでも簡略化
- InterTypeでgetterやsetterを勝手に作らせちゃう
- S2Dao.PHP5
- S2PHPのメインプロダクトともいえる、ORマッパー
- Entityクラス定義
- Daoインターフェース定義
- コンポーネント登録
- 2 Way SQL
- Return Type
- List
- Array
- YAML
- JSON
- S2AnA.PHP5
- 今はまだテスト段階かもー
- S2Base.PHP5
- 既存のフレームワークとの連携
- with Zend Framework
- with symfony
- with PRADO
- 既存のフレームワークとの連携
- Coming Soon...
- Application Contextで.diconファイルレスなDI & AOP
- Class InjectionでinterfaceレスなDI & AOP
3.PEARライブラリをPHP6の名前空間化してみた ( by shimookaさん)
- php6の新機能の名前空間
- PEARの長いクラス名とおさらばできるか?
- 既存のPEARライブラリを名前空間化するスクリプト
- 実際にDB_fooやDB_barがDB::fooやDB::barに
- ライブラリ側は楽だけど、使う側は結局、名前空間までしていしなきゃいけないんだよね
- 名前空間の使いどころはどこだろう?
懇親会はもちろん、焼肉です。LINDさん幹事お疲れ様でした。
関連リンクなど
Event Entry::第26回PHP勉強会
第26回PHP勉強会参加できそう
7/25(水)の夜に第26回PHP勉強会に参加できそうです。いつもいつも、RSS見るのが遅くて定員オーバーしてて、今回もそうだったのですが、人数が増えたので登録できました。
プライベートで忙しいのですが今回はyandoさんがCakePHPのAjax Helperなどを発表してくださるそうです。私がCakePHPを最初にかじったときにyandoさんのWebサイトを参考にしたので、今回の発表は楽しみです。
会場はおなじみ、株式会社ノッキングオンさんです。いつも会場提供ありがとうございます。
No comments