Creare un controller
у ларавелЗа стварање а controller
, морамо отворити командну линију или терминал, у складу са оперативним системом који користимо, и откуцати следећу команду да креирамо контролер користећи Artisan CLI (Command Line Interface).
php artisan make:controller <controller-name> --plain
Заменити <controller-name>
са својим именом controller
. Ово ће створити а controller
. Тхе controller
креирана може се погледати у app/Http/Controllers
.
Видећете да је неко основно кодирање већ урађено за вас и да можете додати сопствено прилагођено кодирање. Тхе controller
креиран може се позвати из веб.пхп са следећом синтаксом.
Route::get(‘base URI’,’controller@method’);
1 : Покрените следећу команду да бисте креирали MyController
php artisan make:controller MyController
2 – Након успешног извршења, добићете следећи излаз.
3 – Пронаћи ћемо контролер креиран у app/Http/Controller/MyController.php
са неким већ написаним основним кодом и можемо да извршимо измене по потреби.
Већ смо видели middleware
а можемо га користити и са controller
. Тхе middleware
такође се може доделити рути контролера или унутар конструктора контролера. Можете користити метод middleware
да доделите middleware
al controller
. Тхе middleware
регистровани такође могу бити ограничени на одређене методе controller
.
Route::get('profile', [
'middleware' => 'auth',
'uses' => 'UserController@showProfile'
]);
Овде додељујемо средњи софтвер за аутентификацију УсерЦонтроллер-у у путањи профила.
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class MyController extends Controller {
public function __construct() {
$this->middleware('auth');
}
}
Овде додељујемо middleware
аутентификације користећи методу middleware
у конструктору МиЦонтроллер .
Напоменути да $this->middleware()
фунзиона само ако га доделите у конструктору. Ако позовемо $this->middleware()
из одређене методе контролера, неће бацити никакве грешке, али међувера заправо неће радити.
Ова опција је важећа, али лично више волим да ставим сав средњи софтвер у routes
, јер је јасније где све тражити middleware
.
1 – Хајде да додамо следеће линије кода у датотеку роутес/веб.пхп а ми штедимо.
<?php
Route::get('/mycontroller/path',[
'middleware' => 'First',
'uses' => 'MyController@showPath'
]);
2 – Хајде да створимо а middleware
позвао FirstMiddleware
покретањем следећег реда кода.
php artisan make:middleware FirstMiddleware
3 : додајте следећи код у методу руковати дел FirstMiddleware
управо створен у апп/Хттп/Миддлеваре .
<?php
namespace App\Http\Middleware;
use Closure;
class FirstMiddleware {
public function handle($request, Closure $next) {
echo '<br>First Middleware';
return $next($request);
}
}
4 – Хајде да створимо а middleware
позвао СецондМиддлеваре покретањем следеће команде.
php artisan make:middleware SecondMiddleware
5 : хајде да додамо следећи код у методу ручке SecondMiddleware
управо створен у апп/Хттп/Миддлеваре .
<?php
namespace App\Http\Middleware;
use Closure;
class SecondMiddleware {
public function handle($request, Closure $next) {
echo '<br>Second Middleware';
return $next($request);
}
}
6 : хајде да направимо а controller
позвао МиЦонтроллер покретањем следећег реда.
php artisan make:controller MyController
7 – Након што се УРЛ успешно изврши, добићете следећи излаз –
8 – Копирајте следећи код у датотеку app/Http/MyController.php
.
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class MyController extends Controller {
public function __construct() {
$this->middleware('Second');
}
public function showPath(Request $request) {
$uri = $request->path();
echo '<br>URI: '.$uri;
$url = $request->url();
echo '<br>';
echo 'URL: '.$url;
$method = $request->method();
echo '<br>';
echo 'Method: '.$method;
}
}
9 – Хајде сада да покренемо пхп интерни веб сервер тако што ћемо покренути следећу команду, ако већ нисте.
php artisan serve
10 – Посетите следећу УРЛ адресу.
http://localhost:8000/mycontroller/path
11 – Излаз ће се појавити као што је приказано на следећој слици.
Практично су укључена оба међувера, али само један
Controller
di restful resource
Често када креирате апликацију морате нешто да урадите CRUD (Create, Read, Update, Delete)
. Ларавел олакшава овај посао. Само креирајте а controller
а Ларавел ће аутоматски обезбедити све методе за операције CRUD
. Такође можемо да снимимо једну путању до свих метода у датотеци route.php
.
1 : креирајте контролер под називом MyController
покретањем следеће команде.
php artisan make:controller MyController
2 : додајте следећи код app/Http/Controllers/MyController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class MyController extends Controller {
public function index() {
echo 'index';
}
public function create() {
echo 'create';
}
public function store(Request $request) {
echo 'store';
}
public function show($id) {
echo 'show';
}
public function edit($id) {
echo 'edit';
}
public function update(Request $request, $id) {
echo 'update';
}
public function destroy($id) {
echo 'destroy';
}
}
3 – Хајде да додамо следећи ред кода у датотеку routes/web.php
.
Route::resource('my','MyController');
4 – Сада региструјемо све методе МиЦонтроллер-а тако што региструјемо контролер са ресурсом. Испод је табела радњи којима управља контролор ресурса.
Верб | Путања | акција | Име руте |
---|---|---|---|
ГЕТ | / мој | индекс | мој индекс |
ГЕТ | /ми/цреате | створити | ми.цреате |
ПОСТ | / мој | складиштење | моја радња |
ГЕТ | /мој/{мој} | шоу | моја.схов |
ГЕТ | /мој/{мој}/уреди | едит | ми.едит |
ПУТ/ПАТЦХ | /мој/{мој} | ажурирање | ми.упдате |
ДЕЛЕТЕ | /мој/{мој} | уништити | мој уништити |
5 – Покушајте да покренете УРЛ адресе приказане у табели испод.
УРЛ адреса | опис | Излаз |
---|---|---|
http://localhost:8000/my | Извршите индексни метод МиЦонтроллер.пхп | индекс |
http://localhost:8000/my/create | Извршите метод креирања МиЦонтроллер.пхп | да створи |
http://localhost:8000/my/1 | Извршите схов метод МиЦонтроллер.пхп | шоу |
http://localhost:8000/my/1/edit | Извршите метод за уређивање МиЦонтроллер.пхп | едит |
Ercole Palmeri
Гоогле ДеепМинд представља побољшану верзију свог модела вештачке интелигенције. Нови побољшани модел пружа не само…
Ларавел, познат по својој елегантној синтакси и моћним карактеристикама, такође пружа солидну основу за модуларну архитектуру. Тамо…
Цисцо и Сплунк помажу корисницима да убрзају своје путовање до Центра за безбедносне операције (СОЦ) будућности са…
Рансомваре је доминирао вестима последње две године. Већина људи је свесна да напади…
Операција офталмопластике помоћу комерцијалног прегледача Аппле Висион Про обављена је у Поликлиници у Катанији…
Развијање финих моторичких вештина кроз бојење припрема децу за сложеније вештине попут писања. Боји…
Поморски сектор је права глобална економска сила, која је кренула ка тржишту од 150 милијарди...
Прошлог понедељка, Финанциал Тимес је објавио договор са ОпенАИ. ФТ лиценцира своје новинарство светске класе…