开发学院

您的位置:首页>教程>正文

教程正文

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');
            });
        }
);

  上面是比较常见的几个配置文件,其他未列出的配置文件都有各自的用途,只是不太常用而已。