2016-09-17 4 views
0

Я пытаюсь загрузить пользовательский класс в моем проекте CakePHP3, хотя я не могу понять, что мне не хватает.Загрузка пользовательского класса в CakePHP3

У меня есть папка src/Library с Config.php в нем:

<?php 

namespace App\Library; 

/** 
* Class containing CONST values for important settings 
* 
* @version 1.0 
* @author berry 
*/ 
class Config 
{ 
    const UPLOAD_DIRECTORY = './upload/'; 
} 

Я поставил use App\Library\Config; в моей PicturesController, что Visual Studio даже распознает как действительный класс (я могу получить доступ к const через IntelliSense)

Вот мой контроллер:

<?php 
namespace App\Controller; 

use App\Controller\AppController; 
use Cake\Filesystem\Folder; 
use Cake\Filesystem\File; 
use App\Library\Config; 

/** 
* Pictures Controller 
* 
* @property \App\Model\Table\PicturesTable $Pictures 
*/ 
class PicturesController extends AppController 
{ 
    public function upload() 
    { 
     if($this->request->is('post')) 
     { 
      $oConfig = new Config(); 

      $oUploadDir = new Folder($oConfig::UPLOAD_DIRECTORY); 

      debug($oUploadDir); 

      $aFile = $this->request->data('submittedfile'); 
     } 

    } 

Так что, несмотря на мою IDE даже рег (и говоря, что я использую его правильно), я получаю Class 'App\Library\Config' not found, брошенный в браузере.

+0

Ваш класс принадлежит к каталогу поставщиков. Здесь есть большое объяснение. http://stackoverflow.com/questions/28518238/how-can-i-use-my-own-external-class-in-cakephp-3-0 – spencdev

+0

Имеет ли файл Config.php правильные разрешения? – Derek

+0

Ну, я изменил имя папки из библиотеки на мое имя, и это сработало. Таким образом, либо в папке Lirary не было прав, либо Библиотека уже используется. –

ответ

0

Я изменил имя из библиотеки в Берри (мое имя).

Видимо, вы не можете назвать его Библиотекой. Вероятно, он использовался где-то еще в Торт.

Смежные вопросы