Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Zend Framework

Zend\Mvc\Controller\ControllerManager::createFromInvokable: failed retrieving "estoquecontrollerindex(alias: Estoque\Controller\Index)" via invokable class "Estoque\Controller\IndexController"; class does not exist

O que pode estar errado? Verificando o código do vídeo não encontrei diferença.

<?php
    return array(
        'router' => array (
            'routes' => array (
                'application' => array (
                    'type' => 'Literal',
                    'options' => array (
                        'route' => '/app',
                        'defaults' => array (
                            '__NAMESPACE__' => 'Estoque\Controller',
                            'controller' => 'Index',
                            'action' => 'Index'
                        )
                    )
                )      
            )    
        ),
        'controllers' => array(
            'invokables' => array(
                'Estoque\Controller\Index' => 'Estoque\Controller\IndexController'
            )
        ),
        'view_magnager' => array(
            'template_path_stack' => array(
                __DIR__ . '/../view',
            )
        )
    );
3 respostas

Oi Henrique, tudo bom?

Compartilha com a gente o código do seu controller?

Pelo erro:

failed retrieving "estoquecontrollerindex(alias: Estoque\Controller\Index)" via invokable class "Estoque\Controller\IndexController"; class does not exist

Parece que ele não está encontrando a classe pelo nome que a gente passou.

Isso pode significar que a declaração do namespace não condiz com o que está registrado na configuração ou que nosso autoload não está funcionando corretamente.

Normalmente, o autoload é feito pelo composer mas se seu namespace estiver condizente com o declarada na configuração, compartilha com a gente também seu composer.json =)

Assim, consigo te dar um posicionamento mais assertivo.

Abraço

Prezado André, seguem os arquivos solicitados. Obrigado

IndexController.php

<?php namespace Estoque\Controller;

use Zend\Mvc\Controller\AbstractActionController;
use Zend\View\Model\ViewModel;
class IndexController extends AbstractActionController {

    public function IndexAction(
        $msg = "Bem vindos ao curso de zend framework";
        $view_params = Array(‘msg’ => $msg);
        return new ViewModel($view_params);
    )
}

=================== Composer.json

{
    "name": "zendframework/skeleton-application",
    "description": "Skeleton Application for ZF2",
    "license": "BSD-3-Clause",
    "keywords": [
        "framework",
        "zf2"
    ],
    "homepage": "http://framework.zend.com/",
    "require": {
        "php": ">=5.3.3",
        "zendframework/zendframework": "~2.4.11",
        "zendframework/zftool": "dev-master"
    }
}
solução!

Resolvi reescrever tudo.