ci2lara/codeigniter_migration

CodeigniterMigration 是一个用于在 Laravel 5 中集成已启动的 Codeigniter-Session 的包

v0.1.1 2015-10-16 08:07 UTC

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]