Я разрабатываю приложение с Laravel 5.2, оно должно быть выполнено RESTFUL. Также очень легко реализовать ресурсы RESTful в Laravel. например, для получения всех категорий в формате json
в routes
мы просто должны добавить
Route::resource('category', 'CategoryController');
а затем в CategoryController
мы будем иметь это для возврата объекта JSON
всех категорий:
class CategoryController extends Controller public function index() { $categories = Category::all(); return view('category.index', ['categories' => $categories]); }
mydomain.com\category
будет автоматически сопоставлена с указанной функцией
Мобильные приложения и веб-приложение должны иметь дело с единым интерфейсом. очевидно, что мобильное приложение (ы) отправит запрос на вышеуказанный URl (ourdomain.com/category), а затем они будут анализировать JSON
и отображать. но когда дело доходит до веб-приложения, я немного запутался в том, как реализовать routes
и их корреспондентские функции в Controllers
могу ли я создавать новые функции в любом формате, который мне нравится?
например: для отображения категорий на веб-странице рекомендуется создать новую функцию в одном контроллере и вызвать ее, например, displayAll
public function displayAll() { $categories = Category::all(); return view('category.index', ['categories' => $categories]); }
и добавление маршрута, как
Route::get('category/all', 'CategoryController@displayAll()')
в файл routes
? или существует ли какое-либо конкретное соглашение для подчинения или это хорошая практика, чтобы добавить эти функции в один и тот же Controller
или создать новый контроллер?