Неустранимая ошибка: класс не найден в Zend Framework 2 при развертывании на сервере, но не локально

Когда я использую свое приложение от localhost, оно работает нормально, но когда я развертываю приложение на сервере, я получаю следующую ошибку:

Неустранимая ошибка: класс ‘PFC \ Model \ GestoresPFC’ не найден в /var/www/html/pfpdi/module/PFC/Module.php в строке 59

Я использую модуль со следующей структурой дерева

  • PFC /
    • Config /
    • SRC /
      • контроллер /
      • Форма /
      • Модель /
        • gestoresPFC.php
        • gestoresPFCTable.php
        • PFC.php
        • PFCTable.php
    • Посмотреть/
    • autoload_classmap.php
    • module.php

куда gestoresPFC.php как:

<?php
namespace PFC\Model;
use Zend\InputFilter\InputFilter;
use Zend\InputFilter\InputFilterAwareInterface;
use Zend\InputFilter\InputFilterInterface;

class GestoresPFC implements InputFilterAwareInterface
{
public $gestor_id;
public $plan_id;
protected $inputFilter;                       // <-- Add this variable

public function exchangeArray($data)
{
$this->gestor_id  = (isset($data['gestor_id'])) ? $data['gestor_id']     : null;
$this->plan_id     = (isset($data['plan_id']))     ? $data['plan_id']     : null;

}

public function getArrayCopy()
{
return get_object_vars($this);
}

// Add content to these methods:
public function setInputFilter(InputFilterInterface $inputFilter)
{
throw new \Exception("Not used");
}

public function getInputFilter()
{
if (!$this->inputFilter) {
$inputFilter = new InputFilter();$inputFilter->add(array(
'name'     => 'gestor_id',
'required' => true,
'filters'  => array(
array('name' => 'StripTags'),
array('name' => 'StringTrim'),
),
'validators' => array(
array(
'name'    => 'StringLength',
'options' => array(
'encoding' => 'UTF-8',
'min'      => 1,
'max'      => 100,
),
),
),
));

$inputFilter->add(array(
'name'     => 'plan_id',
'required' => true,
'filters'  => array(
array('name' => 'StripTags'),
array('name' => 'StringTrim'),
),
'validators' => array(
array(
'name'    => 'StringLength',
'options' => array(
'encoding' => 'UTF-8',
'min'      => 1,
'max'      => 11,
),
),
),
));

$this->inputFilter = $inputFilter;
}

return $this->inputFilter;
}
}

А также module.php как:

<?php
namespace PFC;

use PFC\Model\PFC;
use PFC\Model\PFCTable;
use PFC\Model\GestoresPFC;
use PFC\Model\GestoresPFCTable;
use Zend\Db\ResultSet\ResultSet;
use Zend\Db\TableGateway\TableGateway;
use Zend\ModuleManager\Feature\AutoloaderProviderInterface;
use Zend\ModuleManager\Feature\ConfigProviderInterface;class Module implements AutoloaderProviderInterface, ConfigProviderInterface
{
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';
}public function getServiceConfig()
{
return array(
'factories' => array(
'PFC\Model\PFCTable' =>  function($sm) {
$tableGateway = $sm->get('PFCTableGateway');
$table = new PFCTable($tableGateway);
return $table;
},
'PFCTableGateway' => function ($sm) {
$dbAdapter = $sm->get('Zend\Db\Adapter\Adapter');
$resultSetPrototype = new ResultSet();
$resultSetPrototype->setArrayObjectPrototype(new PFC());
return new TableGateway('plan_formacion', $dbAdapter, null, $resultSetPrototype);
},
'PFC\Model\GestoresPFCTable' =>  function($sm) {
$tableGateway = $sm->get('GestoresPFCTableGateway');
$table = new GestoresPFCTable($tableGateway);
return $table;
},
'GestoresPFCTableGateway' => function ($sm) {
$dbAdapter = $sm->get('Zend\Db\Adapter\Adapter');
$resultSetPrototype = new ResultSet();
$resultSetPrototype->setArrayObjectPrototype(new GestoresPFC());
return new TableGateway('gestores', $dbAdapter, null, $resultSetPrototype);
},

),
);
}

}

-1

Решение

gestoresPFC.php должно быть GestoresPFC.php, Имя файла должно соответствовать имени класса. Я предполагаю, что вы разработали этот сайт в файловой системе без учета регистра (например, Windows), где это не имеет значения.

2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector