Fatal errorClass Ajax\Model\AbstractTableGateway not found in module\Ajax\src\Ajax ZF2 Zend 2
Bonjour je suis confronté à un problème sur ZF2, et je n'arrive pas à le résoudre.
Il ne trouve pas ma classe CatalogueTable alors que si je saccage un peu le code dedans, il me génère des erreurs.
voici mon Module.php
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
namespace Ajax;
use Zend\Mvc\ModuleRouteListener;
use Zend\Mvc\MvcEvent;
use Ajax\Model\Catalogue;
use Ajax\Model\CatalogueTable;
use Zend\Db\ResultSet\ResultSet;
use Zend\Db\TableGateway\TableGateway;
class Module
{
public function getConfig()
{
return include __DIR__ . '/config/module.config.php';
}
public function getAutoloaderConfig()
{
return array(
'Zend\Loader\ClassMapAutoloader' => array(
__DIR__ . '/autoload_classmap.php',
),
'Zend\Loader\StandardAutoloader' => array(
'namespaces' => array(
__NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__,
),
),
);
}
public function getServiceConfig()
{
return array(
'factories' => array(
'Ajax\Model\CatalogueTable' => function($sm) {
$tableGateway = $sm->get('CatalogueTableGateway');
$table = new CatalogueTable($tableGateway);
return $table;
},
'CatalogueTableGateway' => function ($sm) {
$dbAdapter = $sm->get('Zend\Db\Adapter\Adapter');
$resultSetPrototype = new ResultSet();
$resultSetPrototype->setArrayObjectPrototype(new Catalogue());
return new TableGateway('catalogue', $dbAdapter, null, $resultSetPrototype);
},
),
);
}
} |
le chargement des classes perso via ClassMapAutoloader
Code:
1 2 3 4 5 6 7 8
|
return [
'Zend\Loader\ClassMapAutoloader' => [
[
'Ajax\Model\CatalogueTable' => __DIR__ . "/Model/CatalogueTable.php",
]
],
]; |
Le début de la classe CatalogueTable elle-meme :
Code:
1 2 3 4 5 6 7 8 9
|
namespace Ajax\Model;
use Zend\Db\TableGateway\TableGateway;
class CatalogueTable extends AbstractTableGateway
{
protected $tableGateway;
protected $table; |
et le controller
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
|
namespace Ajax\Controller;
use Zend\Mvc\Controller\AbstractActionController;
use Zend\View\Model\JsonModel;
//use Zend\View\Renderer\PhpRenderer;
use Ajax\Model\Catalogue;
use Ajax\Model\CatalogueTable;
use Zend\Db\Adapter\AdapterInterface;
use Zend\Db\Adapter\Adapter;
class IndexController extends AbstractActionController
{
protected $catalogueTable;
protected $dbAdapter;
public function getCatalogueTable()
{
if (!$this->catalogueTable) {
$sm = $this->getServiceLocator();
//print_r($sm);
$this->catalogueTable = $sm->get('Ajax\Model\CatalogueTable');
}
return $this->catalogueTable;
}
public function indexAction()
{
return new ViewModel();
}
public function searchAnalyseAction()
{
$request = $this->getRequest();
if ($request->isXmlHttpRequest()) { // If it's ajax call
$id = $request->getPost('id');
}
// print('gddgdfsgdg');die;
$result = $this->getCatalogueTable()->getAnalyseByLocalisation($id);
//print_r($result);
$var = array('test' => '2', 'gg' => 'fgdg', 'dgfgdsgdg' => $id);
$json = new JsonModel($var);
return $json;
//return new JsonModel($formData);
//return $this->getResponse();
}
} |
Sachant que je fais cela dans le cadre d'une requete ajax, et que l'erreur est générée lors de la response.
pourriez vous m'aider s'il vous plait ?
Merci d'avance.
Cordialement,