Hướng dẫn alias php artisan - hay còn gọi là nghệ nhân php
Trong bài viết này mình sẽ giới thiệu về facade và alias trong laravel Show Môi trường khảo sátTrong bài viết này môi trường khảo sát sẽ theo version sau của laravel
Những phiên bản cũ có thể khác với phiên bản mới nhất, thực tế là nó khác nhau. Hãy chú ý đến điểm đó Ví dụ sử dụng FacadeVí dụ trong laravel bạn muốn ghi log vào laravel.log thì bạn phải sử dụng Log
Trên ví dụ trên bạn thấy việc ghi log chỉ việc sử dụng class \Log và phương thức static của nó, vậy class Log này nó được load vào khi nào? Giới thiệu về FacadeỞ ví dụ thực ra class Log chính là \Illuminate\Support\Facades\Log, tuy nhiên ở trên bạn có thể gọi được như trên là thông qua alias Trong khi implement class Log, bạn xem code sẽ có hàm sau
Code tạo 1 facade trông rất đơn giản, vậy thì việc gọi những hàm ::info, ::warning, ::debug ... ở đâu, vì những hàm này đều là những hàm public , vậy bạn hãy lên trên class cha Facade Bạn sẽ thấy hàm sau, nó sẽ đóng vai trò gọi các hàm publicFacade Bạn sẽ thấy hàm sau, nó sẽ đóng vai trò gọi các hàm public
Hàm __callStatic sẽ thực hiện gọi một phương thức trong class được nạp vào Facade(chỉ phương thức default, public, static), trên hàm trên bạn thấy có gọi hàm getFacadeRoot, code của hàm này như dưới__callStatic sẽ thực hiện gọi một phương thức trong class được nạp vào Facade(chỉ phương thức default, public, static), trên hàm trên bạn thấy có gọi hàm getFacadeRoot, code của hàm này như dưới
Trong hàm trên sẽ thực hiện tìm kiếm những instance từ DI container đã được đăng ký trong application dựa vào name name này sẽ được đăng ký ở hàm getFacadeAccessorname name này sẽ được đăng ký ở hàm getFacadeAccessor Giới thiệu về AliasTrong cấu trúc laravel bạn sẽ khai báo các alias ở trong config/app.phpconfig/app.php
Các alias được đăng ký và load dự trên function spl_autoload_register, các aliases được load ở trong class AliasLoader.php
Việc sử dụng facade trong laravel giống như là các util rất là dễ dàng, bên cạnh đó có thể viết các helper dùng facade Ví dụSau đây là ví dụ tạo 1 facade trong laravel https://github.com/ngodinhngoc/laravel_tip/pull/1/files Các bạn có thể tham khảo cách tạo 1 facade, nó cũng gần giống như là tạo 1 helper trong laravel! Bash aliases là shortcut thêm vào 1 file cho phép bạn tham chiếu đến 1 lệnh khác thông qua nhiều từ dễ nhớ, từ viết tắt, hoặc các kí tự. Ví dụ, nếu bạn sử dụng Git, bạn có thể chạy 9 rất nhiều lần trong ngày, vậy để tiết kiệm thời gian bạn có thể sử dụng alias 0 thay vì 9, và nó sẽ tự động gọi đến câu lệnh tương ứng.Mỗi người có 1 mẫu shortcut khác nhau, ví dụ, 2, 3, hoặc 4 dành cho câu lệnh 5. Có 1 alias độc mà ít người chia sẻ là alias 6:
Câu lệnh trên thật sự rất hay và để chứng minh nó hoạt động thế nào, giả sử bạn bắt đầu làm 1 vài feature mới, có thể bạn đã thêm vào 1 vài file mới, và sau giờ nghỉ trưa, bạn quyết định tất cả những cái bạn vừa làm là sai. Khi đó bạn sử dụng 6, nó sẽ reset toàn bộ code của bạn về trạng thái như lúc chưa sửa, và xóa toàn bộ file mà git không biết. Rất thuận tiện và hữu dụng!Làm thế nào để tạo Bash Aliases của riêng bạnDành cho những người mới tạo bash aliases, cách làm rất đơn giản. Đầu tiên, mở file 8 trong thư mục home của bạn bằng 1 text editor. Bỏ comment hoặc thêm vào những dòng sau:
Nó sẽ load file 9 nếu file đó tồn tại, vậy nên bạn có thể để tất cả aliases vào trong file đó để có thể dễ dàng chia sẻ và update. Cuối cùng, tạo file 0 và thêm những dòng sau như những alias đầu tiên của bạn:
Lưu file lại, và chạy lệnh sau ở Terminal: 0Từ đây bạn có thể gõ 4 và nó sẽ tự động chạy lệnh 5. Nhớ rằng bất cứ khi nào bạn chỉnh sửa file 9 bạn sẽ phải source lại hoặc reset Terminal để nó có thể sử dụng đượcLaravel Bash Aliases từ cộng đồngDưới đây là 1 danh sách alias đang được cộng đồng Laravel sử dụng WaveHack 1bmadigan 2Tainmar 3Mohamed Said 4Jeffrey Way 5Bill Mitchell 6Jesús Amieiro 7Piotr 8freekmurze 9 paulredmond 0TJ Miller 1sebastiaanluca 2Alexander Melihov 3jordonbaade 4Deleu 5curieuxmurray 6wilburpowery 7waunakeesoccer1 8
|