2009-12-10 9 views
0

Я пробовал cakePHP, поэтому у меня очень простой сайт. Я получаю следующую ошибку.Класс модели не найден

класс Тег расширяет AppModel {$ name = 'Tag'; } Фатальная ошибка: Class 'Tag' не найден в /home/downtown/public_html/test_cake/cake/libs/class_registry.php на линии 140

в .. \ App \ модели \ Tag.php У меня есть

class Tag extends AppModel { $name = 'Tag'; }

Какой глупой ошибкой я занимаюсь? Я пробовал очистить tmp/cache, и я перезагрузил cakePHP с нуля. Я видел эту ошибку в поиске Google, но это была относительно очевидная синтаксическая ошибка.

Система ответов cakephp не отправляет мне электронное письмо с подтверждением, поэтому я должен задать этот вопрос здесь.

+0

Что находится в строке 140 '/ home/downtown/public_html/test_cake/cake/libs/class_registry.php'? –

+0

class_registry.php является внутренним CakePHP-файлом, обрабатывающим классы в целом, как показывает путь. –

+0

Линия, о которой идет речь, является: $ {$ class} = & new $ class ($ settings); –

ответ

0

Возможно, что «тег» является зарезервированным словом в CakePHP, попробуйте использовать другое имя класса и сообщите, если вы снова получите эту ошибку.

Моя рекомендация:

  • CakePHP на Google групп

Предложение:

Использование:

var $name = 'Tag'; 

вместо

$name = 'Tag'; 
+0

Я получаю ту же ошибку на другой модели с именем класса «Примечание». –

+0

Вы попробовали мое предложение? Используйте что-то более абстрактное и в полном нижнем регистре, например. 'pencil' –

+0

Просто, чтобы очистить это, я создал таблицу под названием pencils и класс Pencil и получил ту же ошибку. Ведущий символ верхнего регистра является требованием к соглашениям об именах cakePHP. Также cakephp в группах Google закрыт. –

1

Да, это было глупо.

Отсутствует тег в начале и конце файла.

-1

Проблема должна заключаться в том, что вы не объявили модель с тем же именем. Попробуйте взглянуть на свою модель и удостоверьтесь, что имена равны. Если вы измените имя модели, ошибка будет такой же, как вы объясните здесь.

Смежные вопросы