Я пытаюсь загрузить пользовательский класс в моем проекте 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
, брошенный в браузере.
Ваш класс принадлежит к каталогу поставщиков. Здесь есть большое объяснение. http://stackoverflow.com/questions/28518238/how-can-i-use-my-own-external-class-in-cakephp-3-0 – spencdev
Имеет ли файл Config.php правильные разрешения? – Derek
Ну, я изменил имя папки из библиотеки на мое имя, и это сработало. Таким образом, либо в папке Lirary не было прав, либо Библиотека уже используется. –