2014-09-13 3 views
0

У меня есть существующий веб-сайт, и теперь я хочу добавить к нему REST-интерфейс в поддиректории api. Я не могу заставить это работать с версиями. Я установил, как так (без ошибок):Не удается получить laravel/database and restler, работающий с версией

$ php ~/bin/composer.phar create-project laravel/database --prefer-dist api 
$ cd api 
$ php ~/bin/composer.phar require restler/framework 3.0.0-RC6 

Тогда я раскомментировать строки в общественных местах/index.php связанных с Restler и добавить новый класс API, который просто Echos строку. Если я запустил это через php artisan serve и посмотрю на него через URL-адрес localhost, тогда метод работает.

Теперь я хочу, чтобы включить управление версиями, так что я добавил эти строки в государственные/index.php

use Luracast\Restler\Defaults; 
Defaults::$useUrlBasedVersioning = true; 

И в приложение/контроллеры я создал каталог v1 и переехавшие test.php в это. Я также добавил директиву пространства имен в файл формата namespace A\B\v1

Когда я перезапускаю сервер artisan и запрашиваю API, я получаю ошибку 404. Я пробовал как http://localhost:8000/Test, так и http://localhost:8000/v1/Test

Что я забыл сделать?

ответ

1

Вот как я сделал это для работы. Обратите внимание на папку, в которую я поместил файл класса api.

в index.php

use Luracast\Restler\Restler; 
use Luracast\Restler\Defaults; 
Defaults::$useUrlBasedVersioning = true; 

$r = new Restler(); 
$r->addAPIClass('A\B\Test'); 

test.php хранится в app/controllers/A/B/v1/Test.php

<?php namespace A\B\v1; 

class Test 
{ 
    public function get() 
    { 
     return 'working'; 
    } 
} 

Оба http://localhost:8000/v1/test и http://localhost:8000/test возвращения "working"

+0

Ну теперь я чувствую себя глупо :) – Gargoyle

+0

@Luracast: У меня есть добавлен $ r-> addAPIClass ('Luracast \\ Restler \\ Resources'); line в index.php, чтобы я мог использовать explorer/documentation, но он не работает и дает 500 Internal Server Error .. Также я попытался прокомментировать строку require_once '../../../vendor/restler. PHP '; в действительных примерах restler & он дает ту же самую 500 Внутреннюю ошибку сервера , поэтому я пытаюсь добавить этот файл (из примеров) в существующий, но все же он не будет работать для меня ... Можете ли вы помочь PLZ – anasanjaria

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