danack/sitetool

此包已被弃用,不再维护。没有建议替代包。

基于事件的网站工具和测试器。

0.1.2 2018-06-13 11:24 UTC

This package is auto-updated.

Last update: 2023-01-12 00:13:15 UTC


README

几个用于检查网站和网站迁移的非常简单的工具。

网站爬虫

爬取网站以找到所有链接,然后获取它们。使用以下命令运行:

php cli.php site:crawl http://phpimagick.com/

默认情况下,结果将写入 'crawl_result.txt'。

迁移检查器

一旦爬取了网站,您就可以检查相同的路径是否在不同的域名上可用。

php -d memory_limit=1280M src/cli.php site:migratecheck phpimagick.com www.phpimagick.com 

这允许您检查迁移到新平台是否丢失了任何路径。

可视化事件

由于整个应用程序都是通过事件连接在一起的,因此理解应用程序的不同部分如何协同工作可能很困难。

--graph 添加到任何命令中,应用程序将生成一个图表,显示该命令中事件 + 处理器如何连接,而不是运行该命令。

图表生成依赖于 graphviz。此项目有一个 docker composer 文件,可以在其中生成图表,可以使用类似以下的方式调用。

docker-compose up --build

docker exec sitetool_php_1 php cli.php site:crawl http://phpimagick.com/ --graph

如果项目没有检查到名为 'sitetool' 的目录,您可能需要运行 docker ps 以找到确切的 docker 镜像名称。

命名事项

事件名称

事件名称应该是描述已发生情况的过去时短语。例如:

FoundUrl FoundUrlToFetch FoundUrlToSkip
ReceivedHtml ResponseWasOk ResponseWasError ResponseWasReceived

处理器名称

处理器名称应为 '动词' + '宾语' 或 '动词' + '宾语' + '条件' 的形式。如果可能,使用事件名称作为宾语。

CheckResponseContentTypeIsHtml CheckResponseIsOk FetchUrl LogResponseWasOk LogResponseWasError LogFoundUrlToSkip ParseReceivedHtmlToFindUrls DecideFoundUrlShouldBeFollowed

在合理的情况下,在处理器名称中使用正在监听的事件名称。

php phpstan.phar analyze -c ./phpstan.neon -l 7 src