日曜エンジニア

自分のITノウハウを誰かのために

Composer に挑戦したよ深夜0時

TwitterOAuth でエラーが消えてくれない

TwitterOAuth PHP Library for the Twitter REST API

とても有名なこちら、私もお世話になろうとしたところエラーが出ます。名前空間に関係しているようなものの、対処を検索しても日本語では見つかりません。グローバルでは数日前、同じようにはまっている人々は見かけましたが、だれもが初心者(I am new in php)と言っている。

私も数年前は全くはまらずに使えたものの、誰も日本語でも対処が出ていないので、頑張り始めてみた。そうそう、肝心のエラー内容はこちら。

[Mon Feb 09 23:09:16.571114 2015] [:error] [pid 618] [client ::1:50586] PHP Fatal error: Class 'Abraham\TwitterOAuth\Config' not found in /Library/WebServer/Documents/local.xx.com/Abraham/TwitterOAuth/TwitterOAuth.php on line 17

ちなみに、作者のAbraham氏は上記のページで対処法として

The recommended and easy as pie method is Composer.

と言ってます。Composer(作曲家?)とは、何?

Composerを使ってPHPのパッケージを簡単インストール (1/3):CodeZine(コードジン)

でお世話になったのはこちら。正直越えねばならない山の高さにおののきつつ、穴に落ちながらも深夜に解決できたレベルなので大丈夫です。このサイトに記載されているように、ピシバシとコマンド叩いてください。

手順も書かれているとおり

  1. プロジェクトのフォルダを作成
  2. 使いたいパッケージの定義ファイル(composer.json)を作成
  3. composer installのコマンド実行
  4. PHPのコーディング(autoloaderファイルの読み込み)

composer.jsonはAbraham氏が教えてくれてます。

"require": {
    "php": ">=5.4.0",
    "abraham/twitteroauth": "0.5.0"
}

このレベルで解決しました。

$ date
2015年 2月10日 火曜日 00時36分18秒 JST
$ composer install
Loading composer repositories with package information
Installing dependencies (including require-dev)
  - Installing abraham/twitteroauth (0.4.1)
    Downloading: 100%       

Writing lock file
Generating autoload files
$ date
2015年 2月10日 火曜日 00時39分38秒 JST

確かに簡単でした。

簡単過ぎるから、誰もPOSTしないのかな?と素人を代表して私が本邦初公開してみました。

上へ戻る