Trong bài viết này, bạn sẽ xem cách bạn có thể tạo một hàm trợ giúp cho ứng dụng Laravel của mình. Nếu bạn đang tìm kiếm điều này, bạn đang ở đúng nơi
Tôi đã đọc nhiều bài báo trên internet nơi nhiều nhà xuất bản đã trình bày về cách bạn có thể thực hiện chức năng này một cách nhanh chóng bằng cách thêm các chức năng trợ giúp của bạn vào trình soạn thảo. json của dự án Laravel của bạn. Điều này không cảm thấy chính xác đối với tôi, vì nó có thể nhanh chóng làm cho dự án của bạn trở nên tồi tệ
Trong bài đăng này, tôi sẽ giải thích cho bạn một cách tốt hơn nhiều để tạo một hàm trợ giúp phù hợp với khái niệm viết mã sạch hơn, và do đó làm cho ứng dụng của bạn dễ đọc hơn đối với người bạn viết mã của bạn.
Chức năng trợ giúp là gì?Hàm trợ giúp thường có ích nếu bạn muốn thêm một tính năng vào ứng dụng Laravel của mình. Tính năng này có thể được sử dụng tại nhiều vị trí trong bộ điều khiển, chế độ xem hoặc tệp mô hình của bạn. Các chức năng này có thể được coi là chức năng toàn cầu
Laravel bao gồm nhiều chức năng trợ giúp theo mặc định. một số trong số họ là. abort[], dd[], route[], trình xác thực[], biến đổi[], phiên[], v.v. Nhấp vào liên kết bên dưới để xem danh sách đầy đủ các hàm trợ giúp mà Laravel cung cấp
Người giúp việc
Laravel bao gồm nhiều hàm PHP "trợ giúp" toàn cầu. Nhiều chức năng trong số này được sử dụng bởi chính khung công tác…
ấu trùng. com
Tạo tệp nhà cung cấp dịch vụ bằng lệnh PHP artisan. Kích hoạt dấu nhắc lệnh bên trong dự án của bạn và chạy lệnh bên dưới
nghệ nhân php làm. nhà cung cấp HelperServiceProvider
Sau khi bạn thực hiện điều này, bạn sẽ thấy một tệp mới đã được tạo bên trong thư mục app\Providers của bạn. Con đường chính xác là. app\Providers\HelperServiceProvider. php
Bây giờ, nếu bạn mở tệp, bạn sẽ thấy hai phương thức bên trong lớp HelperServiceProvider, đó là register[] và boot[]. Bạn có thể xóa phương thức boot[] vì chúng tôi sẽ không sử dụng phương thức này
Bây giờ, hãy viết khối mã bên dưới vào phương thức register[]. Đây là cách nó sẽ trông như thế nào
app\Providers\HelperServiceProvider. php
Vậy mã PHP nói trên để làm gì? . Bất kỳ chức năng nào được thêm vào các tệp đó sẽ có sẵn để bạn sử dụng ở bất kỳ nơi nào như bộ điều khiển, mô hình và chế độ xem
Nhưng đợi đã. Nó chưa hoàn thành. Bạn cần bao gồm lớp HelperServiceProvider để Laravel có thể tải nó. Mở tệp config\app. php và tìm kiếm mảng nhà cung cấp. Xem ảnh chụp màn hình bên dưới
Mảng nhà cung cấp trong tệp config/app. php
Bây giờ bao gồm HelperServiceProvider ngay trước AppServiceProvider. Xem ảnh chụp màn hình bên dưới
Bây giờ, hãy tạo một tệp mới có tên BodyWeight. php bên trong thư mục app\Helpers. Bạn không cần thêm không gian tên vào tệp này
Bây giờ hãy thêm một hàm có tên convertPoundsToKilogram[$pounds = 0]. Hàm này sẽ chịu trách nhiệm chuyển đổi pound sang kilogam theo đầu vào được cung cấp. Nếu bạn muốn kiểm tra xem chức năng này đã được khai báo trước đó chưa, thì bạn có thể sử dụng cách kiểm tra này. nếu [. function_exists['convertPoundsToKilogram']]. Xem ảnh chụp màn hình bên dưới
app\Helpers\BodyWeight. php
Bạn đã hoàn tất việc thiết lập tệp Trình trợ giúp mới cho Laravel. Hãy tiếp tục và tạo thêm một số trình trợ giúp mà bạn có thể thường xuyên sử dụng và ngừng lặp lại mã của mình. Như câu nói “Đừng lặp lại chính mình”
Laravel cung cấp cho chúng ta nhiều hàm trợ giúp tích hợp mà bạn có thể gọi ở bất kỳ đâu trong ứng dụng của mình. Chúng làm cho quy trình làm việc của bạn thuận tiện để làm việc với mảng & đối tượng, đường dẫn, chuỗi, URL và các loại khác
Mặc dù nhiều hàm trợ giúp được xác định trong lõi laravel, nhưng bạn có thể xác định các hàm trợ giúp của mình trong laravel để tránh lặp lại cùng một mã. Nó đảm bảo khả năng bảo trì tốt hơn cho ứng dụng của bạn
Laravel và PHP cũng cung cấp một số hàm cơ bản có thể được gọi ở bất kỳ đâu, tuy nhiên, đôi khi chúng ta có thể cần viết các hàm tùy chỉnh của riêng mình mà chúng ta sẽ cần cả trong bộ điều khiển và trong dạng xem hoặc các phần khác của ứng dụng của chúng ta
Hãy xem qua cách bạn có thể tạo các hàm trợ giúp Laravel tùy chỉnh của mình
Kịch bản đầu tiên bạn có thể muốn bao gồm các hàm trợ giúp của mình nằm trong ngữ cảnh của ứng dụng Laravel. Tùy thuộc vào sở thích của bạn, bạn có thể sắp xếp [các] vị trí tệp trợ giúp của mình theo cách bạn muốn. Tuy nhiên đây là một vài địa điểm gợi ý
- ứng dụng/người trợ giúp. php
- ứng dụng/Http/người trợ giúp. php
Tôi muốn giữ của tôi trong
require_once ROOT . '/helpers.php';
0 ở thư mục gốc của không gian tên ứng dụngHãy tạo một file helpers. php bên trong thư mục
require_once ROOT . '/helpers.php';
1Mở tệp
require_once ROOT . '/helpers.php';
2 và viết mã này vào đówhere[$column,$token]->count[]]{
generateUniqueToken[$size, $table, $column];
}
return $token;
}
}
Ở đây, chúng tôi đã xác định một chức năng thiết yếu đơn giản để tạo mã thông báo duy nhất
tự động tải
Để sử dụng các hàm trợ giúp PHP của bạn, bạn cần tải chúng vào chương trình của mình khi chạy. Trong những ngày đầu tiên trong sự nghiệp của tôi, không có gì lạ khi thấy loại mã này ở đầu tệp
require_once ROOT . '/helpers.php';
Các chức năng PHP không thể được tự động tải. Tuy nhiên, chúng tôi có giải pháp tốt hơn thông qua Trình soạn thảo hơn là sử dụng yêu cầu hoặc yêu cầu_once
Nếu bạn tạo một dự án Laravel mới, bạn sẽ thấy một khóa
require_once ROOT . '/helpers.php';
3 và require_once ROOT . '/helpers.php';
4 trong tệp require_once ROOT . '/helpers.php';
5________số 8Nếu bạn muốn thêm tệp trợ giúp, trình soạn thảo có khóa
require_once ROOT . '/helpers.php';
6 [là một mảng đường dẫn tệp] mà bạn có thể xác định bên trong require_once ROOT . '/helpers.php';
3require_once ROOT . '/helpers.php';
1Khi bạn thêm một đường dẫn mới vào mảng
require_once ROOT . '/helpers.php';
6, bạn cần kết xuất trình tải tự độngrequire_once ROOT . '/helpers.php';
3Bây giờ trên mọi yêu cầu, những người trợ giúp. php sẽ được tải tự động vì Laravel yêu cầu trình tải tự động của Composer trong
require_once ROOT . '/helpers.php';
9require_once ROOT . '/helpers.php';
5Nếu bạn không muốn giữ tệp
"autoload": {
"classmap": [
"database/seeds",
"database/factories"
],
"psr-4": {
"App\\": "app/"
}
},
"autoload-dev": {
"psr-4": {
"Tests\\": "tests/"
}
},
0 của mình trong thư mục "autoload": {
"classmap": [
"database/seeds",
"database/factories"
],
"psr-4": {
"App\\": "app/"
}
},
"autoload-dev": {
"psr-4": {
"Tests\\": "tests/"
}
},
1 của mình [vì đó không phải là tệp lớp được đặt tên PSR-4], bạn có thể làm theo cách mà "autoload": {
"classmap": [
"database/seeds",
"database/factories"
],
"psr-4": {
"App\\": "app/"
}
},
"autoload-dev": {
"psr-4": {
"Tests\\": "tests/"
}
},
2 trang web làm. lưu trữ "autoload": {
"classmap": [
"database/seeds",
"database/factories"
],
"psr-4": {
"App\\": "app/"
}
},
"autoload-dev": {
"psr-4": {
"Tests\\": "tests/"
}
},
0 trong thư mục bootstrap. Hãy nhớ đặt nó trong tệp require_once ROOT . '/helpers.php';
5 của bạnrequire_once ROOT . '/helpers.php';
1Chức năng trợ giúp sử dụng
Bây giờ, chúng ta sẽ xem cách sử dụng chức năng trợ giúp tùy chỉnh trong một ứng dụng
Sử dụng vào Chế độ xem
require_once ROOT . '/helpers.php';
2Sử dụng vào Bộ điều khiển
require_once ROOT . '/helpers.php';
3Sử dụng các tuyến đường đóng cửa
require_once ROOT . '/helpers.php';
4Cảm ơn bạn đã đọc blog này
đọc thêm. Cách truy cập vào laravel. biến env bên trong javascript
Nếu bạn muốn quản lý Máy chủ VPS / VM của mình mà không cần chạm vào dòng lệnh, hãy xem liên kết này. ServerAvatar cho phép bạn thiết lập nhanh các trang web WordPress hoặc PHP tùy chỉnh trên VPS / VM chỉ trong vài phút. Bạn có thể lưu trữ nhiều trang web trên một VPS / VM, định cấu hình chứng chỉ SSL và theo dõi tình trạng của máy chủ mà không cần chạm vào giao diện dòng lệnh
Nếu bạn có bất kỳ thắc mắc hoặc nghi ngờ nào về chủ đề này, vui lòng liên hệ với chúng tôi. Chúng tôi sẽ cố gắng liên lạc với bạn