【问题标题】:how to use phpQuery with Symfony2如何在 Symfony2 中使用 phpQuery
【发布时间】:2013-10-15 17:50:44
【问题描述】:

我正在尝试将 MarketBot 与 symfony 一起使用,但出现以下错误:

  • 我的网络服务器上安装了 phpQuery

这是我的代码:

$market = new \MarketBot\Android\GooglePlay;
$response = $market->get('PACKAGE_NAME', 'apps');
var_dump($response);

这是错误:

FatalErrorException: Error: Class 'phpQuery' not found in /var/www/sf/src/MarketBot/MarketBot.php line 83

这是导致错误的行:

\phpQuery::newDocument($response);

如果我将上一行更改为:

phpQuery::newDocument($response);

错误是:

FatalErrorException: Error: Class 'MarketBot\phpQuery' not found in /var/www/sf/src/MarketBot/MarketBot.php line 83

我已经尝试了很多选项,但总是遇到不同的错误。

¿我怎么能说 Symfony 从服务器而不是本地存档执行 phpQuery?

谢谢!

【问题讨论】:

  • 您是否在 MarketBot.php 中包含了 phpQuery.php 库文件? phpQuery 不使用命名空间,也没有自动加载器,所以你只想 require_once /path/to/phpQuery.php
  • @evgeny.chernyavskiy 该库已安装在网络服务器上,我想在不包含 php 存档的情况下使用它。 (如果我尝试按照你说的方式包含 phpQuery.php,问题出在其他人身上……,问题无处不在……)我的网络服务器安装了 code.google.com/p/phpquery/downloads/…
  • 嗯,您指的是哪个 PHP 存档?我建议通过 require_once/include_once 在 MarketBot.php 中包含 phpQuery.php。快速查看 .deb 文件告诉我 phpQuery 已安装在 usr/lib/phpquery 中,因此像 require_once('/usr/lib/phpquery/phpQuery.php'); 这样的东西应该可以正常工作。或者将 usr/lib/phpquery 添加到 include_path,然后只需要 require_once('phpQuery.php');
  • @evgeny.chernyavskiy 最后我成功地在 MarketBot.php 旁边添加了 phpQuery.php 并修改了 Market Bot 的某些部分以正常工作,但现在问题在于解析文档时的 phpQuery,现在错误是:注意:未定义属性:/var/www/sf/src/MarketBot/phpQuery.php 中的 DOMDocument::$tagName 第 4186 行,以及它发生的行:$xpath[] = $this->isXML() ? "*[local-name()='{$node->tagName}'][{$i}]" : "{$node->tagName}[{$i}]"; //这里是错误 $node = $node->parentNode;
  • 没错,phpQuery 通过它的 DOMDocumentWrapper 类抽象了DOMDocument 交互。它确实没有 tagName 属性。

标签: php symfony web apache2 phpquery


【解决方案1】:

http://symfony.com/doc/current/components/dom_crawler.html
发现这个组件时,我赞美了主。 PHPQuery 是一段缓慢的……代码

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-03
    • 1970-01-01
    • 2011-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-25
    • 1970-01-01
    相关资源
    最近更新 更多