CodeIgniter4教程:常见配置文件
CodeIginter4 项目的app目录下有很多文件夹,其中Config文件夹里面存储各种的配置文件,CodeIgniter4项目的大部分的配置都在这里完成,本文讲述一些开发中常见的配置。
App.php
该文件可以进行最基本的配置,比如base url,首页地址等。
public $baseURL = 'https://www.kaifaxeyuan.com';
$baseURL配置项目的访问地址,需要跟服务器配置一一对应,上线后此处绑定的是www.xxx.com这样的域名。
public $indexPage = '';
$indexPage配置首页的路径,如果需要做Url rewrite则需要把此处留空,否则输入index.php.此处也需要跟服务器配置有关系,不同的服务器配置url rewrite的方式也有区别,后面会单独写服务器的配置文件。
public $appTimezone = 'Asia/Shanghai';
$appTimezone配置时区,根据清空填写即可。
$charset = 'UTF-8';
$charset配置项目的编码格式,当下默认都是UTF8,保持不变即可。
其他的配置选项一般保持默认即可,同时App.php一般还可以配置一些自定义的项目,例如第三方开发接口的key之类的,根据需要自行配置即可,下面是一个简单的例子。
////支付宝web配置 public $alipay_web_appid = "xxxxx"; public $alipay_web_mch_id = "yyyyy"; public $alipay_web_key = "1123123213"; public $alipay_web_notify_url = https://www.kaifaxeyuan.com/alipay_notify";
Autoload.php
该文件可以配置一些自动加载的第三方类库,但是有复杂引用的第三方库还是推荐使用composer。
Database.php
数据库相关配置,说明在注释中
public $default = [ 'DSN' => '', 'hostname' => 'localhost',//数据库地址 'username' => 'root',//数据库登陆账号 'password' => 'passwod',//数据库登陆密码 'database' => 'db_name',//要连接的数据库名字 'DBDriver' => 'MySQLi',// 'DBPrefix' => '', 'pConnect' => false, 'DBDebug' => (ENVIRONMENT !== 'production'), 'cacheOn' => false, 'cacheDir' => '', 'charset' => 'utf8',//数据库编码 'DBCollat' => 'utf8_general_ci', 'swapPre' => '', 'encrypt' => false, 'compress' => false, 'strictOn' => false, 'failover' => [], 'port' => 3306,//端口 ];
Filters.php
如果启用了csrf,该文件可以配置匹配规则和例外。
Routers.php
路由文件配置,重要文件。
$routes->setDefaultNamespace('App\Controllers');//控制器目录 $routes->setDefaultController('Home');//默认控制器 $routes->setDefaultMethod('index');//默认方法 $routes->setTranslateURIDashes(false); $routes->set404Override(); $routes->setAutoRoute(true);
除了上面的默认路由,如果我们把控制器保存在二级目录,还需要再次文件指定。
$routes->group(//定义路由分组 'admin',//二级目录的名字 [ 'namespace' => 'App\Controllers\admin'//二级目录的完整路径,同group中所有的控制器都保存在这个文件夹中 ], function ($routes) { //登录模块 $routes->group('login', function ($routes) { $routes->add('', 'Login::index'); $routes->add('logout', 'Login::logout'); $routes->add('signin', 'Login::signin'); }); //注销模块 $routes->group('logout', function ($routes) { $routes->add('', 'Logout::index'); }); } );
上面是比较常见的几个配置文件,其他未列出的配置文件都有各自的用途,只是不太常用而已。