配置

路由配置

路由配置存放地址: config/routes.php

每个路由对应控制一个控制器,支持多种路由方式。

  1. <?php
  2. route()->get('/', 'WelcomeController@welcome');
  3. route()->get('/hello/{name}', 'WelcomeController@sayHello');

更多详细配置请前往: 路由与控制器

应用配置

应用配置则是整体核心配置的集合,包括时区,环境,日志,服务提供器,中间件等等,可以通过自定义 服务提供器 来读取具体的配置内容。

系统默认配置项请勿随意删除。services 默认内置的服务,如果在不了解的情况下,请勿随意改变顺序,如果需要添加自定义的,请在最后一项后添加。

  1. <?php
  2. return [
  3. /**
  4. * The application name.
  5. */
  6. 'name' => 'dobee',
  7. /*
  8. * Application logger path
  9. */
  10. 'log' => [
  11. [\Monolog\Handler\StreamHandler::class, 'error.log', \Monolog\Logger::ERROR]
  12. ],
  13. /*
  14. * Exception handle
  15. */
  16. 'exception' => [
  17. 'response' => function (Exception $e) {
  18. return [
  19. 'msg' => $e->getMessage(),
  20. 'code' => $e->getCode(),
  21. ];
  22. },
  23. 'log' => function (Exception $e) {
  24. return [
  25. 'msg' => $e->getMessage(),
  26. 'code' => $e->getCode(),
  27. 'file' => $e->getFile(),
  28. 'line' => $e->getLine(),
  29. 'trace' => explode("\n", $e->getTraceAsString()),
  30. ];
  31. },
  32. ],
  33. /**
  34. * Bootstrap service.
  35. */
  36. 'services' => [
  37. \FastD\ServiceProvider\RouteServiceProvider::class,
  38. \FastD\ServiceProvider\LoggerServiceProvider::class,
  39. \FastD\ServiceProvider\DatabaseServiceProvider::class,
  40. \FastD\ServiceProvider\CacheServiceProvider::class,
  41. ],
  42. /**
  43. * Application consoles
  44. */
  45. 'consoles' => [],
  46. /**
  47. * Http middleware
  48. */
  49. 'middleware' => [
  50. ],
  51. ];

服务器配置

服务器配置主要用于 swoole 服务器处理上,用于配置基础 ip、端口等信息,一起启动的服务器类型。

服务器配置项 host 是必填的,是 Swoole 服务器监听的地址。options 配置项请查看 Swoole配置

完整的配置

  1. <?php
  2. return [
  3. 'host' => get_local_ip().':9527',
  4. 'class' => \FastD\Servitization\Server\HTTPServer::class,
  5. 'options' => [
  6. 'pid_file' => '',
  7. 'worker_num' => 10,
  8. 'task_worker_num' => 20,
  9. ],
  10. 'processes' => [
  11. ],
  12. 'listeners' => [
  13. ],
  14. ];

class 配置项用于配置启动的服务器类型,可以自定义具体服务器。具体文档: 自定义服务器

options 配置项与 swoole 保持一致,请参考: 配置项

processes 配置项作用于服务器的进程处理。例如:启动服务后,使用进程定时检测服务器状态。官方地址: swoole_server->addProcess

listeners 配置项作用于服务多端口监听上。例如: 开启HTTP服务器,并且开放 TCP 端口进行监听。官方地址: swoole_server->listen

进程配置

3.2 版本新增进程管理,新增: config/process.php

  1. <?php
  2. return [
  3. 'demo' => \Process\DemoProcess::class
  4. ];

通过命令快速管理 php 进程。

命令:

  1. $ php bin/console process

启动我们的命令。

  1. $ php bin/console process demo start

停止命令。

  1. $ php bin/console process demo stop

缓存配置

缓存配置目前支持文件缓存、redis 缓存两种,由 symfony/cache 提供。

缓存配置的不同点在于适配器,当使用文件缓存的时候,需要修改适配器为文件系统,如此类推。

通过 params 配置项来配置缓存适配器的初始参数。

文件缓存配置

  1. <?php
  2. return [
  3. 'default' => [
  4. 'adapter' => \Symfony\Component\Cache\Adapter\FilesystemAdapter::class,
  5. 'params' => [
  6. ],
  7. ]
  8. ];

Redis 缓存配置

  1. <?php
  2. return [
  3. 'default' => [
  4. 'adapter' => \Symfony\Component\Cache\Adapter\RedisAdapter::class,
  5. 'params' => [
  6. 'dsn' => 'redis://localhost:3306/db',
  7. ],
  8. ],
  9. ];

缓存此处使用 dsn 形式进行配置,因此写法需要按照规范进行填写,如: redis://user:pass@host:port/db

数据库配置

框架支持多个数据库配置,如果在应用中有可能使用多个连接的话,就可以利用该特性,满足业务需求,默认选择连接项: default

如果不需要数据操作的话,可以清空配置文件: <?php return [];

  1. <?php
  2. return [
  3. 'default' => [
  4. 'adapter' => 'mysql',
  5. 'name' => 'ci',
  6. 'host' => '127.0.0.1',
  7. 'user' => 'root',
  8. 'pass' => '',
  9. 'charset' => 'utf8',
  10. 'port' => 3306,
  11. ]
  12. ];

自定义配置

为了不打乱默认的 app.php,框架提供了 config.php 扩展配置文件,自定义配置推荐使用 config.php 进行配置。

配置文件查看命令

  1. $ php bin/console config

查看单个配置文件。

  1. $ php bin/console config app

下一节: 路由与控制器