致命错误:访问未声明的静态属性

时间:2011-02-01 14:12:50

标签: zend-framework php

我正在尝试使用PHP CLI(命令行界面)中的一些扩展Zend_Db_Table类。

通过Apache使用时,一切都按预期工作。但是当从CLI使用时,我收到以下错误:

  

[01-Feb-2011 14:41:34] PHP致命错误:访问/ home / www /

中未声明的静态属性:KidsclubIdentities::$tableName

如果我var_dump($tableVariables); die();功能在下面的班级的col()函数中,我会按预期获得打印输出,但不包含我模型的public static个变量( KidsclubIdentities)。

所以我最好的猜测是,当使用CLI与Apache

时,范围是不同的
class My_Db_Table extends Zend_Db_Table
{
    public function col($varname) {
        $tableVariables = get_class_vars(get_class($this));
        if(array_key_exists($varname, $tableVariables)) {
            return $tableVariables[$varname];
        } else if(array_key_exists($varname . 'Column', $tableVariables)) {
            return $tableVariables[$varname . 'Column'];
        }
        return $varname;
    }

[...]

我的模特

class KidsclubIdentities extends My_Db_Table
{
    protected $_name = 'kidsclub_identities';
    protected $_rowClass = 'KidsclubIdentity';

    public static $tableName = 'kidsclub_identities';
    public static $primaryColumn = 'kidsclub_identity_id';
    public static $statusColumn = 'kidsclub_identity_status';
    public static $userIdColumn = 'user_id';
    public static $identityIdColumn = 'identity_id';
    public static $identityLocationTypeColumn = 'identity_location_type';

我计划使用CLI从crontab执行某些操作。但我会将注意力集中在基于apache的cron脚本上。

0 个答案:

没有答案