sensui7
V2EX  ›  PHP

CI 扩展 session 类遇到的问题

  •  
  •   sensui7 · Jan 13, 2016 · 3105 views
    This topic created in 3856 days ago, the information mentioned may be changed or developed.
    Class MY_Session Extends CI_Session

    提示 Class 'CI_Session' not found in MY_Session.php.

    这个 MY_Session 是 github 上的 cnsaturn/codeigniter-my-session,

    我的 ci 是 2.x,

    我发现, ci 的 session 的文件名是 Session, 而类名是 CI_Session, 这是不是要我自己解析呢?
    10 replies    2016-01-13 14:14:33 +08:00
    JiShuTui
        1
    JiShuTui  
       Jan 13, 2016
    把你下载的 My_Session.php 文件放在 app/Libraries 目录下
    或者赶紧升级使用 CI 3.x 版本吧
    sensui7
        2
    sensui7  
    OP
       Jan 13, 2016
    @JiShuTui 是放在 app/libraries 下了, 版本是 2.2.5, 奇了怪了.
    alex321
        3
    alex321  
       Jan 13, 2016
    先 $this->load->library('session'); 了么?
    heraldboy
        4
    heraldboy  
       Jan 13, 2016
    文件名是: MY_Session.php
    有些 php 环境是大小写敏感的, CI 对文件名的大小写也有严格的规定,你再仔细检查一下,并看看官方文档关于文件名的大写问题。
    建议升级到 3.0 ,这样会避免一些不是问题的问题。
    以上答案在无法了解你环境的情况无法验证。
    sensui7
        5
    sensui7  
    OP
       Jan 13, 2016
    @alex321 就是之前也得 load 原 session? 加上之后到是不报错了,
    感觉好像不是太灵活呢?
    alex321
        6
    alex321  
       Jan 13, 2016
    @sensui7 CI 中, MY_ 是针对原来类库或者控制器的扩展。。你使用之前必须加载原来的。当然,加载了原来的就会加载你自定义的。。
    我赶脚比较好,按需加载,如果觉得麻烦,自己写个 hook 或者其他啥的搞个判断不存在对象就自动加载。我个人还是比较习惯手工加载,但也不排除有些项目会偷懒。

    然后,尽快换到 3.0 吧, session 完全重写了。
    sensui7
        7
    sensui7  
    OP
       Jan 13, 2016
    @alex321 那样的话, 其实就是 $this->load->library('session');就行了吗,不需要加载我自己的? 而且貌似也只能这样了吧,
    alex321
        8
    alex321  
       Jan 13, 2016
    @sensui7 不用加载自己的,有空再仔细看下 CI 的执行机制。。
    sensui7
        9
    sensui7  
    OP
       Jan 13, 2016
    @alex321 基本没看执行机制, 就是想快速做一个东西....
    ccdarkness
        10
    ccdarkness  
       Jan 13, 2016
    试一试在 config 文件夹下 autoload.php 中自动加载 $autoload['libraries'] = array('Form_validation','session');
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5795 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 02:07 · PVG 10:07 · LAX 19:07 · JFK 22:07
    ♥ Do have faith in what you're doing.