Контроллеры хранятся в папке app/http/controllers/. Этот путь, в свою очередь определен в файле composer.json в настройке classmap.
Все контроллеры должны наследовать класс BaseController. Этот класс также может хранится в папке app/controllers, и в него можно поместить общую логику для других контроллеров.BaseControllerрасширяет базовый класс Controller.
Для создания контроллера в консоли прописали данную команду:
php artisan make:controller NewsController.
Есть несколько способов определения маршрута для контроллера.
В файле app/routes.php.
1.Определение маршрута для контроллера с помощью метода get:
Route::get('static', 'StaticController@index');
2.С помощью метода cotroller:
Route::controller( 'cabinet' => 'CabinetController', );
3. С помощью метода controllers:
Route::controllers([ 'cabinet' => 'CabinetController', 'user' => 'UserController', 'works' => 'WorksController', 'portfolio' => 'PortfolioController', 'auth' => 'Auth\AuthController', 'password' => 'Auth\PasswordController', ]);
А вот так будет выглядеть сам контроллер:
namespace App\Http\Controllers; class CabinetController extends BaseController { public function getIndex() { echo 'Ok'; } }
Рассмотрим для создания каталога:
Namespace App\Http\Controllers; use App\Catalog; use Illuminate\Http\Request; use App\Http\Requests; class CatalogController extends Controller { public function getIndex(){ $text=Catalog::where('url','index')->first(); return view('catalog')->with('text',$text); } public function getAll(){ $all = Catalog::get(); return view('catalogall')->with('all', $all); } }
Дата | Выполнено, % |
---|---|
2019-03-12 11:54:41 | 10 |
2019-03-04 20:05:42 | 36 |
2019-03-12 08:54:41 | 100 |