pmg / webstalk
一套用于创建beanstalkd网页界面的silex工具集
Requires
- php: >=5.4
- pda/pheanstalk: ~3.0
- silex/silex: ~1.1
- symfony/twig-bridge: ~2.4
- twig/twig: ~1.0
Requires (Dev)
- phpunit/phpunit: ~4.1
- symfony/browser-kit: ~2.4
This package is auto-updated.
Last update: 2024-09-23 06:26:51 UTC
README
Webstalk是一个简单的Web应用程序,用于查看beanstalkd服务器和管道统计信息。
在PMG,我们使用了大量的beanstalkd,并且需要为我们的非技术人员提供一种方法来检查队列服务器统计信息,而无需使用telnet。Webstalk就提供了这样的功能。
使用webstalk有两种方式:作为一个独立的应用程序或作为库。在两种情况下,webstalk都需要PHP 5.4+和composer。
此外,webstalk使用...
- Silex
- Twig
- Pheanstalk
- Symfony Twig Bridge
独立应用程序
需要Bower来获取我们的UI依赖项(JS和CSS文件)。
- 克隆此存储库或获取其zip文件并解压
- 导航到Webstalk文件所在的目录
- 运行
composer install
- 运行
bower install
- 确保您的beanstalkd服务器正在运行
- 使用
php -S 127.0.0.1:8005 -t web
运行应用程序(或设置您的服务器)
作为库
将 pmg/webstalk
添加到您的 composer.json
并安装。请参阅 web/index.php
了解所需的服务提供程序以及如何挂载webstalk URL的示例。
如果您打算使用webstalk内置的样式,请注意,它期望在您的文档根目录的 vendor
文件夹中存在一些静态文件,就像它们是由bower安装的一样。请参阅 bower.json
了解这些依赖项。
然而,更有可能的是,您希望将webstalk集成到您的更大应用程序中——这就是PMG使用它的方式。
Webstalk使用twig,并在Silex的 twig.loader.filesystem
中注册一个目录,专门用于其文件。要使用自己的模板,扩展 twig.loader.filesystem
并在前面添加一个新的webstalk目录。
$app['twig.loader.filesystem'] = $app->share(
$app->extend('twig.loader.filesystem', function ($loader) {
$loader->prependPath('/path/to/your/templates/webstalk', 'webstalk');
return $loader;
})
);
完成这些后,在您的新的webstalk模板目录中创建一个 servers.html.twig
和一个 tubes.html.twig
文件。请参阅 src/PMG/Webstalk/Resources/views
了解这些文件可能的工作方式以及传递的上下文变量。
运行测试
Webstalk有两套测试:单元测试和集成测试。单元测试涵盖了其所有内部代码。集成测试涵盖了Webstalk触及外部世界的地方(这包括外部库,它们被封装在适配器中)。
使用带有 --dev
标志的Composer安装(默认行为)。然后运行 /vendor/bin/phpunit
。这将运行两个测试套件。
您可能会看到一些测试被跳过,这些是需要在本地运行beanstalkd副本的测试。所以启动它!如果它在本地的默认端口(11300)上运行,那么您只需要重新运行测试。
如果它不在,设置环境变量 BEANSTALKD_HOST
和 BEANSTALKD_PORT
并运行测试。
$ BEANSTALKD_PORT=11301 ./vendor/bin/phpunit
您也可以只运行一个测试套件
$ ./vendor/bin/phpunit --testsuite Unit
$ ./vendor/bin/phpunit --testsuite Integration
许可
版权 2014 PMG http://pmg.co
根据Apache License,版本2.0(“许可证”)许可;除非遵守许可证,否则不得使用此文件。您可以在以下位置获取许可证副本:
https://apache.ac.cn/licenses/LICENSE-2.0
除非适用法律或书面同意,否则在许可证下分发的软件以“现状”为基础分发,不提供任何形式的保证或条件,无论是明示的还是暗示的。请参阅许可证以了解具体的管理权限和限制。