Laravel https://dongthoigian.net/phan-mem/laravel/ Khám phá những thủ thuật máy tính Sat, 27 Nov 2021 14:50:37 +0000 vi hourly 1 https://wordpress.org/?v=6.7.1 https://dongthoigian.net/wp-content/uploads/2021/07/cropped-logo-dongthoigian-32x32.png Laravel https://dongthoigian.net/phan-mem/laravel/ 32 32 Laravel – Hashing https://dongthoigian.net/laravel-hashing/ https://dongthoigian.net/laravel-hashing/#respond Sat, 27 Nov 2021 14:48:13 +0000 https://dongthoigian.net/?p=9384 Hashing là quá trình biến đổi một chuỗi ký tự thành một giá trị cố định ngắn hơn hoặc một khóa đại diện cho chuỗi ban đầu. Laravel sử dụng mặt tiền Hash cung cấp một cách an toàn để lưu trữ mật khẩu theo cách băm.

The post Laravel – Hashing appeared first on Dongthoigian.

]]>
Hashing là quá trình biến đổi một chuỗi ký tự thành một giá trị cố định ngắn hơn hoặc một khóa đại diện cho chuỗi ban đầu. Laravel sử dụng mặt tiền Hash cung cấp một cách an toàn để lưu trữ mật khẩu theo cách băm.

Cách sử dụng cơ bản

Ảnh chụp màn hình sau đây cho thấy cách tạo bộ điều khiển có tên 

passwordController được sử dụng để lưu trữ và cập nhật mật khẩu

laravel

Các dòng mã sau giải thích chức năng và cách sử dụng passwordController 

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;
use App\Http\Controllers\Controller

class passwordController extends Controller{
   /**
      * Updating the password for the user.
      *
      * @param Request $request
      * @return Response
   */
   
   public function update(Request $request) {
      // Validate the new password length...
      $request->user()->fill([
         'password' => Hash::make($request->newPassword) // Hashing passwords
      ])->save();
   }
}

Mật khẩu đã băm được lưu trữ bằng cách sử dụng phương thức tạo . Phương pháp này cho phép quản lý hệ số công việc của thuật toán băm bcrypt , được sử dụng phổ biến trong Laravel.

Xác minh mật khẩu chống lại băm

Bạn nên xác minh mật khẩu dựa trên băm để kiểm tra chuỗi được sử dụng để chuyển đổi. Đối với điều này, bạn có thể sử dụng phương pháp kiểm tra . Điều này được hiển thị trong đoạn mã dưới đây

if (Hash::check('plain-text', $hashedPassword)) {
   // The passwords match...
}

Lưu ý rằng phương thức kiểm tra so sánh văn bản thuần túy với biến hashedPassword và nếu kết quả là true, nó sẽ trả về giá trị true

Laravel – Understanding Release Process quy trình phát hành

Mỗi khuôn khổ ứng dụng web đều có lịch sử phiên bản riêng và nó luôn được cập nhật và duy trì. Mọi phiên bản mới nhất đều mang đến chức năng mới và các chức năng đã được thay đổi hoặc không còn được dùng nữa, vì vậy điều quan trọng là bạn phải biết phiên bản nào sẽ phù hợp với các dự án của mình.

Khi nói đến Laravel, có hai phiên bản đang hoạt động như được đưa ra bên dưới:

  • Laravel 4- phát hành vào tháng 5 năm 2013
  • Laravel 5.1- phát hành vào tháng 2 năm 2015

Laravel 5.1 cũng bao gồm các bản phát hành khác nhau với phiên bản mới nhất của Laravel 5.1.5 bao gồm tất cả các tính năng mạnh mẽ để phát triển web. Lộ trình của Laravel hoặc phiên bản phát hành được hiển thị trong hình ảnh bên dưới

laravel

Những điểm sau đáng chú ý trong bối cảnh tìm hiểu quá trình phát hành của Laravel:

  • Thư mục cũ của ứng dụng / mô hình bị xóa trong Laravel 5.1.
  • Tất cả các bộ điều khiển, phần mềm trung gian và các yêu cầu được nhóm trong một thư mục trong thư mục app / Http.
  • Một thư mục mới cụ thể là thư mục Nhà cung cấp được thay thế bằng các tệp ứng dụng / bắt đầu trong các phiên bản trước của Laravel 4.x.
  • Tất cả các tệp ngôn ngữ và dạng xem được chuyển đến thư mục tài nguyên .
  • Tuyến lệnh thủ công mới : bộ đệm được sử dụng để đăng ký các tuyến mới và được bao gồm trong việc phát hành Laravel 5.1 và các phiên bản khác.
  • Laravel hỗ trợ phần mềm trung gian HTTP và cũng bao gồm mã thông báo CSRF và mô hình xác thực.

Tất cả các mô hình xác thực được đặt trong một thư mục cụ thể là tài nguyên / lượt xem / auth . Nó bao gồm đăng ký người dùng, xác thực và bộ điều khiển mật khẩu.

Bản phát hành Laravel

Phiên bảnGiải phóngCác bản sửa lỗi cho đến khiCác bản sửa lỗi bảo mật cho đến khi
V1Tháng 6 năm 2011
V2Tháng 9 năm 2011
v3Tháng 2 năm 2012
v4Tháng năm 2013
5.0Ngày 4 tháng 2 năm 2015Ngày 4 tháng 8 năm 2015Ngày 4 tháng 2 năm 2016
5.1 (LTS)Ngày 9 tháng 6 năm 2015Ngày 9 tháng 6 năm 2017Ngày 9 tháng 6 năm 2018
5.2Ngày 21 tháng 12 năm 2015Ngày 21 tháng 6 năm 2016Ngày 21 tháng 12 năm 2016
5.3Ngày 23 tháng 8 năm 2016Ngày 23 tháng 2 năm 2017Ngày 23 tháng 8 năm 2017
5,4Ngày 24 tháng 1 năm 2017Ngày 24 tháng 7 năm 2017Ngày 24 tháng 1 năm 2018
5,5 (LTS)Ngày 30 tháng 8 năm 2017Ngày 30 tháng 8 năm 2019Ngày 30 tháng 8 năm 2020
5,6Ngày 7 tháng 2 năm 2018Ngày 7 tháng 8 năm 2018Ngày 7 tháng 2 năm 2019
5,74 thg 9, 2018Ngày 4 tháng 2 năm 2019Ngày 4 tháng 9 năm 2019

Lưu ý rằng phiên bản được đánh dấu đánh dấu bản phát hành mới nhất

Laravel – Guest User Gates người dùng khách

Tính năng Cổng Người dùng Khách là một tiện ích bổ sung cho phiên bản 5.7 mới nhất được phát hành vào tháng 9 năm 2018. Tính năng này được sử dụng để bắt đầu quá trình cấp quyền cho những người dùng cụ thể. Trong Laravel 5.6, có một thủ tục mà nó được sử dụng để trả về false cho những người dùng chưa được xác thực. Trong Laravel 5.7, chúng tôi có thể cho phép khách kiểm tra ủy quyền bằng cách sử dụng gợi ý loại nullable cụ thể trong bộ điều khiển được chỉ định như được cung cấp bên dưới:

<?php
Gate::define('view-post', function (?User $user) {
   // Guests
});

Giải thích về Quy tắc

Bằng cách sử dụng kiểu nullable, gợi ý rằng biến $ user sẽ là null khi người dùng khách được chuyển đến cổng. Sau đó, bạn có thể đưa ra quyết định về việc cho phép hành động. Nếu bạn cho phép kiểu nullable và trả về true, thì khách sẽ có quyền. Nếu bạn không sử dụng gợi ý kiểu nullable, khách sẽ tự động nhận được phản hồi 403 cho Laravel 5.7, được hiển thị bên dưới: Sự khác biệt giữa lỗi 403 và 404 là lỗi 404 được hiển thị khi người dùng cố gắng truy cập tài nguyên hoặc URL không xác định và lỗi 403 như đã đề cập trong ảnh chụp nhanh ở trên được hiển thị nếu người dùng truy cập trái phép trang web

Laravel – Artisan Commands Lệnh Artisan

Laravel 5.7 đi kèm với cách xử lý và thử nghiệm các lệnh mới. Nó bao gồm một tính năng mới là thử nghiệm các lệnh của nghệ nhân và phần trình diễn được đề cập bên dưới:

class ArtisanCommandTest extends TestCase{
   public function testBasicTest() {
      $this->artisan('nova:create', [
         'name' => 'My New Admin panel'
      ])
      ->expectsQuestion('Please enter your API key', 'apiKeySecret')
      ->expectsOutput('Authenticating...')
      ->expectsQuestion('Please select a version', 'v1.0')
      ->expectsOutput('Installing...')
      ->expectsQuestion('Do you want to compile the assets?', 'yes')
      ->expectsOutput('Compiling assets...')
      ->assertExitCode(0);
   }
}

Giải thích mã

Ở đây, một lớp mới có tên “ArtisanCommandTest” được tạo trong mô-đun trường hợp thử nghiệm. Nó bao gồm một testBasicTest chức năng cơ bản bao gồm các chức năng khác nhau của các xác nhận.

Lệnh thủ công mong đợiQuestion bao gồm hai thuộc tính. Một với câu hỏi và một với apiKeySecret . Ở đây, nghệ nhân xác thực apiKeySecret và xác minh đầu vào do người dùng gửi. Tình huống tương tự cũng áp dụng cho câu hỏi “Vui lòng chọn phiên bản” trong đó người dùng dự kiến ​​sẽ đề cập đến một phiên bản cụ thể

Laravel – Pagination Customizations Tùy chỉnh phân trang

Laravel bao gồm một tính năng phân trang giúp người dùng hoặc nhà phát triển đưa vào một tính năng phân trang. Trình phân trang Laravel được tích hợp với trình tạo truy vấn và Eloquent ORM. Phương thức phân trang tự động đảm nhận việc thiết lập giới hạn cần thiết và độ lệch được xác định. Nó chỉ chấp nhận một tham số để phân trang tức là số lượng mục được hiển thị trong một trang.

Laravel 5.7 bao gồm một phương pháp phân trang mới để tùy chỉnh số lượng trang trên mỗi mặt của trình phân trang. Phương pháp mới không còn cần dạng xem phân trang tùy chỉnh. Trình diễn mã chế độ xem phân trang tùy chỉnh được đề cập bên dưới

<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\DB;
use App\Http\Controllers\Controller;
class UserController extends Controller{
   /**
   * Show all of the users for the application.
   *
   * @return Response
   */
   public function index() {
      $users = DB::table('users')->paginate(15);
      return view('user.index', ['users' => $users]);
   }
}

Tùy chỉnh phân trang mới theo tiêu chuẩn Laravel được đề cập bên dưới:

<?php
User::paginate(10)->onEachSide(5);

Lưu ý rằng onEachSide đề cập đến việc chia nhỏ từng bản ghi phân trang với 10 và chia nhỏ là 5.

Laravel – Dump Server Máy chủ Dump

Máy chủ kết xuất Laravel đi kèm với phiên bản Laravel 5.7. Các phiên bản trước không bao gồm bất kỳ máy chủ kết xuất nào. Máy chủ kết xuất sẽ là một phần phụ thuộc phát triển trong tệp trình soạn nhạc laravel / laravel. Với việc phát hành phiên bản 5.7, bạn sẽ nhận được lệnh này bao gồm một khái niệm out-of-thebox cho phép người dùng kết xuất dữ liệu vào bảng điều khiển hoặc tệp HTML thay vì vào trình duyệt. Việc thực thi lệnh được đề cập bên dưới

php artisan dump-server
# Or send the output to an HTML file
php artisan dump-server --format=html > dump.html

Giải trình

Lệnh chạy một máy chủ trong nền giúp thu thập dữ liệu được gửi từ ứng dụng, gửi kết quả thông qua bảng điều khiển. Khi lệnh không chạy ở nền trước, hàm dump () dự kiến ​​sẽ hoạt động theo mặc định.

Laravel – Action URL

Laravel 5.7 giới thiệu một tính năng mới được gọi là “URL hành động có thể gọi”. Tính năng này tương tự như tính năng trong Laravel 5.6 chấp nhận phương thức chuỗi trong hành động. Mục đích chính của cú pháp mới được giới thiệu Laravel 5.7 là cho phép bạn truy cập trực tiếp vào bộ điều khiển. Cú pháp được sử dụng trong phiên bản Laravel 5.6 như sau:

<?php
$url = action('UserController@profile', ['id' => 1]);

Hành động tương tự được gọi trong Laravel 5.7 được đề cập dưới đây:

<?php
$url = action([PostsController::class, 'index']);

Một lợi thế với định dạng cú pháp mảng có thể gọi mới là tính năng có khả năng điều hướng trực tiếp đến bộ điều khiển nếu nhà phát triển sử dụng trình soạn thảo văn bản hoặc IDE hỗ trợ điều hướng mã.

The post Laravel – Hashing appeared first on Dongthoigian.

]]>
https://dongthoigian.net/laravel-hashing/feed/ 0
Laravel – Encryption Mã hóa https://dongthoigian.net/laravel-encryption-ma-hoa/ https://dongthoigian.net/laravel-encryption-ma-hoa/#respond Sun, 14 Nov 2021 03:18:25 +0000 https://dongthoigian.net/?p=9341 Mã hóa là một quá trình chuyển đổi một văn bản thuần túy thành một tin nhắn bằng cách sử dụng một số thuật toán mà bất kỳ người dùng thứ ba nào cũng không thể đọc được thông tin.

The post Laravel – Encryption Mã hóa appeared first on Dongthoigian.

]]>
Mã hóa là một quá trình chuyển đổi một văn bản thuần túy thành một tin nhắn bằng cách sử dụng một số thuật toán mà bất kỳ người dùng thứ ba nào cũng không thể đọc được thông tin. Điều này rất hữu ích cho việc truyền thông tin nhạy cảm vì có ít cơ hội cho kẻ xâm nhập nhắm mục tiêu thông tin được chuyển hơn.

Mã hóa được thực hiện bằng một quá trình gọi là Cryptography . Văn bản sẽ được mã hóa được gọi là Văn bản thuần túy và văn bản hoặc tin nhắn thu được sau khi mã hóa được gọi là Văn bản mật mã . Quá trình chuyển đổi văn bản mật mã sang văn bản thuần túy được gọi là Giải mã .

Laravel sử dụng mã hóa AES-256 và AES-128 , sử dụng Open SSL để mã hóa. Tất cả các giá trị có trong Laravel đều được ký bằng cách sử dụng Mã xác thực thông báo giao thức để giá trị cơ bản không thể bị giả mạo khi nó được mã hóa.

Cấu hình

Lệnh được sử dụng để tạo khóa trong Laravel được hiển thị bên dưới:

php artisan key:generate

Xin lưu ý rằng lệnh này sử dụng trình tạo byte ngẫu nhiên an toàn của PHP và bạn có thể thấy đầu ra như được hiển thị trong ảnh chụp màn hình bên dưới:

laravel mã hóa

Lệnh được đưa ra ở trên giúp tạo khóa có thể được sử dụng trong ứng dụng web. Quan sát ảnh chụp màn hình được hiển thị bên dưới –

Ghi chú

Các giá trị mã hóa được căn chỉnh chính xác trong tệp config / app.php , bao gồm hai tham số để mã hóa là khóa và mật mã . Nếu giá trị sử dụng khóa này không được căn chỉnh đúng, tất cả các giá trị được mã hóa trong Laravel sẽ không an toàn.

Quy trình mã hóa

Mã hóa một giá trị có thể được thực hiện bằng cách sử dụng trình trợ giúp mã hóa trong bộ điều khiển của lớp Laravel. Các giá trị này được mã hóa bằng OpenSSL và AES-256 cipher. Tất cả các giá trị được mã hóa được ký bằng mã Xác thực Thư (MAC) để kiểm tra bất kỳ sửa đổi nào của chuỗi được mã hóa.

laravel

Đoạn mã hiển thị bên dưới được đề cập trong một bộ điều khiển và được sử dụng để lưu trữ bí mật hoặc tin nhắn nhạy cảm.

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;

class DemoController extends Controller{
   **
      * Store a secret message for the user.
      *
      * @param Request $request
      * @param int $id
      * @return Response
   */
   
   public function storeSecret(Request $request, $id) {
      $user = User::findOrFail($id);
      $user->fill([
         'secret' => encrypt($request->secret)
      ])->save();
   }
}

Quy trình giải mã

Việc giải mã các giá trị được thực hiện với trình trợ giúp giải mã . Quan sát các dòng mã sau:

use Illuminate\Contracts\Encryption\DecryptException;

// Exception for decryption thrown in facade
try {
   $decrypted = decrypt($encryptedValue);
} catch (DecryptException $e) {
   //
}

Xin lưu ý rằng nếu quá trình giải mã không thành công do MAC không hợp lệ đang được sử dụng, thì một ngoại lệ thích hợp sẽ được ném ra.

Laravel – Hashing xem thêm

The post Laravel – Encryption Mã hóa appeared first on Dongthoigian.

]]>
https://dongthoigian.net/laravel-encryption-ma-hoa/feed/ 0
Laravel – Authentication Xác thực https://dongthoigian.net/laravel-authentication-xac-thuc/ https://dongthoigian.net/laravel-authentication-xac-thuc/#respond Sun, 14 Nov 2021 02:53:29 +0000 https://dongthoigian.net/?p=9332 Trong các ứng dụng web, xác thực được quản lý bởi các phiên lấy các tham số đầu vào như email hoặc tên người dùng và mật khẩu để nhận dạng người dùng

The post Laravel – Authentication Xác thực appeared first on Dongthoigian.

]]>
Xác thực là quá trình xác định thông tin đăng nhập của người dùng. Trong các ứng dụng web, xác thực được quản lý bởi các phiên lấy các tham số đầu vào như email hoặc tên người dùng và mật khẩu để nhận dạng người dùng. Nếu các thông số này khớp, người dùng được cho là đã được xác thực.

Chỉ huy

Laravel sử dụng lệnh sau để tạo biểu mẫu và các bộ điều khiển liên quan để thực hiện xác thực:

php artisan make:auth

Lệnh này giúp tạo giàn giáo xác thực thành công, như được hiển thị trong ảnh chụp màn hình sau:

Laravel – Authentication

Bộ điều khiển

Bộ điều khiển được sử dụng cho quá trình xác thực là HomeController .

<?php

namespace App\Http\Controllers;

use App\Http\Requests;
use Illuminate\Http\Request;

class HomeController extends Controller{
   /**
      * Create a new controller instance.
      *
      * @return void
   */
   
   public function __construct() {
      $this->middleware('auth');
   }
   
   /**
      * Show the application dashboard.
      *
      * @return \Illuminate\Http\Response
   */
   
   public function index() {
      return view('home');
   }
}

Kết quả là, ứng dụng giàn giáo được tạo sẽ tạo ra trang đăng nhập và trang đăng ký để thực hiện xác thực. Chúng như hình dưới đây –

Đăng nhập

laravel home

Đăng ký

laravel

Xác thực người dùng theo cách thủ công

Laravel sử dụng giao diện Auth giúp xác thực người dùng theo cách thủ công. Nó bao gồm phương pháp thử để xác minh email và mật khẩu của họ. Hãy xem xét các dòng mã sau cho LoginController bao gồm tất cả các chức năng để xác thực –

<?php

// Authentication mechanism
namespace App\Http\Controllers;

use Illuminate\Support\Facades\Auth;

class LoginController extends Controller{
   /**
      * Handling authentication request
      *
      * @return Response
   */
   
   public function authenticate() {
      if (Auth::attempt(['email' => $email, 'password' => $password])) {
      
         // Authentication passed...
         return redirect()->intended('dashboard');
      }
   }
}

Laravel – Authorization  Ủy quyền

Trong chương trước, chúng ta đã nghiên cứu về quá trình xác thực trong Laravel. Chương này giải thích cho bạn quy trình ủy quyền trong Laravel.

Sự khác biệt giữa xác thực và ủy quyền

Trước khi tiếp tục tìm hiểu sâu hơn về quy trình ủy quyền trong Laravel, chúng ta hãy hiểu sự khác biệt giữa xác thực và ủy quyền.

Trong xác thực , hệ thống hoặc ứng dụng web xác định người dùng của nó thông qua thông tin xác thực mà họ cung cấp. Nếu nó phát hiện ra rằng thông tin xác thực là hợp lệ, chúng được xác thực hoặc nếu không thì không.

Khi ủy quyền , hệ thống hoặc ứng dụng web sẽ kiểm tra xem người dùng được xác thực có thể truy cập tài nguyên mà họ đang cố gắng truy cập hoặc yêu cầu hay không. Nói cách khác, nó kiểm tra các quyền và sự cho phép của họ đối với các tài nguyên được yêu cầu. Nếu nó phát hiện ra rằng họ có thể truy cập các tài nguyên, điều đó có nghĩa là họ được ủy quyền.

Do đó, xác thực liên quan đến việc kiểm tra tính hợp lệ của thông tin đăng nhập của người dùng và ủy quyền bao gồm việc kiểm tra các quyền và quyền đối với các tài nguyên mà người dùng đã xác thực có.

Cơ chế ủy quyền trong Laravel

Laravel cung cấp một cơ chế ủy quyền đơn giản bao gồm hai cách chính, đó là Gates và Policies .

Viết Cổng và Chính sách

Cổng được sử dụng để xác định xem người dùng có được phép thực hiện một hành động cụ thể hay không. Chúng thường được định nghĩa trong App / Providers / AuthServiceProvider.php bằng cách sử dụng Gate front . Cổng cũng là các hàm được khai báo để thực hiện cơ chế ủy quyền.

Các chính sách được khai báo trong một mảng và được sử dụng trong các lớp và phương thức sử dụng cơ chế ủy quyền. Các dòng mã sau đây giải thích cho bạn cách sử dụng Gates và Policies để cấp quyền cho người dùng trong ứng dụng web Laravel. Lưu ý rằng trong ví dụ này, chức năng khởi động được sử dụng để cấp quyền cho người dùng.

<?php

namespace App\Providers;

use Illuminate\Contracts\Auth\Access\Gate as GateContract;
use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;

class AuthServiceProvider extends ServiceProvider{
   /**
      * The policy mappings for the application.
      *
      * @var array
   */
   
   protected $policies = [
      'App\Model' => 'App\Policies\ModelPolicy',
   ];
   
   /**
      * Register any application authentication / authorization services.
      *
      * @param \Illuminate\Contracts\Auth\Access\Gate $gate
      * @return void
   */
   
   public function boot(GateContract $gate) {
      $this->registerPolicies($gate);
      //
   }
}

Laravel – Artisan Console / Bảng điều khiển Artisan

Khung công tác Laravel cung cấp ba công cụ chính để tương tác thông qua dòng lệnh, đó là: Artisan, Ticker và REPL . Chương này giải thích chi tiết về Nghệ nhân.

Giới thiệu về Nghệ nhân

Artisan là giao diện dòng lệnh thường được sử dụng trong Laravel và nó bao gồm một tập hợp các lệnh hữu ích để phát triển một ứng dụng web.

Thí dụ

Dưới đây là danh sách một số lệnh trong Artisan cùng với các chức năng tương ứng của chúng –

Để bắt đầu dự án Laravel

php artisan serve

Để kích hoạt cơ chế lưu vào bộ nhớ đệm

php artisan route:cache

Để xem danh sách các lệnh có sẵn do Artisan hỗ trợ

php artisan list

Để xem trợ giúp về bất kỳ lệnh nào và xem các tùy chọn và đối số có sẵn

php artisan help serve

Ảnh chụp màn hình sau đây cho thấy đầu ra của các lệnh được đưa ra ở trên:

Viết lệnh

Ngoài các lệnh được liệt kê trong Artisan, người dùng cũng có thể tạo một lệnh tùy chỉnh có thể được sử dụng trong ứng dụng web. Xin lưu ý rằng các lệnh được lưu trữ trong thư mục app / console / command .

Lệnh mặc định để tạo lệnh do người dùng xác định được hiển thị bên dưới:

php artisan make:console <name-of-command>

Khi bạn nhập lệnh đã cho ở trên, bạn có thể thấy kết quả như được hiển thị trong ảnh chụp màn hình bên dưới:

Tệp được tạo cho DefaultCommand được đặt tên là DefaultCommand.php và được hiển thị bên dưới:

<?php

namespace App\Console\Commands;
use Illuminate\Console\Command;

class DefaultCommand extends Command{
   /**
      * The name and signature of the console command.
      *
      * @var string
   */
   
   protected $signature = 'command:name';
   
   /**
      * The console command description.
      *
      * @var string
   */
   
   protected $description = 'Command description';
   
   /**
      * Create a new command instance.
      *
      * @return void
   */
   
   public function __construct() {
      parent::__construct();
   }
   
   /**
      * Execute the console command.
      *
      * @return mixed
   */
   
   public function handle() {
      //
   }
}

Tệp này bao gồm chữ ký và mô tả cho lệnh mà người dùng đã xác định. Hàm công khai có tên là xử lý thực thi các chức năng khi lệnh được thực thi. Các lệnh này được đăng ký trong tệp Kernel.php trong cùng một thư mục.

Bạn cũng có thể tạo lịch trình của nhiệm vụ cho lệnh do người dùng xác định như được hiển thị trong đoạn mã sau:

<?php

namespace App\Console;

use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;

class Kernel extends ConsoleKernel {
   /**
      * The Artisan commands provided by your application.
      *
      * @var array
   */
   
   protected $commands = [
      // Commands\Inspire::class,
      Commands\DefaultCommand::class
   ];
   
   /**
      * Define the application's command schedule.
      *
      * @param \Illuminate\Console\Scheduling\Schedule $schedule
      * @return void
   */
   
   protected function schedule(Schedule $schedule) {
      // $schedule->command('inspire')
      // ->hourly();
   }
}

Lưu ý rằng lịch trình của các tác vụ cho lệnh đã cho được xác định trong hàm có tên là lịch biểu , bao gồm một tham số để lập lịch các tác vụ có tham số hàng giờ .

Các lệnh được đăng ký trong mảng lệnh, bao gồm đường dẫn và tên của các lệnh.

Khi lệnh được đăng ký, nó sẽ được liệt kê trong Artisan command. Các giá trị có trong phần chữ ký và mô tả sẽ được hiển thị khi bạn gọi thuộc tính trợ giúp của lệnh được chỉ định.

Hãy để chúng tôi xem cách xem các thuộc tính của lệnh DefaultCommand của chúng tôi . Bạn nên sử dụng lệnh như hình dưới đây:

php artisan help DefaultCommand

Laravel – Encryption Mã hóa

The post Laravel – Authentication Xác thực appeared first on Dongthoigian.

]]>
https://dongthoigian.net/laravel-authentication-xac-thuc/feed/ 0
Laravel – Facades https://dongthoigian.net/laravel-facades/ https://dongthoigian.net/laravel-facades/#respond Fri, 12 Nov 2021 06:46:01 +0000 https://dongthoigian.net/?p=9306 Facades cung cấp giao diện tĩnh cho các lớp có sẵn trong vùng chứa dịch vụ của ứng dụng. Các mặt tiền của Laravel đóng vai trò như proxy tĩnh cho các lớp bên dưới trong vùng chứa dịch vụ

The post Laravel – Facades appeared first on Dongthoigian.

]]>
Facades cung cấp giao diện tĩnh cho các lớp có sẵn trong vùng chứa dịch vụ của ứng dụng. Các mặt tiền của Laravel đóng vai trò như proxy tĩnh cho các lớp bên dưới trong vùng chứa dịch vụ, mang lại lợi ích của cú pháp ngắn gọn, biểu cảm trong khi vẫn duy trì khả năng kiểm tra và tính linh hoạt hơn các phương thức tĩnh truyền thống.

Cách tạo Mặt tiền

Sau đây là các bước để tạo Facade trong Laravel:

  • Bước 1 – Tạo tệp lớp PHP.
  • Bước 2 – Liên kết lớp đó với Nhà cung cấp dịch vụ.
  • Bước 3 – Đăng ký Nhà cung cấp dịch vụ đó để

Định cấu hình \ app.php làm nhà cung cấp.

  • Bước 4 – Tạo lớp là lớp này mở rộng đến

lluminate \ Hỗ trợ \ Mặt tiền \ Mặt tiền.

  • Bước 5 – Đăng ký điểm 4 vào Config \ app.php làm bí danh.

Tham chiếu Lớp Mặt tiền

Laravel vận chuyển với nhiều Mặt tiền. Bảng sau đây hiển thị các tham chiếu lớp Facade được tích hợp sẵn

Mặt tiềnLớp họcRàng buộc vùng chứa dịch vụ
Ứng dụngIlluminate \ Foundation \ Applicationứng dụng
Nghệ nhânChiếu sáng \ Hợp đồng \ Bảng điều khiển \ Kernelnghệ nhân
AuthChiếu sáng \ Auth \ AuthManagerauth
Auth (Phiên bản)Chiếu sáng \ Auth \ Guard
LưỡiIlluminate \ View \ Compilers \ BladeCompilerblade.compiler
Xe buýtChiếu sáng \ Hợp đồng \ Xe buýt \ Điều phối viên
Bộ nhớ đệmChiếu sáng \ Cache \ Kho lưu trữbộ nhớ đệm
Cấu hìnhChiếu sáng \ Cấu hình \ Kho lưu trữcấu hình
Bánh quyChiếu sáng \ Cookie \ CookieJarbánh quy
CryptIlluminate \ Encryption \ Encryptermã hóa
DBIlluminate \ Database \ DatabaseManagerdb
DB (Phiên bản)Chiếu sáng \ Cơ sở dữ liệu \ Kết nối
Biến cốChiếu sáng \ Sự kiện \ Điều phối viênsự kiện
Tập tinChiếu sáng \ Hệ thống tập tin \ Hệ thống tập tincác tập tin
Cánh cổngChiếu sáng \ Hợp đồng \ Xác thực \ Truy cập \ Cổng
BămChiếu sáng \ Hợp đồng \ Hashing \ Hasherbăm
Đầu vàoChiếu sáng \ Http \ Yêu cầuyêu cầu
LangChiếu sáng \ Bản dịch \ Trình dịchngười phiên dịch
Nhật kýIlluminate \ Log \ Writerkhúc gỗ
ThưChiếu sáng \ Mail \ Mailerngười đưa thư
Mật khẩuIlluminate \ Auth \ Passwords \ PasswordBrokerauth.password
Xếp hàngIlluminate \ Queue \ QueueManagerxếp hàng
Hàng đợi (Phiên bản)Illuminate \ Queue \ QueueInterface
Hàng đợi (Lớp cơ sở)Chiếu sáng \ Hàng đợi \ Hàng đợi
Chuyển hướngIlluminate \ Routing \ Redirectorchuyển hướng
RedisChiếu sáng \ Redis \ Cơ sở dữ liệunói lại
Yêu cầuChiếu sáng \ Http \ Yêu cầuyêu cầu
Phản ứngIlluminate \ Contracts \ Routing \ ResponseFactory
Lộ trìnhChiếu sáng \ Định tuyến \ Bộ định tuyếnbộ định tuyến
Lược đồIlluminate \ Database \ Schema \ Blueprint
Phiên họpIlluminate \ Session \ SessionManagerphiên họp
Phiên (Phiên bản)Chiếu sáng \ Phiên \ Cửa hàng
Lưu trữChiếu sáng \ Hợp đồng \ Hệ thống tập tin \ Nhà máyhệ thống tập tin
URLChiếu sáng \ Định tuyến \ UrlGeneratorurl
Trình xác thựcChiếu sáng \ Xác thực \ Nhà máyngười xác nhận
Trình xác thực (Phiên bản)Chiếu sáng \ Xác thực \ Trình xác thực
Lượt xemChiếu sáng \ Xem \ Nhà máylượt xem
Xem (Phiên bản)Chiếu sáng \ Xem \ Xem

Thí dụ

Bước 1 – Tạo một nhà cung cấp dịch vụ có tên TestFacadesServiceProvider bằng cách thực hiện lệnh sau.

php artisan make:provider TestFacadesServiceProvider

Bước 2 – Sau khi thực hiện thành công, bạn sẽ nhận được kết quả sau:

laravel

Bước 3 – Tạo một lớp có tên TestFacades.php tại App / Test .

App / Test / TestFacades.php

<?php
   namespace App\Test;
   class TestFacades{
      public function testingFacades() {
         echo "Testing the Facades in Laravel.";
      }
   }
?>

Bước 4 – Tạo một lớp Facade có tên là “TestFacades.php” tại “App / Test / Facades” .

App / Test / Facades / TestFacades.php

<?php

namespace app\Test\Facades;

use Illuminate\Support\Facades\Facade;

class TestFacades extends Facade {
   protected static function getFacadeAccessor() { return 'test'; }
}

Bước 5 – Tạo một lớp Mặt tiền có tên là TestFacadesServiceProviders.php tại App / Test / Facades.

App / Providers / TestFacadesServiceProviders.php

<?php

namespace App\Providers;

use App;
use Illuminate\Support\ServiceProvider;

class TestFacadesServiceProvider extends ServiceProvider {
   public function boot() {
      //
   }
   public function register() {
      App::bind('test',function() {
         return new \App\Test\TestFacades;
      });
   }
}

Bước 6 – Thêm nhà cung cấp dịch vụ vào tệp config / app.php như thể hiện trong hình bên dưới.

config / app.php

laravel

Bước 7 – Thêm bí danh trong tệp config / app.php như thể hiện trong hình bên dưới.config / app.php

laravel

Bước 8 – Thêm các dòng sau vào app / Http / route.php.

app / Http / route.php

Route::get('/facadeex', function() {
   return TestFacades::testingFacades();
});

Bước 9 – Truy cập URL sau để kiểm tra Mặt tiền.

http://localhost:8000/facadeex

Bước 10 – Sau khi truy cập URL, bạn sẽ nhận được kết quả sau:

laravel

Laravel – Contracts  Hợp đồng

Hợp đồng Laravel là một tập hợp các giao diện với các chức năng khác nhau và các dịch vụ cốt lõi được cung cấp bởi khung.

Ví dụ, hợp đồng Illuminate \ Contracts \ Queue \ Queue sử dụng một phương thức cần thiết cho các công việc xếp hàng và Illuminate \ Contracts \ Mail \ Mailer sử dụng phương thức này để gửi email.

Mọi hợp đồng được xác định đều bao gồm việc thực hiện khung tương ứng. Tất cả các hợp đồng Laravel đều có sẵn trong kho lưu trữ GitHub như được đề cập bên dưới –

https://github.com/illuminate/contracts

Kho lưu trữ này cung cấp nhiều loại hợp đồng có sẵn trong khuôn khổ Laravel có thể được tải xuống và sử dụng tương ứng.

Điểm quan trọng

Trong khi làm việc với các hợp đồng Laravel, vui lòng lưu ý những điểm quan trọng sau:

  • Bắt buộc phải xác định các mặt trong hàm tạo của một lớp.
  • Các hợp đồng được định nghĩa rõ ràng trong các lớp và bạn không cần phải xác định các hợp đồng trong các trình xây dựng.

Thí dụ

Hãy xem xét hợp đồng được sử dụng để Ủy quyền trong Laravel được đề cập bên dưới

<?php

namespace Illuminate\Contracts\Auth\Access;

interface Authorizable{
   /**
      * Determine if the entity has a given ability.
      *
      * @param string $ability
      * @param array|mixed $arguments
      * @return bool
   */
   public function can($ability, $arguments = []);
}

Hợp đồng sử dụng một hàm có thể bao gồm một tham số được đặt tên là khả năng và các đối số sử dụng nhận dạng người dùng dưới dạng một mảng .

Bạn sẽ phải xác định một hợp đồng như được hiển thị trong cú pháp bên dưới:

interface <contract-name>

Các hợp đồng được sử dụng giống như các mặt tiền để tạo các ứng dụng Laravel mạnh mẽ, đã được thử nghiệm tốt. Có những khác biệt thực tế khác nhau với việc sử dụng hợp đồng và mặt tiền. Đoạn mã sau cho thấy việc sử dụng hợp đồng để lưu vào bộ nhớ đệm của một kho lưu trữ:

<?php

namespace App\Orders;
use Illuminate\Contracts\Cache\Repository as Cache;

class Repository{
   /**
      * The cache instance.
   */
   
   protected $cache;
   
   /**
      * Create a new repository instance.
      *
      * @param Cache $cache
      * @return void
   */
   
   public function __construct(Cache $cache) {
      $this->cache = $cache;
   }
}

Hợp đồng không có thực hiện và các phụ thuộc mới; rất dễ dàng để viết một triển khai thay thế của một hợp đồng được chỉ định, do đó người dùng có thể thay thế triển khai bộ đệm mà không cần sửa đổi bất kỳ cơ sở mã nào

Laravel – CSRF Protection Bảo vệ CSRF

CSRF đề cập đến các cuộc tấn công Cross Site Forgery trên các ứng dụng web. Các cuộc tấn công CSRF là các hoạt động trái phép mà người dùng đã xác thực của hệ thống thực hiện. Do đó, nhiều ứng dụng web dễ bị tấn công.

Laravel cung cấp bảo vệ CSRF theo cách sau:

Laravel bao gồm một trình cắm thêm CSRF được tích hợp sẵn, tạo mã thông báo cho mỗi phiên người dùng đang hoạt động. Các mã thông báo này xác minh rằng các hoạt động hoặc yêu cầu được gửi bởi người dùng đã xác thực có liên quan.

Thực hiện

Việc thực hiện bảo vệ CSRF trong Laravel được thảo luận chi tiết trong phần này. Những điểm sau đáng chú ý trước khi tiếp tục về bảo vệ CSRF – CSRF được triển khai trong các biểu mẫu HTML được khai báo bên trong các ứng dụng web. Bạn phải bao gồm mã thông báo CSRF đã được xác thực ẩn trong biểu mẫu để phần mềm trung gian bảo vệ CSRF của Laravel có thể xác thực yêu cầu. Cú pháp được hiển thị bên dưới

<form method = "POST" action="/profile">
   {{ csrf_field() }}
   ...
</form>
  • Bạn có thể tạo các ứng dụng được điều khiển bằng JavaScript một cách thuận tiện bằng cách sử dụng thư viện JavaScript HTTP, vì điều này bao gồm mã thông báo CSRF cho mọi yêu cầu gửi đi.
  • Tệp cụ thể là tài nguyên / tài sản / js / bootstrap.js đăng ký tất cả các mã thông báo cho các ứng dụng Laravel và bao gồm thẻ meta lưu trữ mã thông báo csrf với thư viện Axios HTTP .

Biểu mẫu không có mã thông báo CSRF

Hãy xem xét các dòng mã sau đây. Chúng hiển thị một biểu mẫu có hai tham số làm đầu vào: email và tin nhắn .

<form>
   <label> Email </label>
      <input type = "text" name = "email"/>
      <br/>
   <label> Message </label> <input type="text" name = "message"/>
   <input type = ”submit” name = ”submitButton” value = ”submit”>
</form>

Kết quả của đoạn mã trên là biểu mẫu được hiển thị bên dưới mà người dùng cuối có thể xem

laravel

Biểu mẫu hiển thị ở trên sẽ chấp nhận bất kỳ thông tin đầu vào nào từ người dùng được ủy quyền. Điều này có thể làm cho ứng dụng web dễ bị tấn công. Xin lưu ý rằng nút gửi bao gồm chức năng trong phần bộ điều khiển. Hàm postContact được sử dụng trong bộ điều khiển cho các dạng xem được liên kết đó. Nó được hiển thị bên dưới –

public function postContact(Request $request) {
   return $request-> all();
}

Lưu ý rằng biểu mẫu không bao gồm bất kỳ mã thông báo CSRF nào nên thông tin nhạy cảm được chia sẻ dưới dạng thông số đầu vào dễ bị tấn công.

Biểu mẫu có mã thông báo CSRF

Các dòng mã sau cho bạn biết biểu mẫu được thiết kế lại bằng cách sử dụng mã thông báo CSRF –

<form method = ”post” >
   {{ csrf_field() }}
   <label> Email </label>
   <input type = "text" name = "email"/>
   <br/>
   <label> Message </label>
   <input type = "text" name = "message"/>
   <input type = ”submit” name = ”submitButton” value = ”submit”>
</form>

Đầu ra đạt được sẽ trả về JSON với một mã thông báo như dưới đây:

{
   "token": "ghfleifxDSUYEW9WE67877CXNVFJKL",
   "name": "TutorialsPoint",
   "email": "contact@tutorialspoint.com"
}

Đây là mã thông báo CSRF được tạo khi nhấp vào nút gửi.

Laravel – Authentication Xác thực xem thêm

The post Laravel – Facades appeared first on Dongthoigian.

]]>
https://dongthoigian.net/laravel-facades/feed/ 0
Laravel – Ajax https://dongthoigian.net/laravel-ajax/ https://dongthoigian.net/laravel-ajax/#respond Thu, 11 Nov 2021 04:44:10 +0000 https://dongthoigian.net/?p=9280 Ajax (JavaScript và XML không đồng bộ) là một tập hợp các kỹ thuật phát triển web sử dụng nhiều công nghệ web được sử dụng ở phía máy khách để tạo các ứng dụng Web không đồng bộ

The post Laravel – Ajax appeared first on Dongthoigian.

]]>
Ajax (JavaScript và XML không đồng bộ) là một tập hợp các kỹ thuật phát triển web sử dụng nhiều công nghệ web được sử dụng ở phía máy khách để tạo các ứng dụng Web không đồng bộ. Nhập thư viện jquery trong tệp dạng xem của bạn để sử dụng các hàm ajax của jquery sẽ được sử dụng để gửi và nhận dữ liệu bằng ajax từ máy chủ. Ở phía máy chủ, bạn có thể sử dụng hàm response () để gửi phản hồi đến máy khách và để gửi phản hồi ở định dạng JSON, bạn có thể xâu chuỗi hàm phản hồi với hàm json ().

cú pháp hàm json ()

json(string|array $data = array(), int $status = 200, array $headers = array(), int $options)

Thí dụ

Bước 1 – Tạo một tệp xem có tên là resources / views / message.php và sao chép đoạn mã sau vào tệp đó.

<html>
   <head>
      <title>Ajax Example</title>
      
      <script src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
      </script>
      
      <script>
         function getMessage() {
            $.ajax({
               type:'POST',
               url:'/getmsg',
               data:'_token = <?php echo csrf_token() ?>',
               success:function(data) {
                  $("#msg").html(data.msg);
               }
            });
         }
      </script>
   </head>
   
   <body>
      <div id = 'msg'>This message will be replaced using Ajax. 
         Click the button to replace the message.</div>
      <?php
         echo Form::button('Replace Message',['onClick'=>'getMessage()']);
      ?>
   </body>

</html>

Bước 2 – Tạo một bộ điều khiển có tên là AjaxController bằng cách thực hiện lệnh sau.

php artisan make:controller AjaxController --plain

Bước 3 – Sau khi thực hiện thành công, bạn sẽ nhận được kết quả sau:

AjaxController

Bước 4 – Sao chép mã sau vào

tệp app / Http / Controllers / AjaxController.php .app / Http / Controllers / AjaxController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class AjaxController extends Controller {
   public function index() {
      $msg = "This is a simple message.";
      return response()->json(array('msg'=> $msg), 200);
   }
}

Bước 5 – Thêm các dòng sau vào app / Http / route.php .

app / Http / route.php

Route::get('ajax',function() {
   return view('message');
});
Route::post('/getmsg','AjaxController@index');

Bước 6 – Truy cập URL sau để kiểm tra chức năng Ajax.

http://localhost:8000/ajax

Bước 7 – Bạn sẽ được chuyển đến một trang mà bạn sẽ thấy một thông báo như trong hình sau.

Ajax

Bước 8 – Đầu ra sẽ xuất hiện như trong hình sau khi nhấp vào nút.

Ajax

Laravel – Error Handling  Xử lý lỗi

Hầu hết các ứng dụng web đều có các cơ chế cụ thể để xử lý lỗi. Bằng cách sử dụng chúng, họ theo dõi lỗi và ngoại lệ, đồng thời ghi nhật ký chúng để phân tích hiệu suất. Trong chương này, bạn sẽ đọc về xử lý lỗi trong các ứng dụng Laravel.

Điểm quan trọng

Trước khi tiếp tục tìm hiểu chi tiết về cách xử lý lỗi trong Laravel, vui lòng lưu ý những điểm quan trọng sau:

  • Đối với bất kỳ dự án mới nào, Laravel ghi lại các lỗi và ngoại lệ trong lớp App \ Exceptions \ Handler , theo mặc định. Sau đó, chúng được gửi lại cho người dùng để phân tích.

Khi ứng dụng Laravel của bạn được đặt ở chế độ gỡ lỗi, các thông báo lỗi chi tiết có dấu vết ngăn xếp sẽ được hiển thị trên mọi lỗi xảy ra trong ứng dụng web của bạn.

Ajax

Theo mặc định, chế độ gỡ lỗi được đặt thành false và bạn có thể thay đổi nó thành true . Điều này cho phép người dùng theo dõi tất cả các lỗi với dấu vết ngăn xếp.

  • Cấu hình của dự án Laravel bao gồm tùy chọn gỡ lỗi xác định lượng thông tin về lỗi sẽ được hiển thị cho người dùng. Theo mặc định trong ứng dụng web, tùy chọn được đặt thành giá trị được xác định trong các biến môi trường của tệp .env .
    • Giá trị được đặt thành true trong môi trường phát triển cục bộ và được đặt thành false trong môi trường sản xuất.

Nếu giá trị được đặt thành true trong môi trường sản xuất, rủi ro chia sẻ thông tin nhạy cảm với người dùng cuối sẽ cao hơn.

Nhật ký lỗi

Ghi lại các lỗi trong một ứng dụng web giúp theo dõi chúng và lập kế hoạch chiến lược để loại bỏ chúng. Thông tin nhật ký có thể được định cấu hình trong ứng dụng web trong tệp config / app.php . Vui lòng lưu ý các điểm sau khi xử lý Lỗi đăng nhập trong Laravel –

  • Laravel sử dụng thư viện ghi nhật ký PHP monolog.
  • Các thông số ghi nhật ký được sử dụng để theo dõi lỗi là single, daily, syslog và errorlog .
  • Ví dụ: nếu bạn muốn ghi lại thông báo lỗi trong tệp nhật ký, bạn nên đặt giá trị nhật ký trong cấu hình ứng dụng của mình thành hàng ngày như được hiển thị trong lệnh bên dưới –
'log' => env('APP_LOG',’daily’),
  • Nếu chế độ nhật ký hàng ngày được lấy làm tham số, thì theo mặc định , Laravel sẽ lấy nhật ký lỗi trong khoảng thời gian 5 ngày . Nếu bạn muốn thay đổi số tệp nhật ký tối đa, bạn phải đặt tham số của log_max_files trong tệp cấu hình thành giá trị mong muốn.
‘log_max_files’ => 25;

Mức độ nghiêm trọng

Vì Laravel sử dụng thư viện ghi nhật ký PHP độc thoại nên có nhiều tham số khác nhau được sử dụng để phân tích mức độ nghiêm trọng. Các mức độ nghiêm trọng khác nhau có sẵn là các thông báo lỗi, nghiêm trọng, cảnh báo và khẩn cấp . Bạn có thể đặt mức độ nghiêm trọng như được hiển thị trong lệnh bên dưới:

'log_level' => env('APP_LOG_LEVEL', 'error')

Laravel – Event Handling  Xử lý sự kiện

Sự kiện cung cấp một triển khai người quan sát đơn giản cho phép người dùng đăng ký và lắng nghe các sự kiện khác nhau được kích hoạt trong ứng dụng web. Tất cả các lớp sự kiện trong Laravel được lưu trữ trong thư mục ứng dụng / Sự kiện và trình lắng nghe được lưu trữ trong thư mục ứng dụng / Người nghe .

Lệnh thủ công để tạo sự kiện và trình nghe trong ứng dụng web của bạn được hiển thị bên dưới:

php artisan event:generate

Lệnh này tạo các sự kiện và trình nghe vào các thư mục tương ứng như đã thảo luận ở trên.

Ajax

Sự kiện và Trình nghe là một cách tuyệt vời để tách một ứng dụng web, vì một sự kiện có thể có nhiều trình nghe độc ​​lập với nhau. Thư mục sự kiện được tạo bởi lệnh thủ công bao gồm hai tệp sau: event.php và SomeEvent.php. Chúng được hiển thị ở đây –Event.php

<?php
namespace App\Events;
abstract class Event{
   //
}

Như đã đề cập ở trên, event.php bao gồm định nghĩa cơ bản của lớp Event và các lệnh gọi cho không gian tên App \ Events . Xin lưu ý rằng sự kiện do người dùng xác định hoặc tùy chỉnh được tạo trong tệp này.

SomeEvent.php

<?php

namespace App\Events;

use App\Events\Event;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;

class SomeEvent extends Event{
   use SerializesModels;
   /**
      * Create a new event instance.
      *
      * @return void
   */
   
   public function __construct() {
      //
   }
   
   /**
      * Get the channels the event should be broadcast on.
      *
      * @return array
   */
   
   public function broadcastOn() {
      return [];
   }
}

Quan sát rằng tệp này sử dụng tuần tự hóa để phát các sự kiện trong ứng dụng web và các thông số cần thiết cũng được khởi tạo trong tệp này.

Ví dụ: nếu chúng ta cần khởi tạo biến thứ tự trong hàm tạo để đăng ký một sự kiện, chúng ta có thể thực hiện theo cách sau:

public function __construct(Order $order) {
   $this->order = $order;
}

Listener

Người nghe xử lý tất cả các hoạt động được đề cập trong một sự kiện đang được đăng ký. Sự kiện lệnh thủ công : tạo ra tất cả các trình nghe trong thư mục ứng dụng / Listener  . Thư mục Listener bao gồm một tệp EventListener.php có tất cả các phương thức cần thiết để xử lý trình nghe.

EventListener.php

<?php

namespace App\Listeners;

use App\Events\SomeEvent;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;

class EventListener{
   /**
      * Create the event listener.
      *
      * @return void
   */
   
   public function __construct() {
      //
   }

   /**
      * Handle the event.
      *
      * @param SomeEvent $event
      * @return void
   */
   
   public function handle(SomeEvent $event) {
      //
   }
}

Như đã đề cập trong mã, nó bao gồm chức năng xử lý để quản lý các sự kiện khác nhau. Chúng tôi có thể tạo ra nhiều người nghe độc ​​lập khác nhau nhắm mục tiêu đến một sự kiện duy nhất.

Laravel – Facades xem thêm

The post Laravel – Ajax appeared first on Dongthoigian.

]]>
https://dongthoigian.net/laravel-ajax/feed/ 0
Laravel – File Uploading Tải lên tệp https://dongthoigian.net/laravel-file-uploading-tai-len-tep/ https://dongthoigian.net/laravel-file-uploading-tai-len-tep/#respond Wed, 10 Nov 2021 10:42:43 +0000 https://dongthoigian.net/?p=9259 Trong tệp dạng laravel xem, chúng ta cần tạo đầu vào tệp bằng cách thêm dòng mã sau.

The post Laravel – File Uploading Tải lên tệp appeared first on Dongthoigian.

]]>
Tải lên tệp trong Laravel rất dễ dàng. Tất cả những gì chúng ta cần làm là tạo một tệp xem nơi người dùng có thể chọn tệp để tải lên và một bộ điều khiển nơi các tệp đã tải lên sẽ được xử lý.

Trong tệp dạng xem, chúng ta cần tạo đầu vào tệp bằng cách thêm dòng mã sau.

Form::file('file_name');

Trong Form :: open (), chúng ta cần thêm ‘files’ => ‘true’ như hình bên dưới. Điều này tạo điều kiện cho biểu mẫu được tải lên thành nhiều phần.

Form::open(array('url' => '/uploadfile','files'=>'true'));

Thí dụ

Bước 1 – Tạo một tệp xem có tên là resource / views / uploadfile.php và sao chép đoạn mã sau vào tệp đó.resource / views / uploadfile.php

<html>
   <body>
      <?php
         echo Form::open(array('url' => '/uploadfile','files'=>'true'));
         echo 'Select the file to upload.';
         echo Form::file('image');
         echo Form::submit('Upload File');
         echo Form::close();
      ?>
   </body>
</html>

Bước 2 – Tạo bộ điều khiển có tên UploadFileController bằng cách thực hiện lệnh sau.

php artisan make:controller UploadFileController --plain

Bước 3 – Sau khi thực hiện thành công, bạn sẽ nhận được kết quả sau:

Laravel

Bước 4 – Sao chép mã sau vào

tệp app / Http / Controllers / UploadFileController.php .

app / Http / Controllers / UploadFileController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class UploadFileController extends Controller {
   public function index() {
      return view('uploadfile');
   }
   public function showUploadFile(Request $request) {
      $file = $request->file('image');
   
      //Display File Name
      echo 'File Name: '.$file->getClientOriginalName();
      echo '<br>';
   
      //Display File Extension
      echo 'File Extension: '.$file->getClientOriginalExtension();
      echo '<br>';
   
      //Display File Real Path
      echo 'File Real Path: '.$file->getRealPath();
      echo '<br>';
   
      //Display File Size
      echo 'File Size: '.$file->getSize();
      echo '<br>';
   
      //Display File Mime Type
      echo 'File Mime Type: '.$file->getMimeType();
   
      //Move Uploaded File
      $destinationPath = 'uploads';
      $file->move($destinationPath,$file->getClientOriginalName());
   }
}

Bước 5 – Thêm các dòng sau vào app / Http / route.php .

app / Http / route.php

Route::get('/uploadfile','UploadFileController@index');
Route::post('/uploadfile','UploadFileController@showUploadFile');

Bước 6 – Truy cập URL sau để kiểm tra chức năng của tệp tải lên.

http://localhost:8000/uploadfile

Bước 7 – Bạn sẽ nhận được một lời nhắc như trong hình sau.

Laravel

Laravel – Sending Email Gửi Email

Laravel sử dụng thư viện SwiftMailer giàu tính năng miễn phí để gửi email. Sử dụng chức năng thư viện, chúng ta có thể dễ dàng gửi email mà không gặp quá nhiều phức tạp. Các mẫu e-mail được tải giống như các dạng xem, có nghĩa là bạn có thể sử dụng cú pháp Blade và đưa dữ liệu vào các mẫu của mình. Bảng sau đây cho thấy cú pháp và thuộc tính của hàm gửi :

Cú phápvoid send (string | array $ view, array $ data, Closure | string $ callback)
Thông số$ view (string | array) – tên của dạng xem có chứa email$ data (array) – mảng dữ liệu cần chuyển để xem$ callback – một cuộc gọi lại Closure nhận một phiên bản thư, cho phép bạn tùy chỉnh người nhận, chủ đề và các khía cạnh khác của thư
Lợi nhuậnkhông có gì
Sự miêu tảGửi email.

Trong đối số thứ ba, phiên bản thông báo $ callback closeure đã nhận và với cá thể đó, chúng ta cũng có thể gọi các hàm sau và thay đổi thông báo như hình dưới đây.

  • $ message → subject (‘Chào mừng đến với Điểm Hướng dẫn’);
  • $ message → from (’email@example.com ‘,’ Mr. Ví dụ ‘);
  • $ message → to (’email@example.com ‘,’ Mr. Ví dụ ‘);

Một số phương pháp ít phổ biến hơn bao gồm:

  • $ message → sender (’email@example.com ‘,’ Mr. Ví dụ ‘);
  • $ message → returnPath (’email@example.com ‘);
  • $ message → cc (’email@example.com ‘,’ Mr. Ví dụ ‘);
  • $ message → bcc (’email@example.com ‘,’ Mr. Ví dụ ‘);
  • $ message → replyTo (’email@example.com ‘,’ Mr. Ví dụ ‘);
  • $ message → ưu tiên (2);

Để đính kèm hoặc nhúng tệp, bạn có thể sử dụng các phương pháp sau:

  • $ message → attachment (‘path / to / attachment.txt’);
  • $ message → nhúng (‘path / to / attachment.jpg’);

Thư có thể được gửi dưới dạng HTML hoặc văn bản. Bạn có thể chỉ ra loại thư mà bạn muốn gửi trong đối số đầu tiên bằng cách chuyển một mảng như hình dưới đây. Loại mặc định là HTML. Nếu bạn muốn gửi thư văn bản thuần túy thì hãy sử dụng cú pháp sau.

Cú pháp

Mail::send([‘text’=>’text.view’], $data, $callback);

Trong cú pháp này, đối số đầu tiên nhận một mảng. Sử dụng văn bản làm tên khóa của dạng xem làm giá trị của khóa.

Thí dụ

Bước 1 – Bây giờ chúng tôi sẽ gửi một email từ tài khoản Gmail và bạn cần phải định cấu hình tài khoản Gmail của mình trong tệp môi trường Laravel – tệp .env . Bật xác minh 2 bước trong tài khoản Gmail của bạn và tạo mật khẩu dành riêng cho ứng dụng, sau đó thay đổi thông số .env như hình dưới đây.

.env

MAIL_DRIVER = smtp
MAIL_HOST = smtp.gmail.com
MAIL_PORT = 587
MAIL_USERNAME = your-gmail-username
MAIL_PASSWORD = your-application-specific-password
MAIL_ENCRYPTION = tls

Bước 2 – Sau khi thay đổi tệp .env, thực hiện hai lệnh dưới đây để xóa bộ nhớ cache và khởi động lại máy chủ Laravel.

php artisan config:cache

Bước 3 – Tạo một bộ điều khiển có tên là MailController bằng cách thực hiện lệnh sau.

php artisan make:controller MailController --plain

Bước 4 – Sau khi thực hiện thành công, bạn sẽ nhận được kết quả sau:

laravel

Bước 5 – Sao chép mã sau vào

tệp app / Http / Controllers / MailController.php .

app / Http / Controllers / MailController.php

<?php

namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Mail;

use App\Http\Requests;
use App\Http\Controllers\Controller;

class MailController extends Controller {
   public function basic_email() {
      $data = array('name'=>"Virat Gandhi");
   
      Mail::send(['text'=>'mail'], $data, function($message) {
         $message->to('abc@gmail.com', 'Tutorials Point')->subject
            ('Laravel Basic Testing Mail');
         $message->from('xyz@gmail.com','Virat Gandhi');
      });
      echo "Basic Email Sent. Check your inbox.";
   }
   public function html_email() {
      $data = array('name'=>"Virat Gandhi");
      Mail::send('mail', $data, function($message) {
         $message->to('abc@gmail.com', 'Tutorials Point')->subject
            ('Laravel HTML Testing Mail');
         $message->from('xyz@gmail.com','Virat Gandhi');
      });
      echo "HTML Email Sent. Check your inbox.";
   }
   public function attachment_email() {
      $data = array('name'=>"Virat Gandhi");
      Mail::send('mail', $data, function($message) {
         $message->to('abc@gmail.com', 'Tutorials Point')->subject
            ('Laravel Testing Mail with Attachment');
         $message->attach('C:\laravel-master\laravel\public\uploads\image.png');
         $message->attach('C:\laravel-master\laravel\public\uploads\test.txt');
         $message->from('xyz@gmail.com','Virat Gandhi');
      });
      echo "Email Sent with attachment. Check your inbox.";
   }
}

Bước 6 – Sao chép đoạn mã sau vào tệp resource / views / mail.blade.php .

resource / views / mail.blade.php

<h1>Hi, {{ $name }}</h1>
l<p>Sending Mail from Laravel.</p>

Bước 7 – Thêm các dòng sau vào app / Http / route.php.

app / Http / route.php

Route::get('sendbasicemail','MailController@basic_email');
Route::get('sendhtmlemail','MailController@html_email');
Route::get('sendattachmentemail','MailController@attachment_email');

Bước 8 – Truy cập URL sau để kiểm tra email cơ bản.

http://localhost:8000/sendbasicemail

Bước 9 – Màn hình đầu ra sẽ giống như thế này. Kiểm tra hộp thư đến của bạn để xem đầu ra email cơ bản.

laravel

Bước 10 – Truy cập URL sau để kiểm tra email HTML.

http://localhost:8000/sendhtmlemail

Bước 11 – Màn hình đầu ra sẽ trông giống như thế này. Kiểm tra hộp thư đến của bạn để xem đầu ra email html.

laravel

Bước 12 – Truy cập URL sau để kiểm tra email HTML có tệp đính kèm.

http://localhost:8000/sendattachmentemail

Bước 13 – Bạn có thể thấy kết quả sau

laravel

Lưu ý – Trong tệp MailController.php , địa chỉ email trong phương thức from phải là địa chỉ email mà bạn có thể gửi địa chỉ email. Nói chung, nó phải là địa chỉ email được định cấu hình trên máy chủ của bạn.

Laravel – Ajax xem thêm

The post Laravel – File Uploading Tải lên tệp appeared first on Dongthoigian.

]]>
https://dongthoigian.net/laravel-file-uploading-tai-len-tep/feed/ 0
Laravel – Session Phiên https://dongthoigian.net/laravel-session-phien/ https://dongthoigian.net/laravel-session-phien/#respond Sun, 17 Oct 2021 00:36:07 +0000 https://dongthoigian.net/?p=9174 Laravel cung cấp nhiều trình điều khiển khác nhau như tệp, cookie, apc, mảng, Memcached, Redis và cơ sở dữ liệu để xử lý dữ liệu phiên

The post Laravel – Session Phiên appeared first on Dongthoigian.

]]>
Phiên được sử dụng để lưu trữ thông tin về người dùng trên các yêu cầu. Laravel cung cấp nhiều trình điều khiển khác nhau như tệp, cookie, apc, mảng, Memcached, Redis và cơ sở dữ liệu để xử lý dữ liệu phiên. Theo mặc định, trình điều khiển tệp được sử dụng vì nó nhẹ. Phiên có thể được cấu hình trong tệp được lưu trữ tại config / session.php .

Truy cập dữ liệu phiên

Để truy cập dữ liệu phiên, chúng tôi cần một phiên bản có thể được truy cập thông qua yêu cầu HTTP. Sau khi nhận được phiên bản, chúng ta có thể sử dụng phương thức get () , phương thức này sẽ sử dụng một đối số, “key” , để lấy dữ liệu phiên.

$value = $request->session()->get('key');

Bạn có thể sử dụng phương thức all () để lấy tất cả dữ liệu phiên thay vì phương thức get () .

Lưu trữ dữ liệu phiên

Dữ liệu có thể được lưu trữ trong phiên sử dụng phương thức put () . Phương thức put () sẽ nhận hai đối số, “khóa” và “giá trị” .

$request->session()->put('key', 'value');

Xóa dữ liệu phiên

Phương thức quên () được sử dụng để xóa một mục khỏi phiên. Phương thức này sẽ lấy “key” làm đối số.

$request->session()->forget('key');

Sử dụng phương thức flush () thay vì phương thức quên () để xóa tất cả dữ liệu phiên. Sử dụng phương thức pull () để lấy dữ liệu từ phiên và xóa nó sau đó. Phương thức pull () cũng sẽ lấy khóa làm đối số. Sự khác biệt giữa phương thức quên () và pull () là phương thức quên () sẽ không trả về giá trị của phiên và phương thức pull () sẽ trả về và xóa giá trị đó khỏi phiên.

Thí dụ

Bước 1 – Tạo một bộ điều khiển có tên SessionController bằng cách thực hiện lệnh sau.

php artisan make:controller SessionController --plain

Bước 2 – Sau khi thực hiện thành công, bạn sẽ nhận được kết quả sau:

SessionController

Bước 3 – Sao chép mã sau vào tệp tại

app / Http / Controllers / SessionController.php.app / Http / Controllers / SessionController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class SessionController extends Controller {
   public function accessSessionData(Request $request) {
      if($request->session()->has('my_name'))
         echo $request->session()->get('my_name');
      else
         echo 'No data in the session';
   }
   public function storeSessionData(Request $request) {
      $request->session()->put('my_name','Virat Gandhi');
      echo "Data has been added to session";
   }
   public function deleteSessionData(Request $request) {
      $request->session()->forget('my_name');
      echo "Data has been removed from session.";
   }
}

Bước 4 – Thêm các dòng sau vào tệp app / Http / route.php .

app / Http / route.php

Route::get('session/get','SessionController@accessSessionData');
Route::get('session/set','SessionController@storeSessionData');
Route::get('session/remove','SessionController@deleteSessionData');

Bước 5 – Truy cập URL sau để thiết lập dữ liệu trong phiên .

http://localhost:8000/session/set

Bước 6 – Đầu ra sẽ xuất hiện như trong hình sau.

thiết lập dữ liệu trong phiên

Bước 7 – Truy cập URL sau để lấy dữ liệu từ phiên .

http://localhost:8000/session/get

Bước 8 – Đầu ra sẽ xuất hiện như trong hình sau.

ấy dữ liệu từ phiên

Bước 9 – Truy cập URL sau để xóa dữ liệu phiên .

http://localhost:8000/session/remove

Bước 10 – Bạn sẽ thấy một thông báo như trong hình sau.

xóa dữ liệu phiên

Laravel – Validation Xác thực

Xác thực là khía cạnh quan trọng nhất trong khi thiết kế một ứng dụng. Nó xác nhận dữ liệu đến. Theo mặc định, lớp bộ điều khiển cơ sở sử dụng đặc điểm ValidatesRequests cung cấp một phương pháp thuận tiện để xác thực các yêu cầu HTTP đến với nhiều quy tắc xác thực mạnh mẽ.

Quy tắc xác thực có sẵn trong Laravel

Laravel sẽ luôn kiểm tra các lỗi trong dữ liệu phiên và tự động liên kết chúng với chế độ xem nếu chúng có sẵn. Vì vậy, điều quan trọng cần lưu ý là biến $ error sẽ luôn có sẵn trong tất cả các chế độ xem của bạn đối với mọi yêu cầu, cho phép bạn thuận tiện giả định rằng biến $ error luôn được xác định và có thể được sử dụng một cách an toàn. Bảng sau đây hiển thị tất cả các quy tắc xác thực có sẵn trong Laravel.

Quy tắc xác thực có sẵn trong Laravel
Đã được chấp nhậnURL hoạt độngSau (Ngày)
AlphaDấu gạch ngang AlphaAlpha Numeric
MảngTrước (Ngày)Giữa
BooleanĐã xác nhậnNgày
Định dạng ngày thángKhác nhauChữ số
Chữ số giữaE-mailTồn tại (Cơ sở dữ liệu)
Hình ảnh (Tệp)TrongSố nguyên
Địa chỉ IPJSONMax
Các loại MIME (Tệp)MinKhông có trong
SốBiểu hiện thông thườngCần thiết
Bắt buộc NếuBắt buộc trừ khiYêu cầu Với
Bắt buộc với tất cảBắt buộc Không cóBắt buộc Không có Tất cả
Tương tựKích thướcChuỗi
Múi giờDuy nhất (Cơ sở dữ liệu)URL

Biến $ error sẽ là một phiên bản của Illuminate \ Support \ MessageBag . Thông báo lỗi có thể được hiển thị trong tệp xem bằng cách thêm mã như hình dưới đây.

@if (count($errors) > 0)
   <div class = "alert alert-danger">
      <ul>
         @foreach ($errors->all() as $error)
            <li>{{ $error }}</li>
         @endforeach
      </ul>
   </div>
@endif

Thí dụ

Bước 1 – Tạo một bộ điều khiển có tên là ValidationController bằng cách thực hiện lệnh sau.

php artisan make:controller ValidationController --plain

Bước 2 – Sau khi thực hiện thành công, bạn sẽ nhận được kết quả sau:

ValidationController

Bước 3 – Sao chép mã sau vào

tệp app / Http / Controllers / ValidationController.php .app / Http / Controllers / ValidationController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class ValidationController extends Controller {
   public function showform() {
      return view('login');
   }
   public function validateform(Request $request) {
      print_r($request->all());
      $this->validate($request,[
         'username'=>'required|max:8',
         'password'=>'required'
      ]);
   }
}

Bước 4 – Tạo một tệp xem có tên là resource / views / login.blade.php và sao chép đoạn mã sau vào tệp đó.

resource / views / login.blade.php

<html>
   
   <head>
      <title>Login Form</title>
   </head>

   <body>
      
      @if (count($errors) > 0)
         <div class = "alert alert-danger">
            <ul>
               @foreach ($errors->all() as $error)
                  <li>{{ $error }}</li>
               @endforeach
            </ul>
         </div>
      @endif
      
      <?php
         echo Form::open(array('url'=>'/validation'));
      ?>
      
      <table border = '1'>
         <tr>
            <td align = 'center' colspan = '2'>Login</td>
         </tr>
         <tr>
            <td>Username</td>
            <td><?php echo Form::text('username'); ?></td>
         </tr>
         <tr>
            <td>Password</td>
            <td><?php echo Form::password('password'); ?></td>
         </tr>
         <tr>
            <td align = 'center' colspan = '2'
               ><?php echo Form::submit('Login'); ?  ></td>
         </tr>
      </table>
      
      <?php
         echo Form::close();
      ?>
   
   </body>
</html>

Bước 5 – Thêm các dòng sau vào app / Http / route.php .

app / Http / route.php

Route::get('/validation','ValidationController@showform');
Route::post('/validation','ValidationController@validateform');

Bước 6 – Truy cập URL sau để kiểm tra xác thực.

http://localhost:8000/validation

Bước 7 – Nhấp vào nút “Đăng nhập” mà không cần nhập bất kỳ thứ gì vào trường văn bản. Đầu ra sẽ như trong hình sau.

Đăng nhập

The post Laravel – Session Phiên appeared first on Dongthoigian.

]]>
https://dongthoigian.net/laravel-session-phien/feed/ 0
Laravel – Errors and Logging Lỗi và Ghi nhật ký https://dongthoigian.net/laravel-errors-and-logging-loi-va-ghi-nhat-ky/ https://dongthoigian.net/laravel-errors-and-logging-loi-va-ghi-nhat-ky/#respond Sat, 16 Oct 2021 11:09:00 +0000 https://dongthoigian.net/?p=9078 Một dự án đang trong quá trình thực hiện sẽ có một vài sai sót. Lỗi và xử lý ngoại lệ đã được định cấu hình cho bạn khi bạn bắt đầu một dự án Laravel mới.

The post Laravel – Errors and Logging Lỗi và Ghi nhật ký appeared first on Dongthoigian.

]]>
Chương này đề cập đến các lỗi và đăng nhập vào các dự án Laravel và cách làm việc với chúng.

Lỗi

Một dự án đang trong quá trình thực hiện sẽ có một vài sai sót. Lỗi và xử lý ngoại lệ đã được định cấu hình cho bạn khi bạn bắt đầu một dự án Laravel mới. Thông thường, trong môi trường cục bộ, chúng ta cần xem lỗi cho mục đích gỡ lỗi. Chúng tôi cần ẩn những lỗi này khỏi người dùng trong môi trường sản xuất. Điều này có thể đạt được với biến APP_DEBUG được đặt trong tệp môi trường .env được lưu trữ tại thư mục gốc của ứng dụng.

Đối với môi trường cục bộ, giá trị của APP_DEBUG phải là true nhưng đối với sản xuất, nó cần được đặt thành false để ẩn lỗi.

Lưu ý – Sau khi thay đổi biến APP_DEBUG , bạn nên khởi động lại máy chủ Laravel.

Ghi nhật ký

Ghi nhật ký là một cơ chế quan trọng mà hệ thống có thể ghi nhật ký các lỗi được tạo ra. Nó rất hữu ích để cải thiện độ tin cậy của hệ thống. Laravel hỗ trợ các chế độ ghi nhật ký khác nhau như chế độ nhật ký đơn, hàng ngày, nhật ký hệ thống và nhật ký lỗi. Bạn có thể đặt các chế độ này trong tệp config / app.php .

'log' => 'daily'

Bạn có thể xem các mục nhật ký đã tạo trong tệp lưu trữ / logs / laravel.log

Laravel – Forms Biểu mẫu

Laravel cung cấp nhiều thẻ tích hợp khác nhau để xử lý các biểu mẫu HTML một cách dễ dàng và an toàn. Tất cả các phần tử chính của HTML đều được tạo bằng Laravel. Để hỗ trợ điều này, chúng ta cần thêm gói HTML vào Laravel bằng cách sử dụng trình tổng hợp.

ví dụ 1

Bước 1 – Thực hiện lệnh sau để tiến hành tương tự.

composer require illuminate/html

Bước 2 – Thao tác này sẽ thêm gói HTML vào Laravel như thể hiện trong hình sau.

Laravel – Forms Biểu mẫu

Bước 3 – Bây giờ, chúng ta cần thêm gói hiển thị ở trên vào tệp cấu hình Laravel được lưu trữ tại config / app.php. Mở tệp này và bạn sẽ thấy danh sách các nhà cung cấp dịch vụ Laravel như trong hình sau. Thêm nhà cung cấp dịch vụ HTML như được chỉ ra trong hộp được phác thảo trong hình ảnh sau đây.

Laravel – Forms Biểu mẫu

Bước 4 – Thêm bí danh trong cùng một tệp cho HTML và Biểu mẫu. Lưu ý hai dòng được chỉ ra trong hộp được phác thảo trong hình ảnh sau đây và thêm hai dòng đó.

Laravel – Forms Biểu mẫu

Laravel – Forms Biểu mẫu

Bước 5 – Bây giờ mọi thứ đã được thiết lập. Hãy xem cách chúng ta có thể sử dụng các phần tử HTML khác nhau bằng các thẻ Laravel.

Mở biểu mẫu

{{ Form::open(array('url' => 'foo/bar')) }}
   //
{{ Form::close() }}

Tạo phần tử nhãn

echo Form::label('email', 'E-Mail Address');

Tạo kiểu nhập văn bản

echo Form::text('username');

Chỉ định một giá trị mặc định

echo Form::text('email', 'example@gmail.com');

Tạo mật khẩu nhập

echo Form::password('password');

Tạo đầu vào tệp

echo Form::file('image');

Tạo hộp kiểm hoặc đầu vào radio

echo Form::checkbox('name', 'value');
echo Form::radio('name', 'value');

Tạo hộp kiểm hoặc đầu vào radio được kiểm tra

echo Form::checkbox('name', 'value', true);
echo Form::radio('name', 'value', true);

Tạo danh sách thả xuống

echo Form::select('size', array('L' => 'Large', 'S' => 'Small'));

Tạo nút gửi

echo Form::submit('Click Me!');

Ví dụ 2

Bước 1 – Sao chép mã sau để tạo chế độ xem được gọi là

tài nguyên / lượt xem / form.php .resource / views / form.php

<html>
   <body>
      
      <?php
         echo Form::open(array('url' => 'foo/bar'));
            echo Form::text('username','Username');
            echo '<br/>';
            
            echo Form::text('email', 'example@gmail.com');
            echo '<br/>';
     
            echo Form::password('password');
            echo '<br/>';
            
            echo Form::checkbox('name', 'value');
            echo '<br/>';
            
            echo Form::radio('name', 'value');
            echo '<br/>';
            
            echo Form::file('image');
            echo '<br/>';
            
            echo Form::select('size', array('L' => 'Large', 'S' => 'Small'));
            echo '<br/>';
            
            echo Form::submit('Click Me!');
         echo Form::close();
      ?>
   
   </body>
</html>

Bước 2 – Thêm dòng sau trong app / Http / lines.php để thêm một tuyến đường cho view form.php app / Http / route.php

Route::get('/form',function() {
   return view('form');
});

Bước 3 – Truy cập URL sau để xem biểu mẫu.

http://localhost:8000/form

Bước 4 – Đầu ra sẽ xuất hiện như trong hình sau.

Laravel – Forms Biểu mẫu

Laravel – Localization Bản địa hóa

Tính năng bản địa hóa của Laravel hỗ trợ các ngôn ngữ khác nhau được sử dụng trong ứng dụng. Bạn cần lưu trữ tất cả các chuỗi ngôn ngữ khác nhau trong một tệp và các tệp này được lưu trữ tại thư mục resources / views . Bạn nên tạo một thư mục riêng cho từng ngôn ngữ được hỗ trợ. Tất cả các tệp ngôn ngữ sẽ trả về một mảng các chuỗi có khóa như được hiển thị bên dưới.

<?php
return [
   'welcome' => 'Welcome to the application'
];

Thí dụ

Bước 1 – Tạo 3 tệp cho các ngôn ngữ – tiếng Anh, tiếng Pháp và tiếng Đức . Lưu tệp tiếng Anh tại resources / lang / en / lang.php

<?php
   return [
      'msg' => 'Laravel Internationalization example.'
   ];
?>

Bước 2 – Lưu tệp tiếng Pháp tại resources / lang / fr / lang.php .

<?php
   return [
      'msg' => 'Exemple Laravel internationalisation.'
   ];
?>

Bước 3 – Lưu tệp tiếng Đức tại resources / lang / de / lang.php

<?php
   return [
      'msg' => 'Laravel Internationalisierung Beispiel.' 
   ];
?>

Bước 4 – Tạo một bộ điều khiển có tên LocalizationController bằng cách thực hiện lệnh sau.

php artisan make:controller LocalizationController --plain

Bước 5 – Sau khi thực hiện thành công, bạn sẽ nhận được kết quả sau:

Laravel – Forms Biểu mẫu

Bước 6 – Sao chép mã sau vào tệp

app / Http / Controllers / LocalizationController.phpapp / Http / Controllers / LocalizationController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class LocalizationController extends Controller {
   public function index(Request $request,$locale) {
      //set’s application’s locale
      app()->setLocale($locale);
      
      //Gets the translated message and displays it
      echo trans('lang.msg');
   }
}

Bước 7 – Thêm một tuyến đường cho LocalizationController trong tệp app / Http / route.php . Lưu ý rằng chúng tôi đang chuyển đối số {locale} sau khi bản địa hóa / mà chúng tôi sẽ sử dụng để xem đầu ra bằng ngôn ngữ khác.

app / Http / route.php

Route::get('localization/{locale}','LocalizationController@index');

Bước 8 – Bây giờ, chúng ta hãy truy cập các URL khác nhau để xem tất cả các ngôn ngữ khác nhau. Thực thi URL dưới đây để xem đầu ra bằng ngôn ngữ tiếng Anh.

http://localhost:8000/localization/en

Bước 9 – Đầu ra sẽ xuất hiện như trong hình sau.

Laravel – Forms Biểu mẫu

Bước 10 – Thực hiện URL bên dưới để xem đầu ra bằng ngôn ngữ tiếng Pháp.

http://localhost:8000/localization/fr

Bước 11 – Đầu ra sẽ xuất hiện như trong hình sau.

Laravel – Forms Biểu mẫu

Bước 12 – Thực hiện URL bên dưới để xem đầu ra bằng tiếng Đức

http://localhost:8000/localization/de

Bước 13 – Đầu ra sẽ xuất hiện như trong hình sau.

Laravel – Forms Biểu mẫu

Laravel – Session Phiên xem thêm

The post Laravel – Errors and Logging Lỗi và Ghi nhật ký appeared first on Dongthoigian.

]]>
https://dongthoigian.net/laravel-errors-and-logging-loi-va-ghi-nhat-ky/feed/ 0
Laravel – Working With Database Cơ sở dữ liệu https://dongthoigian.net/laravel-working-with-database-co-so-du-lieu/ https://dongthoigian.net/laravel-working-with-database-co-so-du-lieu/#respond Sun, 10 Oct 2021 04:41:57 +0000 https://dongthoigian.net/?p=8976 Laravel đã làm cho việc xử lý với cơ sở dữ liệu trở nên rất dễ dàng. Laravel hiện hỗ trợ 4 cơ sở dữ liệu sau

The post Laravel – Working With Database Cơ sở dữ liệu appeared first on Dongthoigian.

]]>
Laravel đã làm cho việc xử lý với cơ sở dữ liệu trở nên rất dễ dàng. Laravel hiện hỗ trợ 4 cơ sở dữ liệu sau:

  • MySQL
  • Postgres
  • SQLite
  • Máy chủ SQL

Truy vấn đến cơ sở dữ liệu có thể được kích hoạt bằng cách sử dụng SQL thô, trình tạo truy vấn thông thạo và Eloquent ORM. Để hiểu tất cả các hoạt động CRUD (Tạo, Đọc, Cập nhật, Xóa) với Laravel, chúng tôi sẽ sử dụng hệ thống quản lý sinh viên đơn giản.

Kết nối với Cơ sở dữ liệu

Định cấu hình cơ sở dữ liệu trong tệp config / database.php và tạo cơ sở dữ liệu đại học với cấu trúc trong MySQL như trong bảng sau.Cơ sở dữ liệu: Bảng Sinh Viên

Tên cột dọcKiểu dữ liệu cộtThêm
Tôiint (11)Khóa chính | Tăng tự động
Tênvarchar (25)

Chúng ta sẽ xem cách thêm, xóa, cập nhật và truy xuất các bản ghi từ cơ sở dữ liệu bằng cách sử dụng Laravel trong bảng sinh viên.

Sr.No.Ghi lại & Mô tả
1Chèn hồ sơ Chúng ta có thể chèn bản ghi bằng cách sử dụng mặt tiền DB với phương thức chèn.
2Truy xuất bản ghi Sau khi cấu hình cơ sở dữ liệu, chúng ta có thể truy xuất các bản ghi bằng cách sử dụng mặt tiền DB với phương thức select.
3Cập nhật hồ sơ Chúng tôi có thể cập nhật các bản ghi bằng cách sử dụng mặt tiền DB với phương thức cập nhật.
4Xóa bản ghi Chúng ta có thể xóa bản ghi bằng cách sử dụng mặt tiền DB với phương thức xóa.

1 . chèn hồ sơ:

Chúng ta có thể chèn bản ghi bằng cách sử dụng mặt tiền DB với phương thức chèn . Cú pháp của phương thức insert như trong bảng sau.

Cú phápbool insert (string $ query, array $ bindings = array ())
Thông số$ query (string) – truy vấn để thực thi trong cơ sở dữ liệu $ bindings (array) – các giá trị để liên kết với các truy vấn
Lợi nhuậnbool
Sự miêu tảChạy một câu lệnh chèn đối với cơ sở dữ liệu.

Thí dụ

Bước 1 – Thực hiện lệnh dưới đây để tạo bộ điều khiển có tên là StudInsertController

php artisan make:controller StudInsertController --plain

Bước 2 – Sau khi thực hiện thành công bước 1, bạn sẽ nhận được kết quả sau:

laraveldongthoigian

Bước 3 – Sao chép mã sau vào tệp

app / Http / Controllers / StudInsertController.php

app / Http / Controllers / StudInsertController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use DB;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class StudInsertController extends Controller {
   public function insertform() {
      return view('stud_create');
   }
	
   public function insert(Request $request) {
      $name = $request->input('stud_name');
      DB::insert('insert into student (name) values(?)',[$name]);
      echo "Record inserted successfully.<br/>";
      echo '<a href = "/insert">Click Here</a> to go back.';
   }
}

Bước 4 – Tạo một tệp dạng xem có tên là resources / views / stud_create.php và sao chép đoạn mã sau vào tệp đó.

resource / views / stud_create.php

<html>
   <head>
      <title>Student Management | Add</title>
   </head>

   <body>
      <form action = "/create" method = "post">
         <input type = "hidden" name = "_token" value = "<?php echo csrf_token(); ?>">
         <table>
            <tr>
               <td>Name</td>
               <td><input type='text' name='stud_name' /></td>
            </tr>
            <tr>
               <td colspan = '2'>
                  <input type = 'submit' value = "Add student"/>
               </td>
            </tr>
         </table>
      </form>
      
   </body>
</html>

Bước 5 – Thêm các dòng sau vào app / Http / route.php .app / Http / route.php

Route::get('insert','StudInsertController@insertform');
Route::post('create','StudInsertController@insert');

Bước 6 – Truy cập URL sau để chèn bản ghi vào cơ sở dữ liệu.

http://localhost:8000/insert

Bước 7 – Đầu ra sẽ xuất hiện như trong hình sau.

2 Truy xuất bản ghi:

Sau khi cấu hình cơ sở dữ liệu, chúng ta có thể truy xuất các bản ghi bằng cách sử dụng mặt tiền DB với phương thức select . Cú pháp của phương thức select như trong bảng sau.

Cú phápchọn mảng (chuỗi $ truy vấn, mảng $ ràng buộc = mảng ())
Thông số$ query (string) – truy vấn để thực thi trong cơ sở dữ liệu $ bindings (array) – các giá trị để liên kết với các truy vấn
Lợi nhuậnmảng
Sự miêu tảChạy một câu lệnh chọn đối với cơ sở dữ liệu.

Thí dụ

Bước 1 – Thực hiện lệnh dưới đây để tạo một bộ điều khiển có tên là StudViewController .

php artisan make:controller StudViewController --plain

Bước 2 – Sau khi thực hiện thành công bước 1, bạn sẽ nhận được kết quả sau:

laraveldongthoigian

Bước 3 – Sao chép mã sau vào tệp

app / Http / Controllers / StudViewController.php

app / Http / Controllers / StudViewController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use DB;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class StudViewController extends Controller {
   public function index() {
      $users = DB::select('select * from student');
      return view('stud_view',['users'=>$users]);
   }
}

Bước 4 – Tạo một tệp dạng xem có tên là resource / views / stud_view.blade.php và sao chép đoạn mã sau vào tệp đó.resource / views / stud_view.blade.php

<html>
   
   <head>
      <title>View Student Records</title>
   </head>
   
   <body>
      <table border = 1>
         <tr>
            <td>ID</td>
            <td>Name</td>
         </tr>
         @foreach ($users as $user)
         <tr>
            <td>{{ $user->id }}</td>
            <td>{{ $user->name }}</td>
         </tr>
         @endforeach
      </table>
   </body>
</html>

Bước 5 – Thêm các dòng sau vào app / Http / route.php.

app / Http / route.php

Route::get('view-records','StudViewController@index');

Bước 6 – Truy cập URL sau để xem các bản ghi từ cơ sở dữ liệu.

http://localhost:8000/view-records

Bước 7 – Đầu ra sẽ xuất hiện như trong hình sau.

laraveldongthoigian

3. Cập nhật hồ sơ:

Chúng tôi có thể cập nhật các bản ghi bằng cách sử dụng mặt tiền DB với phương thức cập nhật . Cú pháp của phương thức cập nhật như trong bảng sau.

Cú phápint update (string $ query, array $ bindings = array ())
Thông số$ query (string) – truy vấn để thực thi trong cơ sở dữ liệu $ bindings (array) – các giá trị để liên kết với các truy vấn
Lợi nhuậnNS
Sự miêu tảChạy một câu lệnh cập nhật đối với cơ sở dữ liệu.

Thí dụ

Quan sát ví dụ sau để hiểu thêm về cập nhật bản ghi –

Bước 1 – Thực hiện lệnh dưới đây để tạo một bộ điều khiển có tên là StudViewController .

php artisan make:controller StudUpdateController --plain

Bước 2 – Sau khi thực hiện thành công, bạn sẽ nhận được kết quả sau:

laraveldongthoigian

Bước 3 – Sao chép mã sau vào tệp ứng dụng / Http / Controllers / StudUpdateController.php

app / Http / Controllers / StudUpdateController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use DB;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class StudUpdateController extends Controller {
   public function index() {
      $users = DB::select('select * from student');
      return view('stud_edit_view',['users'=>$users]);
   }
   public function show($id) {
      $users = DB::select('select * from student where id = ?',[$id]);
      return view('stud_update',['users'=>$users]);
   }
   public function edit(Request $request,$id) {
      $name = $request->input('stud_name');
      DB::update('update student set name = ? where id = ?',[$name,$id]);
      echo "Record updated successfully.<br/>";
      echo '<a href = "/edit-records">Click Here</a> to go back.';
   }
}

Bước 4 – Tạo tệp dạng xem có tên

resource / views / stud_edit_view.blade.php và sao chép đoạn mã sau vào tệp đó.resource / views / stud_edit_view.blade.php

<html>
   <head>
      <title>View Student Records</title>
   </head>
   
   <body>
      
      <table border = "1">
         <tr>
            <td>ID</td>
            <td>Name</td>
            <td>Edit</td>
         </tr>
         @foreach ($users as $user)
         <tr>
            <td>{{ $user->id }}</td>
            <td>{{ $user->name }}</td>
            <td><a href = 'edit/{{ $user->id }}'>Edit</a></td>
         </tr>
         @endforeach
      </table>
   </body>
</html>

Bước 5 – Tạo một tệp dạng xem khác được gọi là

resource / views / stud_update.php và sao chép đoạn mã sau vào tệp đó.resource / views / stud_update.php

<html>
   
   <head>
      <title>Student Management | Edit</title>
   </head>
   
   <body>
      <form action = "/edit/<?php echo $users[0]->id; ?>" method = "post">
         <input type = "hidden" name = "_token" value = "<?php echo csrf_token(); ?>">
      
         <table>
            <tr>
               <td>Name</td>
               <td>
                  <input type = 'text' name = 'stud_name' 
                     value = '<?php echo$users[0]->name; ?>'/>
               </td>
            </tr>
            <tr>
               <td colspan = '2'>
                  <input type = 'submit' value = "Update student" />
               </td>
            </tr>
         </table>
      </form>
   </body>
</html>

Bước 6 – Thêm các dòng sau vào app / Http / route.php.app / Http / route.php.

Route::get('edit-records','StudUpdateController@index');
Route::get('edit/{id}','StudUpdateController@show');
Route::post('edit/{id}','StudUpdateController@edit');

Bước 7 – Truy cập URL sau để cập nhật các bản ghi trong cơ sở dữ liệu.

http://localhost:8000/edit-records

Bước 8 – Đầu ra sẽ xuất hiện như trong hình sau.

laraveldongthoigian

Bước 9 – Nhấp vào liên kết chỉnh sửa trên bất kỳ bản ghi nào và bạn sẽ được chuyển hướng đến một trang nơi bạn có thể chỉnh sửa bản ghi cụ thể đó.

Bước 10 – Đầu ra sẽ xuất hiện như trong hình sau.

laraveldongthoigian

Bước 11 – Sau khi chỉnh sửa bản ghi đó, bạn sẽ thấy một lời nhắc như trong hình sau.

laraveldongthoigian

4. Xóa bản ghi:

Chúng ta có thể xóa bản ghi bằng cách sử dụng mặt tiền DB với phương thức xóa . Cú pháp của phương thức xóa được hiển thị trong bảng sau.

Cú phápint delete (chuỗi $ truy vấn, mảng $ ràng buộc = mảng ())
Thông số$ query (string) – truy vấn để thực thi trong cơ sở dữ liệu $ bindings (array) – các giá trị để liên kết với các truy vấn
Lợi nhuậnNS
Sự miêu tảChạy câu lệnh xóa đối với cơ sở dữ liệu.

Thí dụ

Bước 1 – Thực hiện lệnh dưới đây để tạo một bộ điều khiển có tên là StudDeleteController .

php artisan make:controller StudDeleteController --plain

Bước 2 – Sau khi thực hiện thành công, bạn sẽ nhận được kết quả sau:

laraveldongthoigian

Bước 3 – Sao chép mã sau vào tệp

app / Http / Controllers / StudDeleteController.phpapp / Http / Controllers / StudDeleteController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use DB;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class StudDeleteController extends Controller {
   public function index() {
      $users = DB::select('select * from student');
      return view('stud_delete_view',['users'=>$users]);
   }
   public function destroy($id) {
      DB::delete('delete from student where id = ?',[$id]);
      echo "Record deleted successfully.<br/>";
      echo '<a href = "/delete-records">Click Here</a> to go back.';
   }
}

Bước 4 – Tạo tệp dạng xem có tên

resource / views / stud_delete_view.blade.php và sao chép đoạn mã sau vào tệp đó.resource / views / stud_delete_view.blade.php

<html>
   
   <head>
      <title>View Student Records</title>
   </head>
   
   <body>
      <table border = "1">
         <tr>
            <td>ID</td>
            <td>Name</td>
            <td>Edit</td>
         </tr>
         @foreach ($users as $user)
         <tr>
            <td>{{ $user->id }}</td>
            <td>{{ $user->name }}</td>
            <td><a href = 'delete/{{ $user->id }}'>Delete</a></td>
         </tr>
         @endforeach
      </table>
   </body>
</html>

Bước 5 – Thêm các dòng sau vào app / Http / route.php .

app / Http / route.php

Route::get('delete-records','StudDeleteController@index');
Route::get('delete/{id}','StudDeleteController@destroy');

Bước 6 – Đầu ra sẽ xuất hiện như trong hình sau.

laraveldongthoigian

Bước 7 – Nhấp vào liên kết xóa để xóa bản ghi đó khỏi cơ sở dữ liệu. Bạn sẽ được chuyển đến một trang nơi bạn sẽ thấy một thông báo như trong hình sau.

laraveldongthoigian

Bước 8 – Nhấp vào liên kết “Nhấp vào đây” và bạn sẽ được chuyển hướng đến một trang nơi bạn sẽ thấy tất cả các bản ghi ngoại trừ bản đã bị xóa.

laraveldongthoigian

Laravel – Errors and Logging Lỗi và Ghi nhật ký Xem Thêm

The post Laravel – Working With Database Cơ sở dữ liệu appeared first on Dongthoigian.

]]>
https://dongthoigian.net/laravel-working-with-database-co-so-du-lieu/feed/ 0
Laravel – Blade Templates https://dongthoigian.net/laravel-blade-templates/ https://dongthoigian.net/laravel-blade-templates/#respond Fri, 08 Oct 2021 11:06:54 +0000 https://dongthoigian.net/?p=8895 Laravel 5.1 giới thiệu khái niệm sử dụng Blade , một công cụ tạo khuôn mẫu để thiết kế một bố cục độc đáo. Bố cục được thiết kế như vậy có thể được sử dụng bởi các khung nhìn khác và bao gồm một thiết kế và cấu trúc nhất quán.

The post Laravel – Blade Templates appeared first on Dongthoigian.

]]>
Laravel 5.1 giới thiệu khái niệm sử dụng Blade , một công cụ tạo khuôn mẫu để thiết kế một bố cục độc đáo. Bố cục được thiết kế như vậy có thể được sử dụng bởi các khung nhìn khác và bao gồm một thiết kế và cấu trúc nhất quán.

Khi so sánh với các động cơ tạo khuôn mẫu khác, Blade là duy nhất ở những điểm sau:

  • Nó không hạn chế nhà phát triển sử dụng mã PHP thuần túy trong các khung nhìn.

Do đó, các khung nhìn phiến được thiết kế, được biên dịch và lưu vào bộ nhớ cache cho đến khi chúng được sửa đổi.

Laravel - Blade Templates

Cấu trúc thư mục hoàn chỉnh của Laravel được hiển thị trong ảnh chụp màn hình ở đây.

Bạn có thể quan sát thấy rằng tất cả các khung nhìn được lưu trữ trong thư mục resources / views và khung nhìn mặc định cho Laravel framework là welcome.blade.php .

Xin lưu ý rằng các mẫu cốt vợt khác cũng được tạo tương tự.

Các bước để tạo một bố cục mẫu Blade

Bạn sẽ phải sử dụng các bước sau để tạo bố cục mẫu lưỡi dao –

Bước 1

  • Tạo một thư mục bố trí bên trong thư mục tài nguyên / chế độ xem . Chúng tôi sẽ sử dụng thư mục này để lưu trữ tất cả các bố cục cùng nhau.

Tạo một tên tệp master.blade.php sẽ có mã sau được liên kết với nó:

<html>
   <head>
      <title>DemoLaravel - @yield('title')</title>
   </head>
   <body>
      @yield('content')
   </body>
</html>

Bước 2

Trong bước này, bạn nên mở rộng bố cục. Mở rộng bố cục bao gồm việc xác định các phần tử con. Laravel sử dụng chỉ thị Blade @extends để xác định các phần tử con.

Khi bạn mở rộng một bố cục, hãy lưu ý những điểm sau:

  • Các khung nhìn được xác định trong Blade Layout sẽ chèn vùng chứa theo một cách duy nhất.
  • Các phần khác nhau của chế độ xem được tạo dưới dạng các phần tử con.
  • Các phần tử con được lưu trữ trong thư mục layouts dưới dạng child.blade.php

Một ví dụ cho thấy việc mở rộng bố cục đã tạo ở trên được hiển thị ở đây –

@extends('layouts.app')
@section('title', 'Page Title')
@section('sidebar')
   @parent
<p>This refers to the master sidebar.</p>
@endsection
@section('content')
<p>This is my body content.</p>
@endsection

Bước 3

Để triển khai các phần tử con trong các khung nhìn, bạn nên xác định bố cục theo cách cần thiết.

laravel

Quan sát ảnh chụp màn hình được hiển thị ở đây. Bạn có thể thấy rằng mỗi liên kết được đề cập trong trang đích đều là siêu liên kết. Xin lưu ý rằng bạn cũng có thể tạo chúng dưới dạng phần tử con với sự trợ giúp của các mẫu lưỡi bằng cách sử dụng quy trình được đưa ra ở trên.

Laravel – Redirections Chuyển hướng

Tuyến đường đã đặt tên được sử dụng để đặt tên cụ thể cho một tuyến đường. Tên có thể được chỉ định bằng cách sử dụng khóa mảng “as”

Route::get('user/profile', ['as' => 'profile', function () {
   //
}]);

Lưu ý – Ở đây, chúng tôi đã cung cấp cấu hình tên cho người dùng / cấu hình tuyến .

Chuyển hướng đến các tuyến đường được đặt tên

Thí dụ

Quan sát ví dụ sau để hiểu thêm về Chuyển hướng đến các tuyến đường đã đặt tên –

Bước 1 – Tạo một dạng xem có tên test.php và lưu nó tạiresource / views / test.php .

<html>
   <body>
      <h1>Example of Redirecting to Named Routes</h1>
   </body>
</html>

Bước 2 – Trong route.php , chúng ta đã thiết lập đường dẫn cho tệp test.php . Chúng tôi đã đổi tên nó thành thử nghiệm . Chúng tôi cũng đã thiết lập một chuyển hướng tuyến đường khác sẽ chuyển hướng yêu cầu đến thử nghiệm tuyến đường được đặt tên .app / Http / route.php

Route::get('/test', ['as'=>'testing',function() {
   return view('test2');
}]);

Route::get('redirect',function() {
   return redirect()->route('testing');
});

Bước 3 – Truy cập URL sau để kiểm tra ví dụ về tuyến đường đã đặt tên.

http://localhost:8000/redirect

Bước 4 – Sau khi thực thi URL ở trên, bạn sẽ được chuyển hướng đến http: // localhost: 8000 / test vì chúng tôi đang chuyển hướng đến kiểm tra tuyến được đặt tên .Bước 5 – Sau khi thực hiện thành công URL, bạn sẽ nhận được kết quả sau:

laravel

Chuyển hướng đến Hành động của Bộ điều khiển

Không chỉ tuyến đường được đặt tên mà chúng ta còn có thể chuyển hướng đến các hành động của bộ điều khiển. Chúng ta chỉ cần chuyển bộ điều khiển và tên của hành động cho phương thức hành động như thể hiện trong ví dụ sau. Nếu bạn muốn truyền một tham số, bạn có thể truyền nó làm đối số thứ hai của phương thức hành động.

return redirect()->action(‘NameOfController@methodName’,[parameters]);

Thí dụ

Bước 1 – Thực hiện lệnh sau để tạo một bộ điều khiển có tên là RedirectController .

php artisan make:controller RedirectController --plain

Bước 2 – Sau khi thực hiện thành công, bạn sẽ nhận được kết quả sau:

laravel

Bước 3 – Sao chép mã sau vào tệp

app / Http / Controllers / RedirectController.php .app / Http / Controllers / RedirectController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class RedirectController extends Controller {
   public function index() {
      echo "Redirecting to controller's action.";
   }
}

Bước 4 – Thêm các dòng sau vào app / Http / route.php .

app / Http / route.php

Route::get('rr','RedirectController@index');
Route::get('/redirectcontroller',function() {
   return redirect()->action('RedirectController@index');
});

Bước 5 – Truy cập URL sau để kiểm tra ví dụ

http://localhost:8000/redirectcontroller

Bước 6 – Đầu ra sẽ xuất hiện như trong hình sau.

laravel

Laravel – Working With Database Cơ sở dữ liệu Xem Thêm

The post Laravel – Blade Templates appeared first on Dongthoigian.

]]>
https://dongthoigian.net/laravel-blade-templates/feed/ 0