Строгие стандарты: Декларация :: postDispatch () - PullRequest
1 голос
/ 29 января 2012

Я хочу настроить Doctrine 2.2 с zf 1.11. Все сделано, но я не знаю, о чем эта ошибка:

Строгие стандарты: объявление Sc \ Resource \ EntityManagerFront :: postDispatch () должно быть совместимо с Zend_Controller_Plugin_Abstract :: postDispatch () в D: \ xampp \ htdocs \ sc \ library \ Sc \ Resource \ EntityManagerFront.php для строка 26

Мой код:

    <?php


namespace Sc\Resource;
use Zend_Controller_Plugin_Abstract, Zend_Controller_Front;

class EntityManagerFront extends Zend_Controller_Plugin_Abstract
{

  /**
   * Flush the EntityManager.
   *
   * (non-PHPdoc)
   * @see Zend_Controller_Plugin_Abstract::dispatchLoopShutdown()
   */

  public function postDispatch($request)
  {

    $bootstrap = Zend_Controller_Front::getInstance()->getParam('bootstrap');
    $em = $bootstrap->getResource('EntityManager');
    $em->flush();

    return $em;
  }
}

Ответы [ 2 ]

4 голосов
/ 29 января 2012

Подпись функции postDispatch

public function postDispatch(Zend_Controller_Request_Abstract $request)

Таким образом, вы должны указать тип параметра $request: Zend_Controller_Request_Abstract

0 голосов
/ 30 января 2012

окончательное фиксированное решение:

<?php

namespace Sc\Resource;

use Zend_Controller_Plugin_Abstract,
    Zend_Controller_Front,
        Zend_Controller_Request_Http,
        Zend_Controller_Request_Abstract;


class EntityManagerFront extends Zend_Controller_Plugin_Abstract {
    /**
     * Flush the EntityManager.
     *
     * (non-PHPdoc)
     * @see Zend_Controller_Plugin_Abstract::dispatchLoopShutdown()
     */
    public function postDispatch(Zend_Controller_Request_Abstract $request) {

        $bootstrap = Zend_Controller_Front::getInstance()->getParam('bootstrap');
        $em = $bootstrap->getResource('EntityManager');
        $em->flush();

        return $em;
    }
}
...