覆盖CakePHP模型中的第三方类方法

时间:2013-10-19 20:31:29

标签: php cakephp

我正在开始一个涉及抓取网站的新项目,因此我正计划使用PHPCrawl http://cuab.de/quickstart.html,因为它看起来像是最好的基于PHP的解决方案(除非有人有任何其他建议)但是遇到了问题我无法理解我的想法。

所以我用

导入PHPCrawl类
App::import('Vendor', 'PHPCrawl', array('file' => 'PHPCrawl/libs/PHPCrawler.class.php'));

然后就在下面我扩展PHPCrawl类来处理像这样的数据

class MyCrawler extends PHPCrawler{
    function handleDocumentInfo($DocInfo) {
        //handle data here
    }
}

但是当我需要在该方法中执行诸如create()和save()之类的CakePHP方法时,我的问题就出现了。我尝试在类中创建CakePHP模型的新实例,但这给了我一个警告:

Maximum function nesting level of '100' reached, aborting! 

所以我假设这是在创建一个无限循环的类实例。我想我想要做的是覆盖handleDocumentInfo()函数,但在我的CakePHP类中,这可能吗?

道歉,如果不清楚,我不知道如何去做这个!

1 个答案:

答案 0 :(得分:0)

对于任何有类似问题的人。我通过创建一个组件,导入类并覆盖其中的方法来解决这个问题。不得不稍微混淆原来的类,并添加一个新的全局变量,但似乎都在工作