如何在没有Zend框架的情况下使用Zend Dom Query?

4

是否可以在没有Zend Framework的情况下使用Zend Dom Query?

如果是:在哪里下载Zend Dom Query并如何在没有Zend Framework的情况下使用它?

5个回答

6
您可以使用一些包管理器(例如此工具)来提取单独的ZF文件,它会告诉您需要哪些文件并为您压缩它们。Zend_Dom_Query仅需要以下文件:
  • Zend/Dom/Query.php
  • Zend/Dom/Query/Css2Xpath.php
  • Zend/Dom/Query/Result.php
  • Zend/Dom/Exception.php
  • Zend/Exception.php
无论如何,它都可以下载。如果有紧急需求-除了ZF之外还有很多其他类似的工具。

除非您的磁盘空间有问题,否则我不会费心进行此步骤,只需下载最小库版本并将其放在包含路径上即可。 - David Snabel-Caunt
当您为某个自定义CMS开发某些自定义模块时,如果不想让安装包变得臃肿,为什么不使用这样的工具呢? - nefo_x

1

我猜你所说的“不使用Zend Framework”是指不使用Zend Framework的MVC组件。你可以单独使用Zend Framework的任何组件;它是一个粘合框架。

下载该库并将其提取到您项目的库文件夹或PHP包含路径中。然后,大致上应该像以下这样简单:

<?php
require_once 'Zend/Dom/Query.php';

$query = new Zend_Dom_Query(....);

1
Zend中的类不是独立使用的 - 你不能只使用Zend_Dom_Query而不使用整个ZF吗?
如果不行,你可以获取文件夹/library/Dom/并将其从ZF文件夹中取出,然后需要查找任何依赖项。快速查看后,你还需要:

/library/Exception/Exception.php

试一试,让我们知道进展如何...


1

在我看来,这种方法似乎不适用于Zend Framework 2,我不知道为什么...


0

您可以将 zendframework/zend-dom 作为一个独立的组件来使用。它没有外部依赖项,这意味着它不需要其他Zend组件或其他库来工作。

或者,您也可以使用一个与Zend完全无关的库,例如 tburry/pquery 或我的 PHPPowertools/DOM-Query。这两个库与 zendframework/zend-dom 具有相同的目的,但语法不同,并且每个库对HTML5支持可能有所不同。

示例:

此示例说明了如何加载HTML字符串并查询.foo .bar a,并使用这三个库之一:

使用 zendframework/zend-dom,您可以这样做:

use \Zend\Dom\Query;

$dom = new Query($htmlcode);
$results = $dom->execute('.foo .bar a');

使用{{link1:tburry/pquery}},你可以这样做:

use \pQuery\pQuery

$dom = pQuery::parseStr($htmlcode);
$dom->query('.foo .bar a');

使用 PHPPowertools/DOM-Query,您可以这样做:

use \PowerTools\DOM_Query

$H = new DOM_Query($htmlcode);
$s = $H->select('.foo .bar a');

选择你的毒药!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接