CakePHP3にぶち込んだ時の話。
https://github.com/abraham/twitteroauth/
上記URLのライブラリはPHPerには有名だけれどもnamespaceが記述されていないので、Symfony2
を始めとするモダンなフレームワークにぶちこもうとするとなかなかに使い辛い。
ということでファイル内容を若干カスタマイズする。
まずはgithubよりzipをダウンロード。
利用するのはtwitteroauthフォルダ以下のファイルたち。
twitteroauth.php
をいじりましょう。
require_onceを消す
- 10行目の下記記述を葬り去る。
1 |
require_once('OAuth.php'); |
名前空間を授けてやる
ファイル先頭に下記を追記。
※namespaceの部分はプロジェクトによって適切に設定されたし。今回はCakePHP3のsrc/Lib/twitteroauth
以下にライブラリを配置したので下記のように記述。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
namespace App\Lib\twitteroauth; use \OAuthConsumer; use \OAuthDataStore; use \OAuthException; use \OAuthRequest; use \OAuthServer; use \OAuthSignatureMethod; use \OAuthSignatureMethod_HMAC_SHA1; use \OAuthSignatureMethod_PLAINTEXT; use \OAuthSignatureMethod_RSA_SHA1; use \OAuthToken; use \OAuthUtil; |
composer.jsonのautoload設定に追加する
twitteroauth.phpはともかくOAuth.phpはpsrに準拠してないといったレベルを超越しているライブラリなので下記の通りfilesに直接パスを指定してやる。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
... "autoload": { "psr-4": { "App\\": "src" }, "files": [ "src/Lib/twitteroauth/twitteroauth.php", "src/Lib/twitteroauth/OAuth.php" ] }, ... |
最後にphp composer.phar update
をしてやればOK。php composer.phar dumpautoload
でもOK。てか後者のほうが速い。