将PHP开发服务器连接到SilverStripe

3.0.0 2023-08-30 04:55 UTC

README

CI

一个简单的开发任务,用于启动您的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=.