phpcr/phpcr-utils

PHP内容存储库实现独立工具

2.0.2 2024-04-09 14:46 UTC

README

Build Status Latest Stable Version Total Downloads

用于PHP内容存储库(PHPCR)API的常见任务的命令和实现。

如果你正在使用或实现PHPCR,你可能需要这里的一些东西。

PHPCR用户:请注意,你的PHPCR实现可能已经捆绑了utils。

许可证

此代码在MIT许可证和Apache许可证版本2.0下双许可。请参阅此文件夹中的LICENSE文件。

文档

utils为你提供了一些可用于与命令行上的PHPCR存储库交互的命令。此外,我们还提供了一些用于常见任务的辅助类。

命令

有几个有用的命令可以与PHPCR存储库交互。

要使用控制台,请确保你已经初始化了phpcr-utils的git子模块,然后将cli-config.php.dist复制到cli-config.php,并根据你的PHPCR实现进行调整。然后,你可以使用./bin/phpcr从phpcr-utils目录运行命令。注意:如果你在Symfony中使用PHPCR,DoctrinePHPCRBundle提供正常Symfony控制台中的命令,因此你不需要做任何特殊准备。

要获取可用命令的列表,请运行bin/phpcr或在你的应用程序中设置命令。运行bin/phpcr help <command-name>将输出该命令的文档。

辅助类

辅助类为PHPCR用户和实现者提供了基本常见任务的实现,以帮助他们。它们都在命名空间PHPCR\Util中。

PathHelper

用于操作路径。实现建议使用此方法,应用程序也会从中受益。使用dirname和类似文件系统操作在路径上的操作与Microsoft Windows系统不兼容,因此你应该始终使用PathHelper中的方法。

NodeHelper

此辅助程序包含一些通用的方法,例如生成空nt:unstructured节点以确保父路径存在。它还为实现提供了一些有用的辅助方法。

UUIDHelper

这个小小的辅助程序主要对PHPCR实现者感兴趣。它生成有效的通用唯一标识符,并可以确定给定的字符串是否为有效的UUID。我们建议所有实现都使用此实现以确保一致性。

注意

你可以使用ramsey/uuid库来生成UUID。在这种情况下,使用Composer安装它,并将UUID生成工作交给ramsey/uuid

QOM查询构建器

QueryBuilder是一个流畅的查询构建器,其方法名称与QOM工厂之上的Doctrine QueryBuilder相匹配。这是以编程方式构建PHPCR查询的最简单方法。

查询对象模型转换器

在PHPCR\Util\QOM命名空间中,我们提供了实现独立的代码,用于在SQL2和QOM之间进行转换。Sql2ToQomQueryConverter将SQL2查询解析为QOM。QomToSql2QueryConverter从QOM生成SQL2。

TraversingItemVisitor

ItemVisitorInterface 实现是爬取PHPCR树的基本实现。您可以扩展它以定义在爬取树时应该执行的操作。