首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >简单的ORM结构Codeigniter

简单的ORM结构Codeigniter
EN

Stack Overflow用户
提问于 2013-02-16 06:00:13
回答 1查看 257关注 0票数 1

这是我的代码:

代码语言:javascript
运行
复制
<?php

class VortexORM {

    private static $orm = null;

    public function __get($name) {
        return $this->$name;
    }

    public function __set($name, $value) {
        $this->$name = $value;
    }

    public static function getInstance() {
        if (VortexORM::$orm == null)
            VortexORM::$orm = new VortexORM();
        return VortexORM::$orm;
    }

    public static function set($name, $value) {
        $orm = VortexORM::getInstance();
        //echo "Setting [ <b>{$name}</b> ::   <i>{$value}</i>]";
        $orm->$name = $value;
    }

    public static function get($name) {
        $orm = VortexORM::getInstance();
        // echo "Getting [ <b>{$name}</b> ::   <i>{$orm->$name}</i>]";
        return $orm->$name;
    }

}

要获取我使用的数据:

代码语言:javascript
运行
复制
var_dump(VortexORM::get('admin_links'));
var_dump(VortexORM::get('admin'));

要设置我使用的数据:

代码语言:javascript
运行
复制
VortexORM::set('admin_links',array(....));

但是,我得到以下警告:

代码语言:javascript
运行
复制
A PHP Error was encountered
Severity: Notice
Message: Undefined property: VortexORM::$admin_links
Filename: Vortex/VortexORM.php
Line Number: 8
NULL
A PHP Error was encountered
Severity: Notice
Message: Undefined property: VortexORM::$admin
Filename: Vortex/VortexORM.php
Line Number: 8

为什么我会收到这些警告?

我希望能够在CodeIgniter中以静态函数的形式访问它:

代码语言:javascript
运行
复制
$this->vortexorm->admin_links = array(....);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-16 15:51:20

好的,我刚刚测试了这段代码:

代码语言:javascript
运行
复制
    <?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

class VortexORM {

    private static $orm = null;

    public function __get($name) {
        return $this->$name;
    }

    public function __set($name, $value) {
        $this->$name = $value;
    }

    public static function getInstance() {
        if (VortexORM::$orm == null)
            VortexORM::$orm = new VortexORM();
        return VortexORM::$orm;
    }

    public static function set($name, $value) {
        $orm = VortexORM::getInstance();
        //echo "Setting [ <b>{$name}</b> ::   <i>{$value}</i>]";
        $orm->$name = $value;
    }

    public static function get($name) {
        $orm = VortexORM::getInstance();
        // echo "Getting [ <b>{$name}</b> ::   <i>{$orm->$name}</i>]";
        return $orm->$name;
    }

}

VortexORM::set('admin_links',"test");

var_dump(VortexORM::get('admin_links'));

它对我来说工作得很好。给出了以下输出:

代码语言:javascript
运行
复制
string(4) "test" 

所以,我猜,你可能只是试图在属性集之前检索它?或者请分享更多详细信息。另外,你为什么要尝试创建新的ORM,在那里我们可以很容易地使用use doctrine with codeigniter

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14904060

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档