არტიკოლი

Laravel: რა არის laravel Controllers

MVC ჩარჩოში ასო "C" ნიშნავს Controllers-ს და ამ სტატიაში ვნახავთ როგორ გამოვიყენოთ Controllers Laravel-ში. მოქმედებს როგორც პირდაპირი ტრაფიკი ხედებსა და მოდელებს შორის. ამ სტატიაში ჩვენ ვხედავთ, თუ როგორ შევქმნათ და დავაყენოთ კონტროლერები Laravel-ში.

Creare un controller ლარაველში

შესაქმნელად ა controller, ჩვენ უნდა გავხსნათ ბრძანების სტრიქონი ან ტერმინალი, ოპერაციული სისტემის მიხედვით, რომელსაც ვიყენებთ და აკრიფოთ შემდეგი ბრძანება კონტროლერის გამოყენებით Artisan CLI (Command Line Interface).

php artisan make:controller <controller-name> --plain

ჩანაცვლება <controller-name> შენი სახელით controller. ეს შექმნის ა controller. The controller შექმნილი შეგიძლიათ ნახოთ app/Http/Controllers .

თქვენ ნახავთ, რომ რამდენიმე ძირითადი კოდირება უკვე გაკეთდა თქვენთვის და შეგიძლიათ დაამატოთ თქვენი პირადი კოდირება. The controller შექმნილი შეიძლება გამოიძახოთ web.php-დან შემდეგი სინტაქსით.

სინტაქსი
Route::get(‘base URI’,’controller@method’);
მაგალითად

1 : შექმენით შემდეგი ბრძანება MyController

php artisan make:controller MyController

2 – წარმატებული შესრულების შემდეგ მიიღებთ შემდეგ გამომავალს.

3 – ჩვენ ვიპოვით შექმნილ კონტროლერს app/Http/Controller/MyController.php რამდენიმე ძირითადი კოდით უკვე დაწერილი და ჩვენ შეგვიძლია ცვლილებების შეტანა საჭიროებისამებრ.

კონტროლერის შუალედური პროგრამა

ჩვენ უკვე ვნახეთ middleware და ჩვენ ასევე შეგვიძლია გამოვიყენოთ იგი controller. The middleware ის ასევე შეიძლება მიენიჭოს კონტროლერის მარშრუტს ან კონტროლერის კონსტრუქტორში. შეგიძლიათ გამოიყენოთ მეთოდი middleware დაავალოს middleware al controller. The middleware რეგისტრირებული ასევე შეიძლება შემოიფარგლოს გარკვეული მეთოდებით controller.

შუა პროგრამული უზრუნველყოფის მინიჭება მარშრუტზე
Route::get('profile', [
   'middleware' => 'auth',
   'uses' => 'UserController@showProfile'
]);

აქ ჩვენ ვანიჭებთ ავტორიზაციის შუა პროგრამას UserController-ს პროფილის გზაზე.

Middleware დავალება კონტროლერის კონსტრუქტორის შიგნით
<?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 კონსტრუქტორში MyController .

Გაითვალისწინე $this->middleware() ფუნზიონა მხოლოდ თუ მას კონსტრუქტორში მიაკუთვნებ. თუ დავუძახებთ $this->middleware() კონტროლერის კონკრეტული მეთოდიდან, ის არ გამოტოვებს შეცდომებს, მაგრამ შუა პროგრამა რეალურად არ იმუშავებს.

ეს ვარიანტი მოქმედებს, მაგრამ პირადად მე მირჩევნია ყველა შუალედური პროგრამა დავაყენო მასში routes, რადგან უფრო ნათელია, სად უნდა ვეძებოთ ეს ყველაფერი middleware.

მაგალითად

1 – დავამატოთ ფაილს კოდის შემდეგი სტრიქონები მარშრუტები/ვებ.php და ჩვენ ვზოგავთ.

<?php
Route::get('/mycontroller/path',[
   'middleware' => 'First',
   'uses' => 'MyController@showPath'
]);

2 – შევქმნათ ა middleware დაურეკა FirstMiddleware კოდის შემდეგი ხაზის გაშვებით.

php artisan make:middleware FirstMiddleware

3 : დაამატეთ შემდეგი კოდი მეთოდში გაუმკლავდეს del FirstMiddleware ახლახან შეიქმნა აპლიკაცია/Http/Middleware .

<?php

namespace App\Http\Middleware;
use Closure;

class FirstMiddleware {
   public function handle($request, Closure $next) {
      echo '<br>First Middleware';
      return $next($request);
   }
}

4 – შევქმნათ ა middleware დაურეკა SecondMiddleware შემდეგი ბრძანების გაშვებით.

php artisan make:middleware SecondMiddleware

5 : მოდით დავამატოთ შემდეგი კოდი სახელურის მეთოდში SecondMiddleware ახლახან შეიქმნა აპლიკაცია/Http/Middleware .

საინფორმაციო ბიულეტენი
არ გამოტოვოთ ყველაზე მნიშვნელოვანი სიახლეები ინოვაციების შესახებ. დარეგისტრირდით, რომ მიიღოთ ისინი ელექტრონული ფოსტით.
<?php

namespace App\Http\Middleware;
use Closure;

class SecondMiddleware {
   public function handle($request, Closure $next) {
      echo '<br>Second Middleware';
      return $next($request);
   }
}

6 : შევქმნათ ა controller დაურეკა MyController შემდეგი ხაზის გაშვებით.

php artisan make:controller MyController

7 – მას შემდეგ რაც url წარმატებით შესრულდება, თქვენ მიიღებთ შემდეგ გამომავალს –

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 შიდა ვებ სერვერი შემდეგი ბრძანების გაშვებით, თუ ჯერ არ გაგიკეთებიათ.

php artisan serve

10 – ეწვიეთ შემდეგ URL-ს.

http://localhost:8000/mycontroller/path

11 – გამომავალი გამოჩნდება, როგორც ნაჩვენებია შემდეგ სურათზე.

პრაქტიკულად ორივე შუა პროგრამაა ჩართული, მაგრამ მხოლოდ ერთი

Controller di restful resource

ხშირად აპლიკაციის შექმნისას რაღაცის გაკეთება გჭირდებათ CRUD (Create, Read, Update, Delete)Laravel ამ საქმეს ამარტივებს. უბრალოდ შექმენით ა controller და Laravel უზრუნველყოფს ოპერაციების ყველა მეთოდს ავტომატურად 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 – ახლა ვარეგისტრირებთ MyController-ის ყველა მეთოდს კონტროლერის რესურსით რეგისტრაციით. ქვემოთ მოცემულია მოქმედებების ცხრილი, რომელსაც მართავს რესურსის კონტროლერი.

სიტყვაბილიკიაქციამარშრუტის სახელი
მთავარი/ ჩემიინდექსიჩემი ინდექსი
მთავარი/ჩემი/შექმნაშექმნაჩემი.შექმნა
POST/ ჩემიშესანახადჩემი.მაღაზია
მთავარი/ჩემი ჩემი}დამალვაჩემი.ჩვენება
მთავარი/my/{my}/რედაქტირებაშეცვალონჩემი.რედაქტირება
PUT/PATCH/ჩემი ჩემი}განახლებაmy.update
წაშლა/ჩემი ჩემი}განადგურებაჩემი. განადგურება

5 – სცადეთ ქვემოთ მოცემულ ცხრილში ნაჩვენები URL-ების გაშვება.

URLაღწერაგასვლა
http://localhost:8000/myშეასრულეთ MyController.php-ის ინდექსის მეთოდიინდექსი
http://localhost:8000/my/createშეასრულეთ MyController.php-ის შექმნის მეთოდიშექმნა
http://localhost:8000/my/1შეასრულეთ MyController.php-ის შოუ მეთოდიდამალვა
http://localhost:8000/my/1/editშეასრულეთ MyController.php-ის რედაქტირების მეთოდიშეცვალონ

Ercole Palmeri

საინფორმაციო ბიულეტენი
არ გამოტოვოთ ყველაზე მნიშვნელოვანი სიახლეები ინოვაციების შესახებ. დარეგისტრირდით, რომ მიიღოთ ისინი ელექტრონული ფოსტით.

ბოლო სტატიები

როგორ გავაერთიანოთ მონაცემები Excel-ში

ნებისმიერი ბიზნეს ოპერაცია აწარმოებს უამრავ მონაცემს, თუნდაც სხვადასხვა ფორმით. ხელით შეიყვანეთ ეს მონაცემები Excel ფურცლიდან…

14 მაისი 2024

ინტერფეისის სეგრეგაციის პრინციპი (ISP), მეოთხე SOLID პრინციპი

ინტერფეისის სეგრეგაციის პრინციპი არის ობიექტზე ორიენტირებული დიზაინის ხუთი მყარი პრინციპიდან ერთ-ერთი. კლასს უნდა ჰქონდეს…

14 მაისი 2024

როგორ მოვაწყოთ მონაცემები და ფორმულები საუკეთესოდ Excel-ში, კარგად გაკეთებული ანალიზისთვის

Microsoft Excel არის მონაცემთა ანალიზის საცნობარო ინსტრუმენტი, რადგან ის გთავაზობთ მრავალ ფუნქციას მონაცემთა ნაკრების ორგანიზებისთვის,…

14 მაისი 2024

დადებითი დასკვნა ორი მნიშვნელოვანი Walliance Equity Crowdfunding პროექტისთვის: Jesolo Wave Island და Milano Via Ravenna

Walliance, SIM და პლატფორმა ევროპის ლიდერებს შორის უძრავი ქონების Crowdfunding-ის სფეროში 2017 წლიდან, აცხადებს დასრულებას…

13 მაისი 2024

რა არის Filament და როგორ გამოვიყენოთ Laravel Filament

Filament არის "აჩქარებული" Laravel განვითარების ჩარჩო, რომელიც უზრუნველყოფს რამდენიმე სრული დასტას კომპონენტს. იგი შექმნილია პროცესის გასამარტივებლად…

13 მაისი 2024

ხელოვნური ინტელექტის კონტროლის ქვეშ

„მე უნდა დავბრუნდე, რომ დავასრულო ჩემი ევოლუცია: მე კომპიუტერში საკუთარ თავს პროექტირებას მოვახდენ და სუფთა ენერგია გავხდები. მას შემდეგ რაც დასახლდა…

10 მაისი 2024

Google-ის ახალ ხელოვნურ ინტელექტს შეუძლია დნმ-ის, რნმ-ის და „სიცოცხლის ყველა მოლეკულის“ მოდელირება.

Google DeepMind წარმოგიდგენთ ხელოვნური ინტელექტის მოდელის გაუმჯობესებულ ვერსიას. ახალი გაუმჯობესებული მოდელი უზრუნველყოფს არა მხოლოდ…

9 მაისი 2024

წაიკითხეთ ინოვაცია თქვენს ენაზე

საინფორმაციო ბიულეტენი
არ გამოტოვოთ ყველაზე მნიშვნელოვანი სიახლეები ინოვაციების შესახებ. დარეგისტრირდით, რომ მიიღოთ ისინი ელექტრონული ფოსტით.

Follow us

ბოლო სტატიები