質問: 当方cakephp初心者です。require_onceに関する cakephp2.6.0からwebスクレイプを行いたく、goutteを利用しようとしています。 参照1 -> そこで、 -> を参考にしつつ、 1path/to/cake/app/Vendor以下に Goutte.pharをおく 2読みたいコントローラーにてrequire_onceでGoutte.pharをひっぱってくる とすればできると思っているのですが、 ``` Error: require() [function.require]: Failed opening required '/Library/WebServer/Documents/yushen/app/Vendor/goutte.phar' (include_path='/Library/WebServer/Documents/yushen/lib:.:') File: /Library/WebServer/Documents/yushen/app/Controller/EditController.php Line: 2 ``` とエラーが出てきてしまいます。以下実際に書いたコードになります。 ```
回答: Composerを使ってgoutteをインストールする形にするのが良いのではないでしょうか。 Requireする必要もなくパスを解決してAutoloadが行われます。 App:importはCakePHP1などで好まれた古い命令です。 Vendor以下のファイルをどうしても直接読むならば App::usesを使います。 GoutteはPSRに準拠した構造なのでrequireやApp::importなどに頼る必要は無いです。 とはいえComposerを使えば何もする必要がありませんのでそちらがオススメです。 開発中のアプリのトップディレクトリにあるcomposer.jsonにgoutteを書き足すか、goutteのページにあるようにcomposer requireコマンドで自動的に追加できます。