2016-09-25 2 views
0

Я хочу использовать некоторый JSON API в качестве удаленного источника данных. Я нашел плагин Webservice с помощью UseMuffin.Cakephp 3 - как зарегистрировать тип (loadmodel in controller)

У меня есть ясная установка CakePHP (последняя).

После того как я следовал все шаги, предусмотренные в разделе «Использование» этого плагина (https://github.com/UseMuffin/Webservice) я застрял на ошибку Unknown repository type "Endpoint". Make sure you register a type before trying to use it..

Не знаете, как зарегистрировать этот тип. Я попытался

public function beforeFilter(Event $event) 
    { 
     $this->modelFactory(
      'Endpoint', 
      ['Endpoint', 'factory'] 
     ); 
     $this->loadModel('Articles', 'Endpoint'); 
    } 

но получил аргумент 2 передается Пирог \ Controller \ Контролера :: modelFactory() должны быть отозваны, массив дал ошибку.

+0

Параметр 'Завод Endpoint' должен пройти регистрацию в диспетчерском фильтр, который поставляется с плагином. ** https: //github.com/UseMuffin/Webservice/blob/1.0.2/src/Routing/Filter/ControllerEndpointFilter.php#L38** – ndm

+0

Может быть. Но если я использую только '$ this-> loadModel (« Статьи »,« Конечная точка »), появляется ошибка« Неизвестный тип репозитория »« Конечная точка ». – user1327

+0

Я знаю, это был лишь намек, поэтому у вас есть что-то, где вы можете начать отладку. – ndm

ответ

0

Try с:

use Cake\Datasource\ModelAwareTrait; 
class YourClassName 
{ 
    use ModelAwareTrait; 
    public function abc() { 
     $this->modelFactory('Endpoint', ['Muffin\Webservice\Model\EndpointRegistry', 'get']); 
     // and then 
     $this->loadModel('Articles', 'Endpoint'); 
    }  

}