danack / sitetool
基于事件的网站工具和测试器。
Requires
- php: ^7
- alom/graphviz: ~1.1
- amphp/artax: ~3.0.14
- danack/aurynconfig: ^0.9.1
- danack/console: ~2.6
- danack/tier: ^0.7.1
- fluentdom/fluentdom: ~5.3
- rdlowrey/auryn: ^1.4.0
- zendframework/zend-eventmanager: ^3.0
Requires (Dev)
- mockery/mockery: 1.0
- nikic/fast-route: 0.3.0
- phpunit/phpunit: 6.4.4
- room11/caching: ^0.0.4
- room11/http: ^0.2.0
- squizlabs/php_codesniffer: ^2.8
- yoast/yoastcs: 0.4.2
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