ФорумПрограммированиеPHP для идиотов → Yii Framework - include(SELF.PHP) - Error

Yii Framework - include(SELF.PHP) - Error

  • krasun

    Сообщения: 1370 Репутация: N Группа: Джедаи

    Spritz 21 июля 2010 г. 21:58

    В общем, меня тут спровоцировали попробовать Yii. Начал я с Building a Blog System using Yii. И после генерации моделей и изменения компонента UserIdentity, вылетает ошибка:

    include(SELF.php) [<a href='function.include'>function.include</a>]: failed to open stream: No such file or directory

    00326: * @param string class name
    00327: * @return boolean whether the class has been loaded successfully
    00328: */
    00329: public static function autoload($className)
    00330: {
    00331: // use include so that the error PHP file may appear
    00332: if(isset(self::$_coreClasses[$className]))
    00333: include(YII_PATH.self::$_coreClasses[$className]);
    00334: else if(isset(self::$_classes[$className]))
    00335: include(self::$_classes[$className]);
    00336: else
    00337: {
    00338: include($className.'.php');
    00339: return class_exists($className,false) || interface_exists($className,false);
    00340: }
    00341: return true;
    00342: }
    00343:
    00344: /**
    00345: * Writes a trace message.
    00346: * This method will only log a message when the application is in debug mode.
    00347: * @param string message to be logged
    00348: * @param string category of the message
    00349: * @see log
    00350: */


    Стектрейс:

    #0 Z:\home\yblog\www\yii\framework\YiiBase.php(338): autoload()
    #1 unknown(0): autoload()
    #2 Z:\home\yblog\www\blog\protected\components\UserIdentity.php(33): spl_autoload_call()
    #3 Z:\home\yblog\www\blog\protected\models\LoginForm.php(50): UserIdentity->authenticate()
    #4 Z:\home\yblog\www\yii\framework\validators\CInlineValidator.php(39): LoginForm->authenticate()
    #5 Z:\home\yblog\www\yii\framework\validators\CValidator.php(178): CInlineValidator->validateAttribute()
    #6 Z:\home\yblog\www\yii\framework\base\CModel.php(150): CInlineValidator->validate()
    #7 Z:\home\yblog\www\blog\protected\controllers\SiteController.php(88): LoginForm->validate()
    #8 Z:\home\yblog\www\yii\framework\web\actions\CInlineAction.php(32): SiteController->actionLogin()
    #9 Z:\home\yblog\www\yii\framework\web\CController.php(300): CInlineAction->run()
    #10 Z:\home\yblog\www\yii\framework\web\CController.php(278): SiteController->runAction()
    #11 Z:\home\yblog\www\yii\framework\web\CController.php(257): SiteController->runActionWithFilters()
    #12 Z:\home\yblog\www\yii\framework\web\CWebApplication.php(324): SiteController->run()
    #13 Z:\home\yblog\www\yii\framework\web\CWebApplication.php(121): CWebApplication->runController()
    #14 Z:\home\yblog\www\yii\framework\base\CApplication.php(135): CWebApplication->processRequest()
    #15 Z:\home\yblog\www\blog\index.php(14): CWebApplication->run()


    Может уже кто из юишников встречался? Troy, ты где?
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 21 июля 2010 г. 22:07, спустя 9 минут 26 секунд

    krasun, ты где то видимо использвоал в коде у себя SELF ? попробуй в лаверкейсе написать
    Сапожник без сапог
  • krasun

    Сообщения: 1370 Репутация: N Группа: Джедаи

    Spritz 21 июля 2010 г. 22:11, спустя 3 минуты 54 секунды

    phpdude, я в шоке. В том, то и дело, я все делал по инструкции и self, еще нигде не писал. А тут оба-на.

    #3 в трейсе:

    $this->_identity=new UserIdentity($this->username,$this->password);


    где self? )
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 21 июля 2010 г. 22:33, спустя 22 минуты 35 секунд

    krasun, хуй знает :)
    Спустя 35 сек.
    я рейд массив тока что случайно очистил на сервере, rm -rf / - мелочь, она долго удаляет хотя бы :D
    Сапожник без сапог
  • Nyaah

    Сообщения: 574 Репутация: N Группа: Джедаи

    Spritz 21 июля 2010 г. 23:09, спустя 35 минут 6 секунд

    файл UserIdentity.php в компонентах есть?
    Work, buy, consume, die
  • krasun

    Сообщения: 1370 Репутация: N Группа: Джедаи

    Spritz 21 июля 2010 г. 23:10, спустя 1 минуту 12 секунд

    есть. и в конфиге есть


    'import'=>array(
    'application.models.*',
    'application.components.*',
    ),
  • Nyaah

    Сообщения: 574 Репутация: N Группа: Джедаи

    Spritz 21 июля 2010 г. 23:12, спустя 1 минуту 50 секунд

    пля, чтото туплю ) покажи что там у тебя в этом файле )
    Спустя 28 сек.
    конкретно в 33 строке
    Work, buy, consume, die
  • krasun

    Сообщения: 1370 Репутация: N Группа: Джедаи

    Spritz 21 июля 2010 г. 23:16, спустя 4 минуты 52 секунды

    ебать, капать, я поц. Дуд, был прав. Ставьте мне минус. Я не заметил, написал там SELF. =((
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 21 июля 2010 г. 23:23, спустя 6 минут 49 секунд

    Дуд, был прав

    предлагаю новую экстрасенсорную услугу - "лечение багов по названию сабжа" :)
    Сапожник без сапог
  • krasun

    Сообщения: 1370 Репутация: N Группа: Джедаи

    Spritz 21 июля 2010 г. 23:27, спустя 3 минуты 20 секунд

    Та ну гон, блин, отвлекся и забыл, что правил файл, а потом думаю, откуда тут SELF, вот так. Надо было пройтись по трейсу - правило номер 1 дебага.
  • krasun

    Сообщения: 1370 Репутация: N Группа: Джедаи

    Spritz 21 июля 2010 г. 23:37, спустя 10 минут 36 секунд

    В Yii такую штуку Qiang Xue

    public function normalizeTags($attribute,$params)
    {
    $this->tags = Tag::array2string(array_unique(Tag::string2array($this->tags)));
    }

    называет валидатором. Хотя в Zend Framework, да и я назвал бы это фильтром
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 22 июля 2010 г. 1:46, спустя 2 часа 8 минут 50 секунд

    Qiang Xue

    это мужик какой-то?
    Спустя 38 сек.
    я тоже считаю, что это фильтр
    Спустя 32 сек.
    и мне не нравятся эти статич. методы
  • krasun

    Сообщения: 1370 Репутация: N Группа: Джедаи

    Spritz 22 июля 2010 г. 2:07, спустя 20 минут 48 секунд

    Абырвалг, это разработчик Qiang Xue
    Спустя 17 сек.
    блять, это в смысле разработчик Yii
  • krasun

    Сообщения: 1370 Репутация: N Группа: Джедаи

    Spritz 22 июля 2010 г. 2:16, спустя 9 минут 19 секунд

    Я пробую, конечно, понравилось, что все автоматически генерируется (модели, контроллеры, формы и так далее).
    Понравилось, что в CComponent все геттеры $val->getSomeValue() и т.п. превращаются в удобные $val->someValue, не плохая идея. Прикольно, что есть много готовых компонентов, виджетов и т.д.

    Легко управляется доступ к контроллерам, хотя не знаю, есть ли в Yii наследование как в Zend_Acl. И не понравилось, что многие вещи настраиваются на месте, например, мне нравиться выносить "pagination.countPerPage = 5" в конфиги. Может здесь так можно, но еще не разобрался.

    Не понравилось, что логика разбросана по контроллерам и моделям + модель реализует ActiveRecord, а я люблю анемичные доменные модели. В Zend Framework я делаю отдельный сервисный слой и контроллер служит лишь для обработки запроса. Хотя я еще в Yii не разобрался, может здесь тоже так можно будет сделать.

    Конечно, прикольно, что уже структура вся зашита и ты всего лишь генеришь, генеришь, правишь, генеришь. Но в этом есть и минус - где же наслаждением проектированием?! Но я пробую написать пока, что простой блог по туториалу, а там будет желание попробую, что-то более сложное.
  • Troy

    Сообщения: 2532 Репутация: N Группа: Джедаи

    Spritz 22 июля 2010 г. 9:16, спустя 6 часов 59 минут 24 секунды

    krasun, если хочешь наслаждатся, то зачем вобще фв ?
    И тут фильтры есть, но они выполняют другии функции, тут фильтры для контроллера, например фильтр доступа и тп.

Пожалуйста, авторизуйтесь, чтобы написать комментарий!