V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
sensui7
V2EX  ›  PHP

CI 扩展 session 类遇到的问题

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

    然后,尽快换到 3.0 吧, session 完全重写了。
    sensui7
        7
    sensui7  
    OP
       2016-01-13 11:54:24 +08:00
    @alex321 那样的话, 其实就是 $this->load->library('session');就行了吗,不需要加载我自己的? 而且貌似也只能这样了吧,
    alex321
        8
    alex321  
       2016-01-13 11:58:53 +08:00
    @sensui7 不用加载自己的,有空再仔细看下 CI 的执行机制。。
    sensui7
        9
    sensui7  
    OP
       2016-01-13 12:08:10 +08:00
    @alex321 基本没看执行机制, 就是想快速做一个东西....
    ccdarkness
        10
    ccdarkness  
       2016-01-13 14:14:33 +08:00
    试一试在 config 文件夹下 autoload.php 中自动加载 $autoload['libraries'] = array('Form_validation','session');
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   6034 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 02:10 · PVG 10:10 · LAX 18:10 · JFK 21:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.