🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] # 1.5 修改配置 ## 1.3.1 修改`$configure`变量 这就是实例化`\X\Application`(在`/Public/index.php`中)时,传递的一个参数。 ### 1.3.1.1 一个标准的示例 ```php $configure = [ "SysDir" => SysDir, "Path" => [ "Route" => "Var/Route/", "Application" => "App/", "Template" => "Var/Template/", "Cache" => "Var/Cache/" ], "View" => [ "Start" => "{{", "End" => "}}", "ExtName" => ".tpl", "Template" => "default", "Cache" => false ], "Database"=> [ 'connection_string' => 'mysql:host=localhost;dbname=xphp;charset=utf8', //DSN 'driver_options' => array(\PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'), //PDO Option 'username' => 'root', //用户名 username 'password' => '', //密码 password 'logging' => true, //开启Query日志 Enable Query Log 'caching' => true, //开启缓存 Enalble Cache 'caching_auto_clear'=> true //自动清理缓存 Auto Clear Cache ], "Route" => [ "Base" => "" ], "Version" => X, "Debug" => true ]; ``` ### 1.3.1.2 详解 我想大家猜也猜得出来到底应该怎么改吧。 ## 1.3.2 修改`Register.php` ### 1.3.2.1 这是什么 这是将XPHP内部组件注册入容器中的脚本,您如果觉得XPHP的某一个组件不好用(例如Log),您可以轻松的自己封装一个,然后在此处修改默认注册即可。 ### 1.3.2.2 标准示例 如果您改错了,可以使用这一份: ```php <?php /** * XPHP Configure File * * You can add your providers here. * */ return function ($App) { $App->container->add('Core.Error', '\Whoops\Run')-> withMethodCall('pushHandler', ['Core.Error.Handler'])-> withMethodCall('pushHandler', [new \League\Container\Argument\RawArgument(function( $exception, $inspector, $run ) use ($App){ $App->event->emit('Core.Error', $exception, $inspector, $run); })])-> withMethodCall('allowQuit', [new \League\Container\Argument\RawArgument(false)])-> withMethodCall('register', []); $App->addBatch([ ['Core.Error.Handler', '\Whoops\Handler\PrettyPageHandler'], ['Core.Route', '\X\Route'], ['Core.Model.Database', '\X\Database\Idiorm'] ]); $App->shareBatch([ ['Core.Log', '\X\Log'], ['Core.View', '\X\ViewLightnCandy'], ]); }; ``` ## 1.3.3 修改`Config.php` 在此文件中,您不仅可以修改系统类的注册,也可以对于`$configure`变量进行修改。 ### 1.3.3.1 修改注册 与修改`Register.php`完全一致。 ### 1.3.3.2 修改`$configure` 使用 ```php $App->config ``` 即可访问到`$configure`变量,您可以随意修改。