• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Zend 2 - problem

Cloud VPS
+1 głos
505 wizyt
pytanie zadane 18 maja 2015 w PHP przez CzlowiekSkrypt Nałogowiec (26,340 p.)

Przerabiam kurs ze Strefy Kursów Zend Framework no i postanowil się na mnie ten framework obrazić. Jak już nawet StackOverflow nie pomaga to wiedz że twój kod jest przeklęty. 

gdy chcę wyświetlić stronę główną projektu to dostaję takiego babola : 

File:

C:\xampp\htdocs\php\zendcms\skeleton-application\vendor\zendframework\zendframework\library\Zend\ServiceManager\AbstractPluginManager.php:168

 

Message:

Zend\Mvc\Controller\ControllerManager::createFromInvokable: failed retrieving "productcontrollerproduct(alias: Product\Controller\Product)" via invokable class "Product\Controller\ProductController"; class does not exist

Było kilka rozwiązań tego na necie jednak żadne mi nie pomogło. Męczę się z tym już parę godzin i nie wiem gdzie jest ten chochlik co blokuje wczytanie klasy.

Uwaga - zapodaję kodem : 

Struktura modułu 
Product -> config -> module.config.php
             -> src -> Product -> Controller -> ProductController.php
                       ->Form
                       ->Model
             ->view
                       ->product->product
                       ->autoload_classmap.php
             ->Module.php

Plik module.config.php

 

<?php
return array(
	'controllers' => array(
		'invokables' => array(
			'Product\Controller\Product' => 'Product\Controller\ProductController',
			),
		),
	'router' => array(
		'routes' => array(
			'product' => array(
				'type' => 'segment',
				'options' => array(
					'route' => '/product[/][:action][/][/:id]',
					'constraints' => array(
						'action' => '|a-zA-Z||a-zA-Z0-9_-|*',
						'id' => '[0-9]+'
					),
					'defaults' => array(
						'controller' => 'Product\Controller\Product',
						'action' => 'index',
					),
				),
			),
		),
	),

	'view_manager' => array(
		'template_path_stack' => array(
			'product' => __DIR__ . '/../view',
			),
		),
	);

Plik ProductController.php

<?php
namespace Product\Controller;
use Zend\Mvc\Controller\AbstractActionController;
use Zend\View\Model\ViewModel;

class ProductController extends AbstractActionController{

	public function indexAction(){

	}

	public function addAction(){
		
	}

	public function editAction(){
		
	}

	public function deleteAction(){
		
	}
}

Plik Module.php

<?php
namespace Product;

class Module{

	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 getConfig(){  

		return include __DIR__ . '/config/module.config.php';
	}
}

autoload_classmap zwraca tylko pustą tablicę.
Namespace 'Product' jest zarejestrowany w application.config.php

Wiem że widoki nie są zdefiniowane ale wtedy powinien wywalić właśnie taki błąd a nie że nie ma klasy która de facto jest :) 

 

 

1 odpowiedź

0 głosów
odpowiedź 19 maja 2015 przez efiku Szeryf (75,160 p.)
Nie wiem czy Ci ktoś odpisze tu, ale strzelam, że Autoloader masz coś nie tego.

Zerknij tu:
https://samsonasik.wordpress.com/2014/01/11/zend-framework-2-using-psr-4-autoloader-in-module/

Podobne pytania

0 głosów
1 odpowiedź 534 wizyt
pytanie zadane 15 maja 2018 w PHP przez Radosław Foltyński Obywatel (1,180 p.)
0 głosów
0 odpowiedzi 178 wizyt
+1 głos
2 odpowiedzi 2,794 wizyt
pytanie zadane 25 kwietnia 2017 w PHP przez `Krzychuu Stary wyjadacz (13,940 p.)

93,486 zapytań

142,420 odpowiedzi

322,771 komentarzy

62,900 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...