Làm cách nào để tạo mặt tiền tùy chỉnh trong PHP?

Tạo lớp trợ giúp PHP

php artisan make:provider LarashoutServiceProvider
1 trong
php artisan make:provider LarashoutServiceProvider
2. Bạn có thể tạo thư mục theo ý mình thay vì Larashout

namespace App\Larashout;

class Larashout
{
    public function sayHello[]
    {
        echo "Hello, from Facade class.";
    }
}

Bước 2

Liên kết lớp này với Nhà cung cấp dịch vụ, trong trường hợp của tôi, tôi sẽ tạo nhà cung cấp dịch vụ bằng cách thực hiện lệnh bên dưới

php artisan make:provider LarashoutServiceProvider

Sau đó thêm mã bên dưới vào phương thức

php artisan make:provider LarashoutServiceProvider
3 để ràng buộc lớp của chúng ta

$this->app->bind['larashout',function[]{

        return new Larashout[];

}];

Vì vậy, lớp nhà cung cấp dịch vụ của bạn sẽ giống như bên dưới

namespace App\Providers;

use App\Larashout;

use Illuminate\Support\Facades\App;
use Illuminate\Support\ServiceProvider;

class LarashoutServiceProvider extends ServiceProvider
{
    /**
     * Bootstrap the application services.
     *
     * @return void
     */
    public function boot[]
    {
        //
    }

    /**
     * Register the application services.
     *
     * @return void
     */
    public function register[]
    {
        $this->app->bind['larashout',function[]{

        return new Larashout[];

        }];
    }
}

Bước 3

Đăng ký nhà cung cấp dịch vụ đó trong

php artisan make:provider LarashoutServiceProvider
4 với tư cách là nhà cung cấp

________số 8

Bước 4

Tạo một tệp

php artisan make:provider LarashoutServiceProvider
5 trong
php artisan make:provider LarashoutServiceProvider
2 sẽ mở rộng
php artisan make:provider LarashoutServiceProvider
7. Ví dụ, lớp học của tôi sẽ giống như dưới đây

không gian tên Ứng dụng \ Larashout;

sử dụng Chiếu sáng\Hỗ trợ\Mặt tiền\Mặt tiền;

php artisan make:provider LarashoutServiceProvider
2

Bước5

Đăng ký lớp được tạo ở Bước 4 trong

php artisan make:provider LarashoutServiceProvider
4 dưới dạng bí danh

php artisan make:provider LarashoutServiceProvider
4

thử nghiệm

Hãy kiểm tra mặt tiền của bạn bằng cách thêm một tuyến đường đơn giản sẽ phân giải thành một hàm đóng triển khai lớp mặt tiền của chúng ta

php artisan make:provider LarashoutServiceProvider
5

Truy cập trình duyệt của bạn với tuyến đường trên và bạn sẽ thấy thông báo xin chào. Tôi hy vọng bài đăng này sẽ giúp bạn triển khai mặt tiền tùy chỉnh

"Laravel có những thứ gọi là mặt tiền - mà chúng ta có thể hiểu là các trình bao bọc tĩnh xung quanh các thể hiện [đối tượng] hoặc giao diện không tĩnh theo truyền thống được sử dụng để loại bỏ hành vi của một lớp nhất định. "

Ra khỏi cổng, Laravel đi kèm với một số Mặt tiền được xác định trước - Ứng dụng, Nghệ nhân, Lưỡi dao, Phát sóng, Chế độ xem, v.v.

Hầu hết các Mặt tiền này đều được kết nối với chức năng trợ giúp toàn cầu có liên quan

Ví dụ về các facade có trợ giúp toàn cục

  • Mặt tiền ứng dụng có chức năng trợ giúp toàn cầu
    namespace App\Providers;
    
    use App\Larashout;
    
    use Illuminate\Support\Facades\App;
    use Illuminate\Support\ServiceProvider;
    
    class LarashoutServiceProvider extends ServiceProvider
    {
        /**
         * Bootstrap the application services.
         *
         * @return void
         */
        public function boot[]
        {
            //
        }
    
        /**
         * Register the application services.
         *
         * @return void
         */
        public function register[]
        {
            $this->app->bind['larashout',function[]{
    
            return new Larashout[];
    
            }];
        }
    }
    6 có liên quan
  • View Facade có chức năng trợ giúp toàn cầu
    namespace App\Providers;
    
    use App\Larashout;
    
    use Illuminate\Support\Facades\App;
    use Illuminate\Support\ServiceProvider;
    
    class LarashoutServiceProvider extends ServiceProvider
    {
        /**
         * Bootstrap the application services.
         *
         * @return void
         */
        public function boot[]
        {
            //
        }
    
        /**
         * Register the application services.
         *
         * @return void
         */
        public function register[]
        {
            $this->app->bind['larashout',function[]{
    
            return new Larashout[];
    
            }];
        }
    }
    7 có liên quan
  • Mặt tiền cấu hình có chức năng trợ giúp toàn cầu
    php artisan make:provider LarashoutServiceProvider
    60 có liên quan

Làm thế nào để chúng ta gọi một Mặt tiền?

  • 1. mở thiết bị đầu cuối
  • 2. Chạy
    php artisan make:provider LarashoutServiceProvider
    61
  • 3. Thêm dấu gạch chéo ngược
    php artisan make:provider LarashoutServiceProvider
    62 vào lớp đã cho có mặt tiền

php artisan make:provider LarashoutServiceProvider
63

Làm cách nào để chúng tôi tạo Mặt tiền tùy chỉnh của riêng mình trong Laravel?

  • 1. Tạo một lớp dịch vụ truyền thống [Một lớp cung cấp dịch vụ cho ứng dụng của chúng ta]

namespace App\Larashout;

class Larashout
{
    public function sayHello[]
    {
        echo "Hello, from Facade class.";
    }
}
0

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Hiện tại để truy cập phương thức example[] của lớp

php artisan make:provider LarashoutServiceProvider
64, chúng ta cần thực hiện như sau

php artisan make:provider LarashoutServiceProvider
6

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Những gì chúng tôi muốn có thể làm là truy cập tĩnh vào cùng một lớp với cùng chức năng và không cần nhập toàn bộ đường dẫn lớp

Ví dụ. Chúng tôi muốn đơn giản là có thể làm điều này

namespace App\Larashout;

class Larashout
{
    public function sayHello[]
    {
        echo "Hello, from Facade class.";
    }
}
3

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

  • 1. Chúng tôi đã tạo lớp dịch vụ của mình
  • 2. Chúng ta cần tạo lớp Mặt tiền của mình
    • Điều đó kéo dài
      php artisan make:provider LarashoutServiceProvider
      65
    • Triển khai hàm
      php artisan make:provider LarashoutServiceProvider
      66 có tên là
      php artisan make:provider LarashoutServiceProvider
      67 trả về khóa trong vùng chứa dịch vụ của chúng tôi mà chúng tôi sẽ sử dụng để liên kết lớp Dịch vụ
      php artisan make:provider LarashoutServiceProvider
      64 của chúng tôi với Vùng chứa dịch vụ

namespace App\Larashout;

class Larashout
{
    public function sayHello[]
    {
        echo "Hello, from Facade class.";
    }
}
8

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

  • 3. Bây giờ, chúng ta cần liên kết lớp Dịch vụ
    php artisan make:provider LarashoutServiceProvider
    64 của mình với Bộ chứa dịch vụ bằng khóa là
    php artisan make:provider LarashoutServiceProvider
    64 vì
    php artisan make:provider LarashoutServiceProvider
    64 là giá trị được phương thức
    namespace App\Larashout;
    
    class Larashout
    {
        public function sayHello[]
        {
            echo "Hello, from Facade class.";
        }
    }
    32 trả về trong lớp
    namespace App\Larashout;
    
    class Larashout
    {
        public function sayHello[]
        {
            echo "Hello, from Facade class.";
        }
    }
    33

php artisan make:provider LarashoutServiceProvider
4

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Bây giờ chúng ta có thể giải quyết một thể hiện của lớp

php artisan make:provider LarashoutServiceProvider
64 bằng cách tham chiếu vùng chứa dịch vụ của chúng ta. Khi chúng tôi truy xuất thứ gì đó từ bộ chứa dịch vụ của mình bằng phím 'Thông tin', chúng tôi sẽ trả về một đối tượng
namespace App\Larashout;

class Larashout
{
    public function sayHello[]
    {
        echo "Hello, from Facade class.";
    }
}
35 mới

namespace App\Larashout;

class Larashout
{
    public function sayHello[]
    {
        echo "Hello, from Facade class.";
    }
}
33 của chúng tôi tham chiếu khóa được sử dụng để liên kết
namespace App\Larashout;

class Larashout
{
    public function sayHello[]
    {
        echo "Hello, from Facade class.";
    }
}
35 với bộ chứa dịch vụ của chúng tôi - do đó, nó biết cách giải quyết phiên bản từ bộ chứa của chúng tôi

Bây giờ, chúng tôi đã thiết lập chức năng cho Mặt tiền của mình. Với lớp Dịch vụ được liên kết với vùng chứa và lớp Mặt tiền tham chiếu liên kết trả về một thể hiện của lớp dịch vụ đó từ vùng chứa của chúng ta, chúng ta thực sự có thể sử dụng Mặt tiền của mình bằng cách tham chiếu toàn bộ đường dẫn lớp đến mặt tiền đã cho của chúng ta

php artisan make:provider LarashoutServiceProvider
9

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Chúng ta đã gần kết thúc, vậy làm thế nào để chúng ta chuyển từ việc cần tham chiếu toàn bộ đường dẫn lớp đến mặt tiền của chúng ta như vậy như vậy

namespace App\Larashout;

class Larashout
{
    public function sayHello[]
    {
        echo "Hello, from Facade class.";
    }
}
38 xuống chỉ cần gọi
namespace App\Larashout;

class Larashout
{
    public function sayHello[]
    {
        echo "Hello, from Facade class.";
    }
}
39?

Bước này thực sự cực kỳ đơn giản - chúng tôi thêm bí danh. Chúng tôi chỉ đơn giản là tạo một bí danh cho đường dẫn lớp Mặt tiền của chúng tôi là

namespace App\Larashout;

class Larashout
{
    public function sayHello[]
    {
        echo "Hello, from Facade class.";
    }
}
80 và bí danh đó sẽ là
namespace App\Larashout;

class Larashout
{
    public function sayHello[]
    {
        echo "Hello, from Facade class.";
    }
}
81

Làm cách nào để thêm bí danh trong Laravel?

  • 1. Chúng tôi mở
    namespace App\Larashout;
    
    class Larashout
    {
        public function sayHello[]
        {
            echo "Hello, from Facade class.";
        }
    }
    82
  • 2. Chúng tôi cuộn xuống mảng
    namespace App\Larashout;
    
    class Larashout
    {
        public function sayHello[]
        {
            echo "Hello, from Facade class.";
        }
    }
    83 của chúng tôi
  • 3. Chúng tôi thêm bí danh của chúng tôi

php artisan make:provider LarashoutServiceProvider
6

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Bây giờ chúng ta có thể mở thiết bị đầu cuối của mình, chạy

namespace App\Larashout;

class Larashout
{
    public function sayHello[]
    {
        echo "Hello, from Facade class.";
    }
}
84 sau đó chạy
php artisan make:provider LarashoutServiceProvider
61 và thực thi

php artisan make:provider LarashoutServiceProvider
9

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Và cứ như thế, nó hoạt động. Đó là Mặt tiền của Laravel đó mọi người

Đánh giá mặt tiền của Laravel

  • 1. Tạo một lớp dịch vụ [Ví dụ.
    php artisan make:provider LarashoutServiceProvider
    64]
  • 2. Tạo một lớp mặt tiền [Ví dụ.
    namespace App\Larashout;
    
    class Larashout
    {
        public function sayHello[]
        {
            echo "Hello, from Facade class.";
        }
    }
    33]
  • 3. Liên kết lớp dịch vụ của chúng tôi với bộ chứa dịch vụ bằng bất kỳ khóa nào [Ví dụ:. liên kết lớp Thông tin của chúng tôi với khóa của
    php artisan make:provider LarashoutServiceProvider
    64]
  • 4. Quay lại lớp
    namespace App\Larashout;
    
    class Larashout
    {
        public function sayHello[]
        {
            echo "Hello, from Facade class.";
        }
    }
    33 của chúng ta, phần mở rộng của lớp
    php artisan make:provider LarashoutServiceProvider
    65, hãy tạo một hàm
    php artisan make:provider LarashoutServiceProvider
    66 có tên là
    namespace App\Larashout;
    
    class Larashout
    {
        public function sayHello[]
        {
            echo "Hello, from Facade class.";
        }
    }
    32 và trả về khóa mà chúng ta đã liên kết lớp Dịch vụ của mình với bộ chứa dịch vụ dưới dạng một chuỗi từ hàm đó [Ví dụ:. trả lại
    php artisan make:provider LarashoutServiceProvider
    64]
  • 5. Mở
    namespace App\Larashout;
    
    class Larashout
    {
        public function sayHello[]
        {
            echo "Hello, from Facade class.";
        }
    }
    82 và thêm bí danh để chúng tôi có thể truy cập Mặt tiền của mình bằng cú pháp đẹp hơn [Ví dụ. Mảng
    namespace App\Larashout;
    
    class Larashout
    {
        public function sayHello[]
        {
            echo "Hello, from Facade class.";
        }
    }
    83 của
    namespace App\Larashout;
    
    class Larashout
    {
        public function sayHello[]
        {
            echo "Hello, from Facade class.";
        }
    }
    82 cần phải thêm
    php artisan make:provider LarashoutServiceProvider
    47]
  • 6. Chạy
    namespace App\Larashout;
    
    class Larashout
    {
        public function sayHello[]
        {
            echo "Hello, from Facade class.";
        }
    }
    84
  • 7. Sử dụng
    php artisan make:provider LarashoutServiceProvider
    49 làm Mặt tiền tùy chỉnh của bạn

Gói Laravel Make Facades

  • Ngoài ra, hãy nhấp vào liên kết ở trên có nội dung "Gói Laravel Make Facades" - làm theo hướng dẫn để cài đặt gói qua trình soạn thảo và chỉ cần sử dụng lệnh thủ công
    php artisan make:provider LarashoutServiceProvider
    90 mới được cài đặt

Và, đó - các kỹ sư phần mềm của thế giới - là cách Laravel Facades hoạt động trong Laravel cũng như cách tạo của riêng bạn. Vui lòng xem toàn bộ bản ghi màn hình để tìm hiểu sâu hơn về chi tiết cũng như xem qua gói cài đặt lệnh

php artisan make:provider LarashoutServiceProvider
90 để tạo giàn giáo hoặc tạo mặt tiền tùy chỉnh mà không cần thực hiện thêm công việc nào khác

Mặt tiền trong PHP là gì?

Mặt tiền là mẫu thiết kế cấu trúc cung cấp giao diện đơn giản hóa [nhưng có giới hạn] cho một hệ thống lớp, thư viện hoặc khung phức tạp . Mặc dù Facade làm giảm độ phức tạp tổng thể của ứng dụng, nhưng nó cũng giúp di chuyển các phần phụ thuộc không mong muốn đến một nơi.

Mặt tiền trong Laravel 8 là gì?

Trong ứng dụng Laravel, facade là lớp cung cấp quyền truy cập vào một đối tượng từ vùng chứa . Máy móc thực hiện công việc này thuộc lớp Mặt tiền. Các facades của Laravel, và bất kỳ facades tùy chỉnh nào bạn tạo, sẽ mở rộng lớp cơ sở Illuminate\Support\Facades\Facade.

Tại sao nên sử dụng facades trong Laravel?

Các "mặt tiền" của Laravel đóng vai trò là "proxy tĩnh" cho các lớp bên dưới trong bộ chứa IoC, 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à linh hoạt hơn so với các phương thức tĩnh truyền thống

Làm cách nào để tạo lớp tùy chỉnh trong Laravel 8?

Bạn có thể tạo bất kỳ lớp tùy chỉnh nào bên trong. /app thư mục mà không thay đổi bất cứ điều gì trong trình soạn thảo của bạn. tệp json, miễn là không gian tên chính xác . Khi sử dụng nó, chẳng hạn như trong bộ điều khiển, bạn chỉ cần nhập nó bằng không gian tên.

Chủ Đề