ci2lara / codeigniter_migration
CodeigniterMigration 是一个用于在 Laravel 5 中集成已启动的 Codeigniter-Session 的包
Requires
- php: >=5.3
- laravel/framework: 5.1.*
This package is not auto-updated.
Last update: 2024-10-02 11:05:35 UTC
README
CodeigniterMigration 是一个用于在 Laravel 5 中集成已启动的 Codeigniter-Session 的包。
需求
- Laravel >= 5
- PHP >=5.3
- Codeigniter 2.x(未与 3.x 进行测试)
此包包含 ServiceProvider 和 Facade,用于轻松集成 Laravel。如果您想逐步将旧代码迁移到 Laravel,并且 Codeigniter 仍然负责登录和身份验证,这将特别有用。您可以通过 cookie 处理读取当前 Codeigniter 会话的用户数据。
安装
使用 composer 安装此包
composer require ci2lara/codeigniter_migration
更新 composer(composer update)后,将 ServiceProvider 添加到 config/app.php 中的 providers 数组
服务提供者
在您的 app 配置中,将 CodeigniterServiceProvider
添加到 providers 数组。
'providers' => [ ... 'Ci2Lara\Codeigniter_Migration\Providers\CodeigniterServiceProvider', ... ];
外观
您必须使用外观,将其添加到 app 配置中的 aliases 数组
'aliases' => [ ... 'CodeigniterSession' => 'Ci2Lara\Codeigniter_Migration\Facades\CodeigniterSession', ... ];
配置(例如 CI-Cookie-Name)
使用 publish 命令将包配置复制到您的本地配置
php artisan vendor:publish
要更改配置,取消注释新 config/ci_session.php 中的值(例如 sess_table_name 或 sess_cookie_name)
设置中间件以读取会话
您应在 codeigniter 中仅使用未加密的 cookie - 因此 Laravel 可以直接访问 cookie。出于安全原因,您必须允许 Laravel 使用此未加密的 Cookie。
更改 app/Http/Kernel.php 中的 "$middleware" 数组中的以下行
'Illuminate\Cookie\Middleware\EncryptCookies'
到
'Ci2Lara\Codeigniter_Migration\Middleware\EncryptCookies'
此包中间件仅禁用配置的 Cookie-Name 的 Cookie 加密(默认:ci_session,请参阅 config/ci_session.php)
在 Laravel 5 中访问 Codeigniter 会话
简而言之:CodeigniterSession::getUserData()
例如
\View::share('userdata', CodeigniterSession::getUserData());
访问一些项目配置变量或 CI 配置变量
您可以扩展您的 CI 代码
例如,在您的 CodeIgniter 登录处理中
$userdata['ci_config'] = array('version' => '1.0', 'module_xy_enabled' => $this->config->item('modul_xy_enabled'), 'yourconfig' => 'some value');
$CI->session->set_userdata($userdata);
在 Laravel 中,您可以使用以下代码简单访问
CodeigniterSession::getConfigData()->version
试试看
dd(CodeigniterSession::getConfigData());
贡献
欢迎对 CodeigniterMigration 的贡献。在提交 pull request 之前,请注意以下指南。
- 遵循 PSR-2 编码标准。
许可
CodeigniterMigration 在 MIT 许可 下授权。
版权 2015 [Andreas Schwinger]