Странная сбивающая с толку ошибка Zend / Doctrine для нового className () для простого класса - PullRequest
0 голосов
/ 04 декабря 2010

Я сбит с толку и надеюсь, что у кого-то есть подсказка.

Я думаю, что у меня есть Doctrine 1.x с Zend.

Я создал довольно простой тип записи:

class MYAPP_Model_CustomerContactRequest extends Doctrine_Record
{
    /**
     * Set table definition
     */
    public function setTableDefinition()
    {
    $this->setTableName('my_table_name');
    $this->hasColumn('id', 'integer', 4, array(
         'type' => 'integer',
         'length' => 4,
         'unsigned' => 0,
         'primary' => true,
         'autoincrement' => true,
         ));
    $this->hasColumn('customerEmail', 'string', 255, array(
         'type' => 'string',
         'length' => 255,
         'fixed' => false,
         'primary' => false,
         'notnull' => true,
         'autoincrement' => false,
         ));
    $this->hasColumn('vendorID',  'integer', 4, array(
         'type' => 'integer',
         'length' => 4,
         'unsigned' => 0,
         'primary' => false,
         'notnull' => true,
         'autoincrement' => false,
         ));
    $this->hasColumn('contactStatus',  'integer', 4, array(
         'type' => 'integer',
         'length' => 4,
         'unsigned' => 0,
         'primary' => false,
         'autoincrement' => false,
         ));
    }
    Other member funcs ...
}

Не так много.

У меня есть форма, которая отправляет данные vendorID и customerEmail.Ничего страшного.

Действие отправки в контроллере правильно запускается при нажатии кнопки.ОК.

Но действие отправки завершается сбоем и дает мне белый экран смерти даже без сообщения об ошибке.На данный момент я в замешательстве.

Действие отправки гласит:

    public function submitAction(){

    try {
        $request = new MYAPP_Model_CustomerContactRequest();
    }
    catch (Zend_Exception $e) {
        echo "Caught exception: " . get_class($e) . "\n";
        echo "Message: " . $e->getMessage() . "\n";
    }

    /*
    $request = new MYAPP_Model_CustomerContactRequest();
    $request->customerEmail = $_GET['custEmail'];
    $request->vendorID =$this->_targetExpertID;
    $request->contactStatus = 1;
    $request->save();
    */
}

Как вы можете видеть, я закомментировал фактическое сохранение записи и просто пытаюсьсоздать экземпляр класса модели.

Я, должно быть, упускаю что-то явно очевидное или действительно темное и таинственное.Кажется, здесь недостаточно для того, чтобы вызвать ошибку.

Удаление оператора: $ request = new Knowbees_Model_CustomerContactRequest ();... из предложения try не имеет значения.

Если я закомментирую инстанцирование, я перехожу к странице ответа, как будто все в порядке.

Вам это НИЧЕГО подсказывает?Я в тупике.

1 Ответ

0 голосов
/ 04 декабря 2010

! #! @ $ @! $ # @ !!!

Это была проблема с путём!

У меня был файл! @ #! @ # CustomerContactRequest.php в пути:

BASE_DIR\application\modules\MYAPP\models\CustomerContactRequest\CustomerContactRequest.php

... вместо

BASE_DIR\application\modules\MYAPP\models\CustomerContactRequest.php

.
И имя класса @ #! $ @! $ ...

MYAPP_Model_CustomerContactRequest

... подразумевает, что определение находится прямо в каталоге моделей!

Как только я переместил файл, вся эта глупость ожила.

=======

Я глубоко негодую, что не получил сообщение об ошибке от загрузчика!Эта явно очевидная идиотская ошибка серьезно затронула мое сегодняшнее питьевое время.

Надеюсь, этот пост когда-нибудь поможет кому-нибудь еще.

@ # @ $ # @ $ # $ # !!!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...