【twitteroauth】PHPのTwitterOauth用ライブラリをnamespaceを用いたFW内で利用可能にする。

CakePHP3にぶち込んだ時の話。

https://github.com/abraham/twitteroauth/

上記URLのライブラリはPHPerには有名だけれどもnamespaceが記述されていないので、Symfony2を始めとするモダンなフレームワークにぶちこもうとするとなかなかに使い辛い。

ということでファイル内容を若干カスタマイズする。

まずはgithubよりzipをダウンロード。
利用するのはtwitteroauthフォルダ以下のファイルたち。

twitteroauth.phpをいじりましょう。

require_onceを消す

  • 10行目の下記記述を葬り去る。

名前空間を授けてやる

ファイル先頭に下記を追記。
※namespaceの部分はプロジェクトによって適切に設定されたし。今回はCakePHP3のsrc/Lib/twitteroauth以下にライブラリを配置したので下記のように記述。

composer.jsonのautoload設定に追加する

twitteroauth.phpはともかくOAuth.phpはpsrに準拠してないといったレベルを超越しているライブラリなので下記の通りfilesに直接パスを指定してやる。

最後にphp composer.phar updateをしてやればOK。php composer.phar dumpautoloadでもOK。てか後者のほうが速い。