SlideShare a Scribd company logo
1 of 21
第 5 回 SE 勉強会  2008/4/20 (日)
パン屋へ行こう
パンやケーキは自分で作るのは大変
だったら、パン屋( Bakery )へ行こう
パン屋の名前は 『 The Bakery, Everything CakePHP   』
http://bakery.cakephp.org/
このパン屋には CakePHP の コンポーネントやヘルパーなどがいっぱい
そのまま食べてもおいしいけど、
アレンジするともっとおいしくなる
例えば、 Google Geocoder http://bakery.cakephp.org/articles/view/google-geocoder
住所を渡すと緯度・経度を 返してくれるコンポーネント
便利だけど、ちょっとアレンジ
アレンジのポイント
1つ目
maps.google.com  から取得しているが、 maps.google.co.jp  に変更する
2つ目
返り値は1つだけでは寂しいので、 複数の値を返す
/app/controllers/components/geocoder_jp.php class GeocoderJpComponent extends Object { var $apiKey = ‘(google api key)’; function getLatLng($address) { $url = 'http://maps.google.co.jp/maps/geo?output=xml&key='.$this->apiKey.'&q='; $xmlurl = $url . urlencode($address); $contents = mb_convert_encoding(file_get_contents($xmlurl), 'UTF-8', 'SJIS'); $geocoder = simplexml_load_string($contents); $i = 0; $result = array(); foreach ($geocoder->Response->Placemark as $value) { $coords = $value->Point->coordinates; list($lat, $lng) = split(',', $coords); $result[$i]['lat'] = $lat; $result[$i]['lng'] = $lng; $result[$i]['address'] = (string)$value->AddressDetails->Country->AddressLine; $i += 1; } return $result; } } ※ スペースの都合で一部カットしてあります
/app/controllers/samples_controller.php <?php class SamplesController extends AppController { var $components = array('GeocoderJp'); function index() { $address = ‘ (住所)’ ; $this->set(‘address’, $this->GeocoderJp->getLatLng($address)); } }
パン屋は楽しいね
終わり

More Related Content

More from 柴田 篤志

Nagoya.phpについて
Nagoya.phpについてNagoya.phpについて
Nagoya.phpについて柴田 篤志
 
ライフハックでストレスフリーな仕事術
ライフハックでストレスフリーな仕事術ライフハックでストレスフリーな仕事術
ライフハックでストレスフリーな仕事術柴田 篤志
 
ソーシャルメディアを利用したビジネス展開
ソーシャルメディアを利用したビジネス展開ソーシャルメディアを利用したビジネス展開
ソーシャルメディアを利用したビジネス展開柴田 篤志
 
CakeMatsuri事例紹介「CakePHPでつくる地域SNS ~全国40ヶ所以上で展開する地域SNSのシステム~」
CakeMatsuri事例紹介「CakePHPでつくる地域SNS ~全国40ヶ所以上で展開する地域SNSのシステム~」CakeMatsuri事例紹介「CakePHPでつくる地域SNS ~全国40ヶ所以上で展開する地域SNSのシステム~」
CakeMatsuri事例紹介「CakePHPでつくる地域SNS ~全国40ヶ所以上で展開する地域SNSのシステム~」柴田 篤志
 
オープンソースカンファレンス2009Nagoya
オープンソースカンファレンス2009Nagoyaオープンソースカンファレンス2009Nagoya
オープンソースカンファレンス2009Nagoya柴田 篤志
 
Cake Phpで簡単問い合わせフォームの作り方
Cake Phpで簡単問い合わせフォームの作り方Cake Phpで簡単問い合わせフォームの作り方
Cake Phpで簡単問い合わせフォームの作り方柴田 篤志
 
Cake Php開発事例
Cake Php開発事例Cake Php開発事例
Cake Php開発事例柴田 篤志
 
Google Maps Api活用事例~飲食店案内ネット一六社マップ~
Google Maps Api活用事例~飲食店案内ネット一六社マップ~Google Maps Api活用事例~飲食店案内ネット一六社マップ~
Google Maps Api活用事例~飲食店案内ネット一六社マップ~柴田 篤志
 
Cake PhpでやってみようOpen Id入門
Cake PhpでやってみようOpen Id入門Cake PhpでやってみようOpen Id入門
Cake PhpでやってみようOpen Id入門柴田 篤志
 
一六社ブログ-プラグイン作成入門
一六社ブログ-プラグイン作成入門一六社ブログ-プラグイン作成入門
一六社ブログ-プラグイン作成入門柴田 篤志
 
JavaScript&Firebug入門
JavaScript&Firebug入門JavaScript&Firebug入門
JavaScript&Firebug入門柴田 篤志
 
Cake Php ページ送り機能
Cake Php ページ送り機能Cake Php ページ送り機能
Cake Php ページ送り機能柴田 篤志
 
Cake Php キャッシュのやり方
Cake Php キャッシュのやり方Cake Php キャッシュのやり方
Cake Php キャッシュのやり方柴田 篤志
 
開発ツールの紹介(080316)
開発ツールの紹介(080316)開発ツールの紹介(080316)
開発ツールの紹介(080316)柴田 篤志
 
CakePHPで開発する時に統一しておきたいコーディング内容(080316)
CakePHPで開発する時に統一しておきたいコーディング内容(080316)CakePHPで開発する時に統一しておきたいコーディング内容(080316)
CakePHPで開発する時に統一しておきたいコーディング内容(080316)柴田 篤志
 
CakePHPのコンポーネントの使い方(080316)
CakePHPのコンポーネントの使い方(080316)CakePHPのコンポーネントの使い方(080316)
CakePHPのコンポーネントの使い方(080316)柴田 篤志
 
第1回SE勉強会(080302)
第1回SE勉強会(080302)第1回SE勉強会(080302)
第1回SE勉強会(080302)柴田 篤志
 

More from 柴田 篤志 (18)

Nagoya.phpについて
Nagoya.phpについてNagoya.phpについて
Nagoya.phpについて
 
ライフハックでストレスフリーな仕事術
ライフハックでストレスフリーな仕事術ライフハックでストレスフリーな仕事術
ライフハックでストレスフリーな仕事術
 
ソーシャルメディアを利用したビジネス展開
ソーシャルメディアを利用したビジネス展開ソーシャルメディアを利用したビジネス展開
ソーシャルメディアを利用したビジネス展開
 
CakeMatsuri事例紹介「CakePHPでつくる地域SNS ~全国40ヶ所以上で展開する地域SNSのシステム~」
CakeMatsuri事例紹介「CakePHPでつくる地域SNS ~全国40ヶ所以上で展開する地域SNSのシステム~」CakeMatsuri事例紹介「CakePHPでつくる地域SNS ~全国40ヶ所以上で展開する地域SNSのシステム~」
CakeMatsuri事例紹介「CakePHPでつくる地域SNS ~全国40ヶ所以上で展開する地域SNSのシステム~」
 
オープンソースカンファレンス2009Nagoya
オープンソースカンファレンス2009Nagoyaオープンソースカンファレンス2009Nagoya
オープンソースカンファレンス2009Nagoya
 
Cake Phpで簡単問い合わせフォームの作り方
Cake Phpで簡単問い合わせフォームの作り方Cake Phpで簡単問い合わせフォームの作り方
Cake Phpで簡単問い合わせフォームの作り方
 
Cake Php開発事例
Cake Php開発事例Cake Php開発事例
Cake Php開発事例
 
Life Hack
Life HackLife Hack
Life Hack
 
Google Maps Api活用事例~飲食店案内ネット一六社マップ~
Google Maps Api活用事例~飲食店案内ネット一六社マップ~Google Maps Api活用事例~飲食店案内ネット一六社マップ~
Google Maps Api活用事例~飲食店案内ネット一六社マップ~
 
Cake PhpでやってみようOpen Id入門
Cake PhpでやってみようOpen Id入門Cake PhpでやってみようOpen Id入門
Cake PhpでやってみようOpen Id入門
 
一六社ブログ-プラグイン作成入門
一六社ブログ-プラグイン作成入門一六社ブログ-プラグイン作成入門
一六社ブログ-プラグイン作成入門
 
JavaScript&Firebug入門
JavaScript&Firebug入門JavaScript&Firebug入門
JavaScript&Firebug入門
 
Cake Php ページ送り機能
Cake Php ページ送り機能Cake Php ページ送り機能
Cake Php ページ送り機能
 
Cake Php キャッシュのやり方
Cake Php キャッシュのやり方Cake Php キャッシュのやり方
Cake Php キャッシュのやり方
 
開発ツールの紹介(080316)
開発ツールの紹介(080316)開発ツールの紹介(080316)
開発ツールの紹介(080316)
 
CakePHPで開発する時に統一しておきたいコーディング内容(080316)
CakePHPで開発する時に統一しておきたいコーディング内容(080316)CakePHPで開発する時に統一しておきたいコーディング内容(080316)
CakePHPで開発する時に統一しておきたいコーディング内容(080316)
 
CakePHPのコンポーネントの使い方(080316)
CakePHPのコンポーネントの使い方(080316)CakePHPのコンポーネントの使い方(080316)
CakePHPのコンポーネントの使い方(080316)
 
第1回SE勉強会(080302)
第1回SE勉強会(080302)第1回SE勉強会(080302)
第1回SE勉強会(080302)
 

Recently uploaded

モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成Hiroshi Tomioka
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 

Recently uploaded (9)

モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 

Cake Php パン屋へ行こう