FuelPHP:Rest_Controllerの拡張子を省略した時のフォーマットを変更する
2012年07月12日 02時00分
FuelPHPには強力なWebAPI開発用(?)のコントローラーが備わっていると本や勉強会で知りそれならば使わない手はないと最初に手を出してみたのがRest_Controller。
これはWebAPIなどでjsonやxml、csv等を返すサービスを作る場合にとても便利な機能が満載なのだ。
documentや参考書籍を片目にどうにか希望通りの形までもっていけた。
しかしそこで気になったのがURLの拡張子を省略した時に返却されるフォーマットがxmlだったこと。
拡張子を省略した時の形式をjsonにしたかったので調べてみたらfuel/core/config/rest.phpにdefault_formatなるまんまなものがあったのでfuel/app/config/rest.phpにコピーして値をxmlからjsonに変更してみた。
fuel/app/config/rest.php
|
-'default_format' => 'xml', +'default_format' => 'json', |
しかしこれだけでは不十分で同じrest.phpファイル内にあるignore_http_acceptがデフォルトのfalseの場合、
HTTPヘッダ情報のHTTP_ACCEPTに含まれるmimeタイプがRest_Controllerの$_supported_formatsの中に存在するとdefault_formatより優先されてしまう。
$_supported_formatsをjsonのみにした場合は問題ないがxmlもサポートして拡張子を省略した場合はjson形式に固定して返却したければこの値をtrueにする。
fuel/app/config/rest.php
|
-'ignore_http_accept' => false, +'ignore_http_accept' => true, |
Bluetoothスピーカー GENEVA XSを購入した
2012年07月09日 00時03分
画像の右上の赤いやつ。
今回話題にするGENEVA XSというスピーカー。
この商品を買うまではスピーカーは全てスピーカーケーブルで接続するタイプのスピーカーばかり使用していた。
しかしBluetooth接続が可能なこの機種を手に入れてからは無線の有用性に感動してばかりだ。
何しろここ3年ぐらいで手に入れた機器(iMac、Mac book air、iPhone、iPad)全てにBlue toothが備わっている。
これら全ての音の出力を面倒な配線無しでこのスピーカーから出せるのだ。
この感動は既に持っているBluetooth対応機種が多ければ多いほど恩恵を受けられるだろう。
※とは言ってもマルチベアリングには対応していない
数あるBlue tooth対応スピーカーの中でもこのGENEVA XSが他と比べて特化している部分はそのデザインと可搬性だろう。
スピーカー部分がケースと一体となっていてすぐに蓋を閉じればもう持ち運び可能な状態になる。
そして開いたら即スピーカーという訳だ。
勿論、バッテリー駆動も可能なので電源の心配は不要。
この可搬性は家の中でたとえばリビングにあるPCで音楽を再生しそれをキッチンで聴きながら料理をしたり、iPhoneのGarage Bandで作った曲をリハスタ等でバンドメンバーに直接聴かせる時など多様な場面で役に立つだろう。
iPhoneやiPadなどに付いてるオマケ程度のスピーカーとは流石に出力が違う。
しかしGENEVA XS自体も可搬性に特化したスピーカーなので音に過度な期待はしてはいけない。
あくまでサブでスポット的に使用したりする場合にその可搬性が大いに活躍してくれるだろう。
Bluetooth接続が可能でデザインもその可搬性を最大限に生かすように造られている。
コンセプトがハッキリとしていて潔い商品だ。
イデアインターナショナル:公式通販
PHP:ssh2接続しscopyでファイル送受信
2012年06月26日 08時36分
CentOSでphpのpecl:ssh2を用意するまでの手順.
pecl, phpizeを使えるようにphp-devel,php-pearをインストール。
libssh2をコンパイルできるようにopenssl-develをインストール。
|
sudo yum install -y openssl-devel php-devel php-pear |
libssh2を取得してインストール
|
wget ttp://www.libssh2.org/download/libssh2-1.4.2.tar.gz tar -xzpvf libssh2-1.4.2.tar.gz cd libssh2-1.4.2 ./configure make sudo make install |
pecl ssh2を取得してインストール
|
wget ttp://pecl.php.net/get/ssh2-0.11.3.tgz tar -xzpvf ssh2-0.11.3.tgz cd ssh2-0.11.3 phpize ./configure make sudo make install |
extentionに追加
|
vi /etc/php.d/ssh2.ini extension=ssh2.so |
apache再起動
|
sudo service httpd configtest sudo service httpd restart |
phpでSSH接続&scopyでファイル取得
上記でpecl:ssh2が使用できるようになったらssh2関数が使えるようになる。
下はscopyでサーバ上のバックアップファイルをローカルにコピーする例。
処理をサーバ側にしてsendすることも簡単に出来るのでmanual読んで好みのバックアップ環境を構築するのが吉。
コマンドもssh2_execで実行できるのでtarでWebサイトを固めたりDBをダンプして落とすことも可能。
|
// 接続 $con = ssh2_connect("192.168.1.xxx"); // パスワード認証 ssh2_auth_password($con, "user", "passwd"); // ファイル受信 ssh2_scp_recv($con, "/tmp/remote_file", "/tmp/local_file"); // 切断 ssh2_exec($con, "exit"); unset($con); |
参考:ssh2関数マニュアル
http://jp.php.net/manual/ja/ref.ssh2.php
Euro2012 グループリーグ2戦終了時のまとめ
2012年06月16日 11時55分
グループリーグ2戦が終わって予選敗退が決定したチームが出てきたが突破が確定したチームはまだない。
各リーグの3戦目は2試合同時に開始をするのでW録画が出来ないうちのチューナーでは
試合開始の3:30まで起きてザッピングするという忙しい日々が続くことになる。
頑張ろう、サッカーファン。
予選敗退が決定した国がどんなモチベーションで挑んでくるのか全くわからないのが気懸かりだが贔屓チームのイタリアには是非とも勝ち抜いて欲しい。
グループA
チーム |
勝 |
分 |
敗 |
得 |
失 |
得失 |
勝点 |
残戦 |
状況 |
ロシア |
1 |
1 |
0 |
5 |
2 |
3 |
4 |
ギリシャ |
|
チェコ |
1 |
0 |
1 |
3 |
5 |
-2 |
3 |
ポーランド |
|
ポーランド |
0 |
2 |
0 |
2 |
2 |
0 |
2 |
チェコ |
|
ギリシャ |
0 |
1 |
1 |
2 |
3 |
-1 |
1 |
ロシア |
|
- 残り試合
- チェコ vs ポーランド
- ギリシャ vs ロシア
グループB
チーム |
勝 |
分 |
敗 |
得 |
失 |
得失 |
勝点 |
残戦 |
状況 |
ドイツ |
2 |
0 |
0 |
3 |
1 |
2 |
6 |
デンマーク |
|
ポルトガル |
1 |
0 |
1 |
3 |
3 |
0 |
3 |
オランダ |
|
デンマーク |
1 |
0 |
1 |
3 |
3 |
0 |
3 |
ドイツ |
|
オランダ |
0 |
0 |
2 |
1 |
3 |
-2 |
0 |
ポルトガル |
|
- 残り試合
- デンマーク vs ドイツ
- ポルトガル vs オランダ
グループC
チーム |
勝 |
分 |
敗 |
得 |
失 |
得失 |
勝点 |
残戦 |
状況 |
スペイン |
1 |
1 |
0 |
5 |
1 |
4 |
4 |
クロアチア |
|
クロアチア |
1 |
1 |
0 |
4 |
2 |
2 |
4 |
スペイン |
|
イタリア |
0 |
2 |
0 |
2 |
2 |
0 |
2 |
アイルランド |
|
アイルランド |
0 |
0 |
2 |
1 |
7 |
-6 |
0 |
イタリア |
敗退 |
- 残り試合
- イタリア vs アイルランド
- クロアチア vs スペイン
グループD
チーム |
勝 |
分 |
敗 |
得 |
失 |
得失 |
勝点 |
残戦 |
状況 |
フランス |
1 |
1 |
0 |
3 |
1 |
2 |
4 |
スウェーデン |
|
イングランド |
1 |
1 |
0 |
4 |
3 |
1 |
4 |
ウクライナ |
|
ウクライナ |
1 |
0 |
1 |
2 |
3 |
-1 |
3 |
イングランド |
|
スウェーデン |
0 |
0 |
2 |
3 |
5 |
-2 |
0 |
フランス |
敗退 |
- 残り試合
- スウェーデン vs フランス
- イングランド vs ウクライナ
Euro2012日程はこちら
https://www.crossl.net/blog/euro2012/