PHPマイクロフレームワーク「Slim」を使ってみた

slim.gif 1度使うと2度とそれ無しの生活に戻れない、それがフレームワーク。 PHPで代表的なフレームワークと言えば、「Zend Framework」とか「Symfony」とか「CakePHP」とか「FuelPHP」とか。最近だと「Laravel」というフレームワークが人気のようです。 2014年 Webアプリケーションフレームワークトレンド(PHP / Java / Ruby / Python / Perl) – Qiita これらはサービスを提供するのに必要な機能がすべて揃っている、いわゆる「フルスタック」というやつで、それさえ入れればすべて解決する(自分で何かを開発する必要は無い)一方で、インストールするにはある程度の知識と権限が必要。また少しツールを作りたいとか、小さいサービスを作りたいだけとか言った場合には、使わない機能が多すぎて逆にコストが高くなってしまいます。 で、最近流行ってるのは機能は最低限しかないけれども、インストールするコストが低く容量も小さいいわゆる「マイクロフレームワーク」というもの。代表例は「Slim」とか「Silex」とか「Limonade」とか。 今携わっているお仕事は基本「Webデザイナー」なので、がっつりプログラミングすることは少ないのですが、それでも「APIを叩いて業務を効率化したい」みたいな欲求はあるわけで、ローカルに仮想サーバ立ててコーディングしてみたいなこともやっています。でもWebサービスとして大々的に公開するものでは無いので、フレームワークとしては機能も拡張性も最低限でいい。なにより、会社が借りているロリポップ(しかも下から2番目のプランでSSHは使えないし、MySQLは1つしかデータベースを作成出来ない)では、フルスタックのフレームワークを入れるのはなかなかに困難。 というわけで、その場がしのげればいいやと思ってマイクロフレームワークである「Slim」を入れてみたらば、これがなかなか面白くて今やってる仕事の規模ならまあ許せる範囲の機能だったので、軽くだけ紹介しようかと。

続きを読む

Eclipseでgetter/setterの自動生成

gettersetter.jpg macで開発するに当たり、半年くらい「NetBeans」を使っていたのですけど、どうもコード補完の動作が怪しいことがあって、CSSの補完をしなくなってしまうことがあるとか、他のPHPファイルのメソッドを補完してくれないとか(何か設定したら良いんでしょうけどわからなかった)、ちょっと不便に感じてきたのでWindowsで使い慣れた「Eclipse」に戻りました。出戻り。

続きを読む

【メモ】 楽天RMS APIを使ってみるテスト

rms.jpg 仕事の関係で楽天市場関連の作業をしています。 楽天市場には、店舗が自分の出品している商品情報などを取得するAPI(RMS WEB SERVICE)があるのですが、ものがものだけに情報が少なく楽天のドキュメントも最低限しかない(その上、一般ユーザー向けの「楽天ウェブサービス API」と混同しやすい)んですよね。ちゃんと理解してるのは在庫連動ソフトを作ってる会社のエンジニアくらいなのかな。ま、仕方ない。

続きを読む

Google Analytics API v3.0でデータを取得するようにプログラムを改修

毎月投稿している記事に「Access Report」というものがあるんですが、この記事を生成するに当たっては、

  • 前月の「ページビュー」「訪問者」を集計して取得しDBに保存
  • 前月の「アクセスTOP10」などのデータを集計して記事にしてMovableTypeに下書き記事として投稿
という2つのプログラムが動いています。今まで特に問題なく動いていたのですが、今月から突然動かなくなってしまいました。調べてみると、今までの僕のプログラムはGoogle APIの古いバージョンで動いていたようで、廃止予告が出てからいつ止まってもおかしくない状況で、それが5月下旬だったということのようです。全然しらなんだ。 というわけでこれを現行の仕様に合わせて改修する必要があります。

続きを読む

「CREATIVE OFFICE CUE」サイトリニューアルに伴う各RSSの変更について

CREATIVE OFFICE CUEのサイトがリニューアルされました。

オフィシャルサイトリニューアルのお知らせ – INFORMATION | CREATIVE OFFICE CUE

CREATIVE OFFICE CUEのオフィシャルサイトが 12月24日(水)10時にプチ・リニューアル! メインビジュアルが大きく! ブログ系をCUE DIARYに統合して読みやすく! 出演情報が見やすく! プチ・リニューアルではありますが、クリスマス仕様にてオープン! お楽しみに!!!

実のところ、見た目のデザインが多少変わっただけで、サイト構造というかHTML構造というかは変わってないのですが、大きな変更として、今まで鈴井さん、森崎さん、戸次さんがそれぞれ書かれていたブログがそれぞれ終了し(正確に言うと「戸次式」は12/2で終了していましたが)、他のタレントさんが書き込まれていた「CUE DIARY」に統合されました。 というわけで、今後は、以下の「CUE DIARY」用のRSSのみ更新され、 CUE DIARY / CREATIVE OFFICE CUE これまであった以下の3つのRSSは更新されなくなります。 今日もカイチョー! / CREATIVE OFFICE CUE も日記 / CREATIVE OFFICE CUE 戸次式 / CREATIVE OFFICE CUE 今のところは更新されなくなったRSSにもアクセス可能ですが(終了直前までの直近の記事が閲覧可能です)、予告なく公開を終了する可能性があります。ご了承ください。

続きを読む

はてなブックマークAtomAPIへの接続が上手く行っていなかった件 【解決】

はてな この件の続き。 (訂正あり)PEAR::Services_Hatenaが上手く動いていない影響でいくつか止まってます | mutter あまりに広範囲に影響がある&今まで動いていたものがそのまま動いていないので、結局はてなに問い合わせました。

質問

3/5頃より、はてなブックマークAtomAPIが上手く動いていないようなのですが、なにか仕様変更等あったのでしょうか?実行環境は、PHP5.3+PEAR::Services_Hatenaで、ユーザーネームとパスワードで認証しようとすると401が返ります。お手数ですが調査をお願いいたします。
翌日、すぐに回答が。

回答

お問い合わせの件につきまして、3月5日にはてな各種APIでのパスワードによるWSSE認証を終了しております。 http://hatena.g.hatena.ne.jp/hatena/20140305/1394012936 つきましては、パスワードからAPIキーへの変更、もしくはOAuth認証への移行をお願いいたします。 APIキーについては、下記のドキュメントをご参照いただければ幸いです。 http://developer.hatena.ne.jp/ja/documents/auth/apis/wsse
迅速な回答、ありがとうございました。が、 しらねー!

続きを読む

【メモ】 GridSystemなどのリセットCSSを導入してXdebugが改行されなくなってしまった場合

12_02.jpg ダンプの結果を綺麗に整形して表示してくれるモジュール「Xdebug」はPHP開発の定番ですが、今開発しているサービスであるタイミングから表示が崩れてしまいました。具体的には改行されなくて1行になってしまう(上画像参照)。 PEAR/PECLの変更も行っていたのでサーバの設定の問題だと考えてあれこれいじっても直らず、結果的にはGridSystem導入によるリセットCSSの影響であることが解りました。なんだそれ。

続きを読む

(訂正あり)PEAR::Services_Hatenaが上手く動いていない影響でいくつか止まってます

2014/03/13 追記
この問題ははてなのWSSE認証の仕様変更により生じたものでした。新しい仕様では「ユーザー名とパスワード」ではなく「ユーザー名とAPIキー」で認証することが求められます。「APIキー」とははてなで設定される「投稿用メールアドレス」の@の前の文字列です。これをパスワードの代わりにServices_Hatenaで使用してあげることで問題なく処理出来るようになりました。
「PEAR::Services_Hatena」は更新が止まってますし更新もしていないので、はてなの仕様変更だと思うのですが、上手く動かなくなってます。3/5から。 具体的には、
  • 複数のブックマークを取得する
  • ブックマークをポストする
あたりの機能が上手く動いていません。複数ブックマークは取得出来ないし、ポストは400で怒られます。その影響で、
  • ブログの記事をはてなブックマークでブックマークする
  • 前日のはてなブックマークのまとめエントリをブログに投稿する
あたりが上手く出来ていませんでした。 というわけで、順次「PEAR::Services_Hatena」を使わずにOAuthを使って取得またはポストするように変更しています。面倒だなあ……とは思いますが、よくよく考えてみればめんどくさがらずにトレンド通りさっさとOAuthに切り替えておけば良かったわけで、まあ良い機会なのかなと思ったりします。自分用のはてな用クラス、更新しないと。

続きを読む