Trong quá trình code php, cụ thể là khai báo các interface của Magento thì việc viết Getter, Setter là một công việc rất dễ khiến người ta mất kiên nhẫn, nhất là khi constant nhiều như những câu hỏi mà đến Bích Phương cũng không thể trả lời.

Tăng tốc độ code sử dụng Live Templates trên PHPStorm

Nên mình đã nhảy số ngay phải tìm một cách gì đó để viết mấy cái Getter Setter cho bớt cực lại, đó là sử dụng chức năng Live Templates của PHPStorm

Live template là một phương pháp gõ tắt của PHPStorm và các công cụ khác của Intelij, ví dụ:

Khi gõ: `thr` + Enter
Kết quả: thrownew

Tăng tốc độ code sử dụng Live Templates trên PHPStorm

Để tạo một template, ta vào Preferences > Editor > Live Templates
Nhấn Template Group tạo một folder riêng cho magento (cho dễ quản lý),
hoặc Live Template để tạo một template mới

Screen Shot 2020-08-25 at 19.30.36
Screen Shot 2020-08-25 at 19.39.58

Với Abbreviation là các ký tự gõ tắt, Desciption là mô tả, Template text là đoạn code mẫu.
Nhấn Define để xác định nơi ta gõ đoạn code này

Screen Shot 2020-08-25 at 19.47.00

Ở đây mình chọn Interface member, chọn Statement nếu sử dụng trong class thông thường

image

Về đoạn Template text trông sẽ như thế này (Lấy ví dụ về template Getter, Setter):

Trong Template text, một biến được xác định bởi ký tự $ ở cả đầu và cuối, ví dụ:

Biến trong Template text được sử dụng để xác định vị trí con trỏ chuột sau khi gõ từ khóa và nhấn Enter. Hoặc sử dụng làm đầu vào của một số chức năng (function) đặc biệt mà Intelij định nghĩa.

Nhấn Edit variables để sửa giá trị các biến

Tăng tốc độ code sử dụng Live Templates trên PHPStorm

Trong đó:

  • Name là biến được xác định từ ô nhập Template text
  • Expression là các function đặc biệt mà intelij cung cấp. Ví dụ: chuyển đổi style camelCase, snake_case, substring, replace, uppercase, lowercase, file name, function name, namespace,… Tham khảo thêm tại Jetbrain.
  • Default value là giá trị khởi tạo
  • Skip if defined giá trị sẽ bị con trỏ chuột bỏ qua nếu đã được định nghĩa tại Expression hoặc Default value.
Tăng tốc độ code sử dụng Live Templates trên PHPStorm

Ở ví dụ này ta có các biến:

Để sử dụng ta copy phần value của constant, sau đó gõ gs, gõ tiếp các type của return và param, Enter để chuyển hoặc bỏ qua

Kết quả

Một số Template ví dụ khác:

- getExtensionAttributes, setExtensionAttributes

Trong đó

Viết code trong một nốt nhạc

Tạo một class tương ứng: New > PHP Class (hoặc gán key map nào đó cho nhanh, ở đây mình dùng Command+1)

Screen Shot 2020-08-25 at 21.53.41

Ở popup này ta cần điền tên class, class extend nếu có, và interface. Tạo class bằng phương pháp này IDE sẽ generate sẵn các function mà ta đã khai báo trước đó trong interface.

Screen Shot 2020-08-25 at 22.00.33

Kết quả:

image

Không nhẽ đến đây rồi lại phải ăn chay, không được, tiếp tục tận dụng Live Template thần thánh: với getData

Cách sử dụng, copy function name, gõ “gd” hoặc “sd” + Enter
Kết quả

#Bonus1

Ở bước tạo php class khi nãy còn 1 trường là namespace, bình thường ô này sẽ bị trống, để tự động điền namespace, ta vào Preferences > Directories chọn đến thư mục app/code, set nó thành Sources

Screen Shot 2020-08-25 at 22.27.40

#Bonus2

Sau khi tạo interface và class chắc chắn phải khai báo nó trong file di.xml rồi.
Chuột phải vào tên class hoặc interface > Copy / Paste Special > Copy Reference sẽ ra được tham chiếu tới class hoặc interface đó.
Ví dụ trong hình sau khi copy ta được:

\Eren\Test\Api\Data\EmployeeInterface

Screen Shot 2020-08-25 at 22.34.04

Kết: Đây là cách hiện tại mình dùng để code cho bớt “cực”, anh chị em nào có phương pháp nào hay hơn có thể chia sẻ thêm ở phần comment để mọi người cùng học hỏi, hi vọng bài viết sẽ giúp ai đó đỡ to tay.

Nếu bạn thích làm sản phẩm quốc tế trong lĩnh vực bán lẻ - thương mại điện tử! Tham gia Tuyển dụng Magento Developer, môi trường làm việc từ xa, địa điểm tự do, quản lý linh hoạt theo Agile.

Hãy đăng ký nhận tin để là người đầu tiên đọc bài viết mới nhất từ chúng tôi nhé

Posted 
Aug 27, 2020
 in 
Tech
 category

Bài viết khác từ

Tech

category

View All