kirillemko / yii-ci-integration
谁收到了 codeigniter 的代码,没有网络,还是有机会的
1.0.1
2021-07-09 17:06 UTC
Requires
- php: >=5.6
- cebe/assetfree-yii2: ^2.0
- yidas/codeigniter-psr4-autoload: ^1.0
This package is auto-updated.
Last update: 2024-09-26 17:41:52 UTC
README
安装
安装此扩展的首选方式是通过 composer。
运行以下命令之一
composer require kirillemko/yii-ci-integration
或者
"kirillemko/yii-ci-integration": "*"
将以下内容添加到您的 composer.json 文件的 require 部分。
使用方法
在您的 CodeIgniter 配置文件夹中创建 yii_config.php 文件
<?php
include(APPPATH . '/config/database.php');
$commonConfig = [
'id' => 'yii_sub_app',
'basePath' => dirname(__DIR__),
'components' => [
'db' => [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=' . $db['default']['hostname'] . ';dbname=' . $db['default']['database'] . '',
'username' => $db['default']['username'],
'password' => $db['default']['password'],
'charset' => 'utf8',
],
],
];
$webOnlyConfig = [
'components' => [
'request' => [
'parsers' => [
'application/json' => 'yii\web\JsonParser',
]
],
]
];
$consoleOnlyConfig = [
'bootstrap' => ['gii'],
'modules' => [
'gii' => [
'class' => 'yii\gii\Module',
],
],
];
if (defined('APP_CONSOLE')) {
return array_merge_recursive($commonConfig, $consoleOnlyConfig);
}
return array_merge_recursive($commonConfig, $webOnlyConfig);
要将 Yii 用户组件与 CodeIgniter 组件同步,请注册我的用户组件,以相同的方式设置 identityClass,就像在 Yii 中做的那样,并在该类中实现 ExternalIdentityInterface
'components' => [
...
'user' => [
'class' => 'kirillemko\yci\components\user\User',
'identityClass' => 'App\domain\common\models\Users',
],
class Users extends ActiveRecord implements ExternalIdentityInterface
{
public function getId() {
return $this->id;
}
public static function getIdentity() {
$ci = &get_instance();
$user_id = $ci->ion_auth->get_user_id();
if( !$user_id ){
return null;
}
return static::findOne($user_id);
}
}
最后,在需要的地方加载 Yii 核心
require_once(APPPATH . '../vendor/yiisoft/yii2/Yii.php');
$yiiConfig = require APPPATH . 'config/yii_config.php';
new \yii\web\Application($yiiConfig); // Do NOT call run() here
要运行 Yii 迁移,请运行
vendor\kirillemko\yii-ci-integration\src\yii migrate
鸣谢
作者:Kirill Emelianenko,Evgeny Starodubcev