質問: ### 前提・実現したいこと CakePHP3でスクレイピングに関連するプログラムを作りたいと思っています。 CakePHP2で simple HTML DOM Parserを利用しているサンプルプログラムを見つけたので、それを参考にしながら作ろうと思っています。 ですが、CakePHP3 では仕様が大きく変わっているため simple HTML DOM Parserの「SimpleHtmlDom.php」をどうやって利用できるようになるのかが理解できませんでした。 CakePHP2では /app/Controller/AppController.php に App::import('Vendor', 'SimpleHtmlDom'); と書いて、必要な箇所で関数を記述するものかと思っていますが、CakePHP3ではどのように記述すればいいのでしょうか? CakePHP2も詳しくはないのですが、どうせ勉強するならと思い CakePHP3で作り始めたところです。 よろしくお願いいたします。 ### 発生している問題・エラーメッセージ エラーは下記の様になっています。 Fatal error: Class 'App\Controller\App' not found in C:\xampp\htdocs\cake\src\Controller\AppController.php on line 20
回答: 利用できますよ。使用したこともあります。 Simple Dom ParserをComposerからインストールできるようにしたものがあるのでそれを使えばいいと思います。 sunra/php-simple-html-dom-parser composer.json ``` "require": { "sunra/php-simple-html-dom-parser": "1.5.2" } ``` Cakephpからは、以下のようにuseで宣言すればどこからでも使えます。 ``` use Sunra\PhpSimple\HtmlDomParser; $dom = HtmlDomParser::str_get_html( $str ); ```