CI4 上手练习总结

先上源码

GitHub地址

好戏开始啦…………

在  CI4】CodeIgniter 4 上手练习 中有基本的安装操作,这里就直接从安装后开始

一、找到  app\Config\App.php

    1、修改项目为自己的域名

    public $baseURL = 'http://localhost:8080/';

    这个改为自己的域名,还可以添加自定义的变量,如:

    public $weblibURL   = 'http://test.oaci4.com/weblic/';

    但是   public weblibURL  = $baseURL.  'weblic/';  这样会提示错误,现在还没有解决  @^_^@

    2、隐藏路径中的  index.php,把这个

    public $indexPage = 'index.php';

        修改为

    public $indexPage = '';

        找到  public\.htaccess 文件 ,把

    RewriteRule ^(.*)/$ index.php/$1 [L,R=301]

        修改为

    RewriteRule ^(.*)/$ index.php?/$1 [L,R=301]

    是不是没看出区别,修改后会多了一个[?],同理修改

    RewriteRule ^(.*)$ index.php/$1 [L]

到这里如果环境没问题,就可以运行CI的welcome了

 

二、开启系统日志

      在  app\Config\Logger.php 文件中,找到

    public $threshold = 4;

     修改为自己需要的等级就可以了,日志文件会记录到  writable\logs 目录

 

三、数据库配置

    找到    app\Config\Database.php 文件,设置默认数据库

    public $defaultGroup = 'default';

    可以自己修改为自己指定的数据配置,先仅支持 MySQL,PostgreSQL,SqlLite3,MySQL 默认端口 3306,PostgreSQL 默认端口 5432

    更多可以查看    【官方文档】

四、缓存配置

    找到  app\Config\Cache.php ,支持  Memcached、Redis 缓存,修改自己使用的缓存数据库对应的配置即可,(没有尝试同时使用两个缓存)

 

五、加载常用 (CI4 之前没有使用【命名空间】,…………)

    1、session

         使用 session 命名空间

use CodeIgniter\Config\Services;

    定义静态变量

/**
 * -----------------------------------
 * @Date             2019-04-26
 * @Author           Acclea
 * @Describe         $sessionClass
 * -----------------------------------
 */
public static $sessionClass = '';

    在  initController 方法中实例化

// 加载session
        if(empty(self::$sessionClass)){
            $services           = new Services();
            self::$sessionClass         = $services->session();
        }

    这里不需要调用  session_start  方法,因为在加载时会默认调用

    使用

//存储session
$adminRow    = array("id"=>1,"name"=>"admin",);
self::$sessionClass->set($adminRow);

//读取session
$adminId = self::$sessionClass->get('id');

 

    2、redis

    使用 redis 命名空间,使用 Memcached 同样

use Config\Cache;
use CodeIgniter\Cache\CacheFactory;

    定义静态变量

/**
 * -----------------------------------
 * @Date             2019-04-26
 * @Author           Acclea
 * @Describe         redis
 * -----------------------------------
 */
public static $redisConn = '';

在  initController 方法中实例化

// 加载redis
if(empty(self::$redisConn)){
    $redisFact          = new CacheFactory();
    $config             = new Cache();
    self::$redisConn    = $redisFact->getHandler($config);
}

使用 $adminRow 全文同一

//存储Redis
$cacheKeyAdminInfo      = "ci4_test_admin_info_".$adminRow['id'];
$cacheKeyAdminInfoExp   = 60*60*2;

//读取Redis
self::$adminInfo = self::$redisConn->get($cacheKeyAdminInfo);

 

3、加载 配置文件 

使用 App,Autoload命名空间,

use Config\Autoload;
use Config\App;

   定义静态变量

/**
 * -----------------------------------
 * @Date             2019-04-26
 * @Author           Acclea
 * @Describe         加载系统需要的配置
 * -----------------------------------
 */
public static $sysConf = [];

在  initController 方法中实例化

// 加载autoLoad配置
if(!isset(self::$sysConf['autoLoad'])){
    self::$sysConf['autoLoad'] = new Autoload();
}

// 加载app配置
if(!isset(self::$sysConf['app'])){
    self::$sysConf['app'] = new App();
}

使用

$ref['weblibUrl']       = self::$sysConf['app']->weblibURL;

 

4、加载 post、get 获取提交数据

    使用 ResponseTrait命名空间,

use CodeIgniter\API\ResponseTrait;

在 class 第一行 (推荐)加入

use ResponseTrait;

使用如下获取数据,

//获取通过get提交的数据,
 $getData   = $this->request->getGet();

 //获取通过post提交的数据,
 $postData   = $this->request->getPost();

此处得到的时数组形式,获取每个参数值

$name   = $postData['name'];

 

5、使用自定义通用方法

    创建class,指定命名空间(推荐在 app\Libraries\ 目录下),调用相应方法步骤,

    创建自定义方法

function refJson(int $code = 0, string $msg = "OK", array $data = array()){

    $refArr     = array(
        'code'  => $code,
        'msg'   => $msg,
    );

    if($data){$refArr['data'] = $data;}

    $jsonStr = json_encode($refArr,JSON_UNESCAPED_UNICODE);
     
    die($jsonStr); 
}

    引用命名空间

use App\Libraries\SelfFunc;

    实例化

$selfFunc   = new SelfFunc();

    调用指定方法

$selfFunc->refJson(-3,"非法请求");

 

更多详细代码,可以在GitHub中查看

转载于:https://my.oschina.net/u/3268486/blog/3044343

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值