无法在ZEND中访问模型中的功能

时间:2012-11-28 14:59:05

标签: php class zend-framework model

任何人都可以看到为什么我的check_multi函数会返回 -

  

致命错误:调用未定义的函数check_multi()   /var/www/vhosts/aero.onelinksoftware.com/application/models/Design.php   在第21行

出现上述错误,我不确定我做错了什么。我尝试将我的功能设置为公共,私有,静态和其他组合,但无论我尝试什么;系统仍然出错。你能不能在Zend的Model中调用一个函数?我不明白为什么我不能使用我创建的函数,如果它在我制作的类中。

如果我在check_multi调用之前回显并死掉;我可以看到我的文字等。我还对语法进行了php测试,只要报告它就是有效的。

class Model_Design
{
    /**
     * Constructs our partials.
     *
     * @return void
     */
    public function __construct($key)
    {
        // Get the DB Connection
        $db = Zend_Registry::Get('db');
        // Setup the SQL Statement
        $sql = $db->select()->from('design', array('id'));
            // Get the Result
            $result  = $sql->query();
            // Get our Row
            $row     = $result->fetchAll();

            if(check_multi($key, $row)) {
                echo "omg"; die();
            }

        // Make sure the id isn't empty
        if (empty($key)) {
            throw new Exception('You have a disturbing lack of variables.');
        }

        // Store the id
        $this->variables = $key;


        // Construct our query
        $sql = $db->select()->from('design')->where('`id` = ?', $key);
            // Get the result
            //$result    = $sql->query();
            //$row   = $result->fetch();
    }

    private function check_multi($n, $arr)
    {
        foreach ($arr as $key => $val) {
            if ($n===$key) {
                return $key;
            }
        }
        return false;
    }
}

2 个答案:

答案 0 :(得分:1)

尝试:

$this->check_multi($key, $row);

要从容器类中访问变量或函数,必须使用$ this。 $ this是该类的当前实例。

答案 1 :(得分:1)

你怎么称呼这个功能?使用$this->check_multi($n,$arr);或者您可以尝试function_exists()来检查功能是否真的存在