2024-07-10

工匠服务无流明

工匠服务无流明

Laravel 是目前 PHP 生态系统中最常用的框架。但对于那些不认识他的人来说,他们很难知道他还有一个更年轻但同样有趣的弟弟,名叫Lumen。

Lumen 旨在创建 API,事实上,它是一个微框架,其代码库与它的前辈非常接近,但有一个重要的区别,Lumen 牺牲了一些资源以换取更好的性能。

使用 Lumen 时您会错过的功能包括:

  • 模板引擎
  • ORM(Eloquent 默认禁用)
  • Facades(默认禁用)
  • 会话管理引擎
  • 工匠特色

最后一点真正引起了我的注意,因为 Artisan 中某些功能的缺乏并不会直接影响应用程序的性能。

如果您从未听说过 Artisan,那么值得注意的是,它是一个功能强大的命令行实用程序,可以与 Laravel 或 Lumen 交互,帮助您开发应用程序。

这些资源的缺乏直接影响开发者的生产力。

在我第一次接触 Lumen 时,我错过了命令:

$ php 工匠服务
登录后复制

在没有“serve”命令的情况下,替代方案是使用 PHP 自带的内置服务器,使用命令:

$ php -S localhost:8000 -t public/




登录后复制
登录后复制

看似简单但不实用。

正是考虑到这一点,为了避免每次上传服务器时都键入此命令,我创建了必要的调整,以将“serve”命令带回 Lumen。

让我们一步一步来吧

    创建ServeCommand.php文件

laravel->basePath();
$host = $this->input->getOption(‘host’);
$port = $this->input->getOption(‘port’);

$this->info(“Lumen 开发服务器在 http://{$host}:{$port}/ 上启动”);

passthru(‘”‘ . PHP_BINARY . ‘”‘ . ” -S {$host}:{$port} -t “{$base}/public””);
}

受保护函数 getOptions(): 数组
{
$url = env(‘APP_URL’, ”);
$host = parse_url($url, PHP_URL_HOST);
$port = parse_url($url, PHP_URL_PORT);

// 默认值
$主机=$主机? $主机:’本地主机’;
$端口=$端口? $端口:8080;

返回 [
[‘host’, null, InputOption::VALUE_OPTIONAL, ‘为应用程序提供服务的主机地址。’, $host],
[‘port’, null, InputOption::VALUE_OPTIONAL, ‘为应用程序提供服务的端口。’, $port],
];
}

}




登录后复制
登录后复制
    将调用包含在 Kernel.php 中

准备好了!!现在就用它吧。<p>
<br></p>$ php 工匠服务 
<pre class="brush:php;toolbar:false">





登录后复制

Lumen 开发服务器在 http://localhost:8080/ 上启动
[2021 年 9 月 27 日星期一 19:38:07] PHP 8.1.0RC2 开发服务器 (http://localhost:8080) 启动





          
登录后复制

以上就是工匠服务无流明的详细内容,更多请关注php中文网其它相关文章!

https://www.php.cn/faq/868613.html

发表回复

Your email address will not be published. Required fields are marked *