Статические константы и методы в классе модели Zend Framework - PullRequest
0 голосов
/ 07 августа 2011

У меня есть класс модели Zend Framework, подобный этому

class UserModel extends Zend_Db_Table_Abstract
{
    protected $_name = 'users';
    protected $_primary = "id";

    const SEX_MALE = "male";
    const SEX_FEMALE = "female";

    const MIN_AGE = 13;

    public static function age(Zend_Date $bornDate) {

        $now = new Zend_Date(null, null, Zend_Locale::BROWSER);

        $diff = $now->sub($bornDate);

        $age = floor($diff->toValue() / 31556926);

        if ($age < 0) {

            throw new Zend_Date_Exception("invalid date");

        }

        return $age;

    }

}

Он будет иметь все функции для вставки, удаления или обновления записей.

Но когда я пытаюсь получить доступ к статическомуфункция или статическая константа говорит, что не может найти класс.

Как я могу сделать класс видимым?

1 Ответ

0 голосов
/ 07 августа 2011

Все зависит от того, как вы используете свои классы и, в данном случае, класс модели. Я могу только предположить, что у вас есть файл с именем UserModel.php. Если у вас есть такой файл, и вы следуете настройкам по умолчанию, чем он есть в вашей папке application/models. Если это то, что у вас есть, то проблема проста. Переименуйте класс в Application_Model_UserModel. Вам, конечно, придется позвонить в класс с этим новым именем!

Если у вас нет настроек по умолчанию, то, возможно, вам не хватает include () для файла, в котором находится класс.

...