2017-01-26 17 views
0

У меня возникли проблемы с загрузкой файлов поставщиков в cakephp 2.3.0. Я попытался ввести App::import('Vendor', 'EncodingProfileConfig'); чуть выше App::uses('AppController', 'Controller'); в файле StreamsController.php. Я получаю ошибку «класс» EncodingProfileConfig «не найден». Как я могу это решить? Я использовал эту ссылку: https://book.cakephp.org/2.0/en/core-utility-libraries/app.html#loading-vendor-filescakephp 2.3.0 не удалось загрузить файлы поставщика

Фактический класс находится внутри app/Vendor/bitcodin/lib. Но после этого кода ниже не удалось, я попробовал более простой подход, который выше. Что тоже не удалось. То, что я действительно пытаюсь сделать, это загрузить его, не удаляя его в его каталог app/Vendor/bitcodin/lib.

App::build(array('Vendor' => array(APP . 'Vendor' . DS . 'bitcodin' . DS . 'lib' . DS))); 
App::uses('EncodingProfileConfig', 'Vendor/bitcodin'); 
+0

При обращении к коду 3 партии, всегда добавляйте ссылки на него в свой вопрос, соответственно вставляйте пример и покажите, как именно вы пытаетесь его использовать. Если бы люди могли видеть содержимое «EncodingProfileConfing.php» и пытались создать экземпляр класса, они увидели бы, что в вашей проблеме есть больше, чем просто импортировать файл. Также я бы посоветовал вам узнать о композиторе и использовать его. – ndm

ответ

0

Используйте импорт, указав местоположение файла в параметрах

App::import('Vendor', 'EncodingProfileConfig', array('file' => 'bitcodin' . DS . 'lib' . DS . 'EncodingProfileConfig.php')); 
// Add this line to import the class from the namespace 
use bitcodin\EncodingProfileConfig; 

Вставьте этот код перед использованием класса EncodingProfileConfig или в начале вашего файла, только после того, как App::uses('AppController', 'Controller');

+0

Я положил его сразу после 'App :: uses ('AppController', 'Controller');', но когда я пытаюсь создать объект с помощью класса '$ Obj = новый EncodingProfileConfig(); 'Я получаю тот же самый класс ошибки, который не найден. – user3172852

+0

Вы использовали правильное имя файла? Я просто предположил, что это 'EncodingProfileConfig.php' чувствительный к регистру –

+1

** https: //github.com/bitmovin/bitcodin-php/blob/8b2b15e46278759382dc9729f6752debedef6b15/lib/EncodingProfileConfig.php#L9** – ndm

0

Используйте этот

App :: импорт ('Vendor', 'имя файла');

Если ваш файл находится в некоторой папке внутри поставщика, укажите папку перед именем файла, например App :: import ('Vendor', 'foldername/filename'); В вашем случае

App :: import ('Vendor', 'bitcodin/lib/filename');

+0

Где я могу вставить это? В моем StreamsController.php? непосредственно перед определением класса? – user3172852

+0

выше conntroller calss определение –

+0

эй вы получили решение –