silverstripe / serve
将PHP开发服务器连接到SilverStripe
3.0.0
2023-08-30 04:55 UTC
Requires
- php: ^8.1
- silverstripe/framework: ^5
- symfony/process: ^6.1.3
Requires (Dev)
- phpunit/phpunit: ^9.5
- squizlabs/php_codesniffer: ^3.7
README
一个简单的开发任务,用于启动您的Silverstripe应用的开发服务器。
入门
$ composer require silverstripe/serve $ framework/sake dev/build flush=1 $ vendor/bin/serve
这将启动服务器,地址为 http://localhost:8080
。
您可以覆盖主机/端口号
$ vendor/bin/serve --host 127.0.0.1 --port 8000
打开浏览器
您可以在命令中添加 --open
参数,以便打开一个新浏览器窗口并连接到新服务器。
$ vendor/bin/serve --open
包含引导文件
引导文件参数允许在composer加载后(包括Silverstripe的Constants.php)但在main.php加载前包含一个自定义PHP文件。
这可以用作多种用途,但主要用例是引入通常不会在当前执行会话中包含的任何占位代码和配置,例如测试占位符。
$ vendor/bin/serve --bootstrap-file tests/serve-bootstrap.php
作为库使用
您还可以将serve用作库,从其他工具(如测试套件)启动Silverstripe服务器
假设已定义 BASE_PATH
,您可以按以下方式使用它
use SilverStripe\Serve\ServerFactory; $factory = new ServerFactory(); $server = $factory->launchServer([ 'host' => 'localhost', 'preferredPort' => 3000, ]); // Print the contents of the homepage echo file_get_contents($server->getURL()); // Stop the server when you're done with it $server->stop();
如果未定义 BASE_PATH
,例如,如果您不是在运行SapphireTest,您可以提供给工厂构造函数一个替代路径
$factory = new ServerFactory(realpath(__DIR__ . '/../'));
launchServer允许传递以下选项给它
- host: 监听的主机,默认为0.0.0.0
- preferredPort: 优先端口。如果此端口不可用,则使用下一个最高端口
- bootstrapFile: 引导文件,如上所述
作为全局使用
composer global require silverstripe/serve
然后,您可以运行带有 --path
参数的 serve
serve --path=.