Увод у Ларавел контролере

Читава ваша апликација може се креирати само коришћењем затварача у датотеци роуте.пхп, постала би неуредна, али биће и изведива. Шта ако евентуално можете организовати читав процес уз помоћ класа Контролера? Да видимо како. Контролери су у могућности да се групи у оквиру једне класе, са свим повезаним логикама руковања захтевима. Апликација директорија / Хттп / Цонтроллерс одговорна је за складиштење контролера. У оквиру МВЦ, 'Ц' означава Цонтроллер који дјелује као усмеравање саобраћаја усред погледа и модела. У овој теми ћемо сазнати о Ларавел контролерима.

Списак Ларавел контролера

Ево списка списка Ларавел контролера

1. Основни контролери

Испод можете погледати основни пример класе контролера. Овде можете приметити да „МиЦонтроллер“ проширује „Цонтроллер“. Овде је „Цонтроллер“ основна класа. Базна класа „Цонтроллер“ пружа методе попут „мидваре“, „диспатцх“ и „валидате“ метода што га чини погодним. Помоћу средњег софтвера можете га доделити рути контролера или у конструктору вашег контролера.

<_?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use App\User;
class MyController extends Controller
(
/**
* Show profile
*
*/
public function show($id)
(
return view('user.profile', ('user' => User::foundOrLost($id)));
)
)

Пут до МиЦонтроллер-а може се дефинисати овако:

Route::get('user/(id)', ' ');

Додјељивање средњег софтвера у датотеке са рутама:

Route::get('profile', ' ')->middleware('auth');

Када се УРИ руте подудара с одређеним захтјевом, тада се метода 'покаже' у класи 'МиЦонтроллер' извршава, а параметри наведени у рути добивају се додијељени и методи.

Неколико додатних трешања за вас:

  • Нема потребе да се помиње пуни именски простор за контролер, јер се „РоутеСервицеПровидер“ аутоматски учитава у групу рута која садржи именски простор, све датотеке руте. Једноставно морате навести онај дио имена који ће се појавити након Апп \ Хттп \ Цонтроллерс.
  • Ако желите да дефинишете контролер једноструке акције, то ћете моћи учинити тако што ћете на контролер ставити једну методу „__инвоке“.

2. Контролери ресурса

Приликом креирања апликације потребно нам је обављање операција ЦРУД (Стварање, читање, ажурирање, брисање). Са Ларавел регулаторима ресурса, само је потребно да направите регулатор и да можете оставити одмор на Ларавелу. Рута ресурса Ларавел доделит ће ЦРУД руте рада том контролеру само са једном линијом кодирања. Једна рута може се регистровати за све методе у датотеци роуте.пхп.

Узмимо пример, претпоставимо да за вашу апликацију желите да направите контролер који обрађује све долазне ХТТП захтеве у односу на „слике“ сачуване. То ће бити брзо урађено уз помоћ Артисан команде. Погледајмо Артисан команду 'маке: цонтроллер' брзо да бисмо створили један сличан контролер на следећи начин:

php artisan make:controller ImageController --resource

Контролор ће бити генерисан у апликацији / Хттп / Контролери / ИмагеЦонтроллер.пхп помоћу горње команде. Овај контролер ће се састојати од методе посвећене свакој доступној операцији ресурса.

Сада можете прогласити руту за обраду различитих акција попут ове:

Route::resource('images', 'ImageController');

Ова декларација руте ствара много рута које могу поднијети бројне акције. Овај контролер ће имати посебне методе за сваку доступну радњу. Такође ће садржати белешке које ће вас обавестити о УРИ и ХТТП глаголима којима се рукује.

Ако желите да региструјете више регулатора ресурса у једном потезу, то можете учинити помоћу низа, као што је приказано у наставку:

Route::resources((
'images' => 'ImageController',
'posts' => 'PostController'
));

Табела акција

ВербУРИ / ПутАцтион ЕвентНазив руте
ПОШТА/ сликепродавницаимагес.сторе
ДОБИТИ/ сликеиндексимагес.индек
ДОБИТИ/ слике / створиКреирајимагес.цреате
ДОБИТИ/ слике / (имаге)Прикажиимагес.схов
ПУТ / ПАТЦХ/ слике / (имаге)ажурирањеимагес.упдате
ДОБИТИ/ имагес / (имаге) / уредиУредитиимагес.едит
ДЕЛЕТЕ/ слике / (имаге)уништитиимагес.дестрои

3. Неизречени контролери

Помоћу ових контролера можете управљати сваком радњом само дефинисањем једне руте. Прво морате дефинирати руту користећи Роуте :: контролер овако:

Route::controller('users', 'MyController');

Ево, два аргумента се предају контролеру.

  1. Основни УРИ
  2. Име класе контролера

Сада само требате додати методе у „МиЦонтроллер“ са ХТТП глаголом префиксом на њих.

class MyController extends Controller (
public function getIndex()
(
//
)
public function anyLogin()
(
//
)
public function postProfile()
(
//
)
)

Методе 'индекс' ће одговарати на 'кориснике', што је роот / басе УРИ којим управља Цонтроллер.

Радњи са више речи може се приступити коришћењем „цртице“ у УРИ-ју. Погледајте ниже акције контролера као пример:

public function getAdminProfile() ()

Ова радња контролера у МиЦонтроллер-у ће одговорити на УРИ „кориснике / профиле-администраторе“.

4. Убризгавање зависности и контролери

Убризгавање зависности олакшава ваше веб апликације да се тестирају и одржавају.

1. Убризгавање конструктора

Ларавел управља зависности класе и решава све контролере. Вашем контролеру ће можда требати зависности у конструктору, а помоћу Ларавела можете наговестити готово сваку од тих зависности. Ларавел сервисни контролер аутоматски ће разрешити све зависности и убризгаће их у инстанцу контролера.

<_?php
namespace App\Http\Controllers;
use App\Repositories\UserRepository;
class MyController extends Controller
(
/**
* The user repository instance.
*/
protected $users;
/**
* Create a new controller instance.
*
* @param UserRepository $users
* @return void
*/
public function __construct(UserRepository $users)
(
$this->users = $users;
)
)

2. Метода убризгавања

Поред убризгавања зависности у конструктор, можете их навести и у методе вашег контролера. На пример, на пример Иллуминате \ Хттп \ Рекуест може се убризгати у методу контролера на следећи начин:

<_?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class MyController extends Controller
(
/**
* Store a new user.
*
* @param Request $request
* @return Response
*/
public function store(Request $request)
(
$name = $request->name;
//
)
)

Карактеристике Ларавел контролера

Испод је неколико карактеристика ларавел регулатора:

  • МВЦ подршка: Ларавел подржава МВЦ Арцхитецтуре. Развој чини убрзаним јер један корисник може радити на логици, док други ради на погледу. Више модела је подржано за модел без дуплирања, јер је пословна логика одвојена од логике презентације.
  • Аутентификација: Ларавел има уграђени систем за аутентификацију, морате водити рачуна само о другим аспектима попут конфигурирања погледа, модела и контролера.
  • Сигурност: Сигурност је најважнији фактор који треба узети у обзир у развоју апликације. Ларавел обезбеђује сигурност својом уграђеном сигурношћу апликације.
  • Артисан: Артисан помаже у извршавању понављајућих задатака, а да их програмери не могу ручно обављати. Они се могу користити за креирање структуре базе података, кода, миграције како би се учинила управљивом.
  • Предлошци: Помоћу иновативног и моћног механизма предложака компаније Ларавел, програмери могу да креирају динамичне веб апликације.

Препоручени чланци

Ово је водич за Ларавел контролере. Овдје смо расправљали о приличном броју концепата контролера Ларавел који ће вам омогућити да креирате свој властити контролер за вашу апликацију, који ће истовремено бити сигуран и моћан. Такође можете погледати следећи чланак да бисте сазнали више -

  1. Шта је Ларавел Фрамеворк?
  2. Ларавел Цоммандс
  3. Шта је Ларавел?
  4. Шта је сервлет?

Категорија: