Sử dụng PHP so với yêu cầu

Trong khi xem xét mã gần đây, tôi nhận ra rằng không có hướng dẫn sử dụng. Mọi mã hiện đại đều sử dụng 'sử dụng' (sic), vì việc nhập các lớp từ trình soạn thảo hoặc khung là tiêu chuẩn. Hiện tại có khá nhiều biến thể trong cú pháp để nhập các lớp hoặc đặc điểm. Mặc dù tác động đến hiệu suất là thấp, nhưng việc sử dụng đã được giải quyết, việc có một cách tiếp cận rõ ràng để 'sử dụng' là rất quan trọng để giữ cho mã sạch và dễ đọc. Hãy cùng xem lại sáu cách sử dụng tốt là gì

Các biểu thức sử dụng nhiều lần

Cấu hình sử dụng có ba loại. không gian tên, đặc điểm và đóng cửa

Đóng cửa có sử dụng trong cú pháp của nó. Cách sử dụng này được định dạng nghiêm ngặt, cho phép ít thay đổi

Sử dụng đặc điểm được sử dụng bên trong một lớp hoặc một đặc điểm khác. Nó nhập một đặc điểm bên trong cấu trúc hiện tại. Mặc dù PHP không kiểm tra nhiều lần nhập cùng một đặc điểm, nhưng nó không có nhiều tác động, ngoại trừ việc trông kỳ lạ. Đặc điểm không tồn tại tạo ra một lỗi nghiêm trọng, và đó là về nó

Chúng tôi sẽ xem xét ở đây việc sử dụng không gian tên. Họ có ba hương vị, một lần nữa. đơn, nhiều hoặc nhóm. Tất cả các hương vị có cùng mục đích cấu hình trên mã. Họ cũng có thể được đặt bí danh rõ ràng hoặc không

Thực hành tốt nhất với việc sử dụng

  • Không nhập các lớp không sử dụng
  • Luôn sử dụng bí danh
  • Đặt tất cả sử dụng lúc đầu
  • Tránh sử dụng cùng một bí danh cho các lớp khác nhau
  • Nhóm sử dụng biểu thức để dễ đọc
  • Giới hạn số lượng biểu thức sử dụng

Không nhập các lớp không sử dụng

Điều này là khá rõ ràng, và nổi tiếng. Nó áp dụng cho tất cả các cấu trúc có thể nhập. PHP không kiểm tra xem tất cả việc sử dụng có được sử dụng ít nhất một lần hay không, do đó không đề cập đến việc sử dụng vô dụng. Đây chủ yếu là mã chết. Nó được sử dụng tại thời điểm biên dịch và có thể làm chậm quá trình biên dịch. điều này không nên được đo lường. 'Sử dụng' đã chết không thay đổi hiệu suất thực thi. Tốt nhất là giữ cho 'sử dụng' sạch sẽ, để tránh nhầm lẫn hoặc tốn thêm chi phí bảo trì hoặc nhầm lẫn

Luôn sử dụng bí danh

Nên tránh mọi cuộc gọi đến một không gian tên đầy đủ và ít nhất là đặt bí danh. Đầu tiên, điều này rút ngắn mã, giữ cho nó dễ đọc hơn. Điều này cũng có thể được gọi là 'Tránh tên lớp dài trong mã'

Nó cũng giúp ích khi tái cấu trúc. tất cả việc sử dụng không gian tên hiện là tùy chọn của tập lệnh. Thay đổi biểu thức sử dụng cho phép thay đổi tất cả các cách sử dụng bí danh tiếp theo. Điều này đặc biệt đúng khi không gian tên được sử dụng nhiều lần trong mã, tiết kiệm nhiều lượt tìm kiếm và thay thế trong mã. Lưu ý rằng về lâu dài, có thể không khôn ngoan nếu giữ tên thời tiền sử trong mã hiện đại

Việc sử dụng bí danh ngăn mã chết lặng đến từ các lớp chưa được giải quyết trong instanceof, catch() hoặc typehint. Các mệnh đề đó không kiểm tra xem lớp đã lọc có thực sự tồn tại hay không. Thật vậy, khi tái cấu trúc, các lớp có thể dễ dàng bị thay đổi không gian tên hoặc đổi tên, để lại instanceof mồ côi, tạo mã chết. Với việc sử dụng tốt, tất cả những thứ đó sẽ di chuyển giống như các lớp khác

Đặt tất cả sử dụng lúc đầu trong không gian tên

Việc sử dụng được mong đợi ở phần đầu của tệp hoặc khối không gian tên (Chúng thực sự tác động đến không gian tên, nhưng vì hầu hết các quy ước là một tệp, một không gian tên nên có thể bị nhầm lẫn)

Trên thực tế, việc sử dụng có thể được đặt ở bất kỳ đâu ở cấp gốc của không gian tên, có tác động đáng kể đến khả năng đọc và khả năng sử dụng của mã. Mặc dù chúng được sử dụng tại thời điểm biên dịch, nhưng vị trí 'sử dụng' có ảnh hưởng đến tính khả dụng của các lớp trước và sau. Chúng tôi sẽ không cung cấp bất kỳ ví dụ nào, nhưng hãy thử nó trong một môi trường an toàn và làm ơn, đừng tự đốt mình

Tránh sử dụng cùng một bí danh cho các lớp khác nhau

Bây giờ cái này gây tranh cãi hơn một chút, nhưng tôi chắc chắn rằng bạn đã bị cắn bởi nó

Nó áp dụng cho các sơ đồ đặt tên trên toàn dự án, với nhiều tên bí danh khác nhau được sử dụng trong các tệp khác nhau. Hãy tưởng tượng rằng cùng một tên được đặt cho các lớp khác nhau. Các lớp đó thực sự có thể khác biệt, được đặt trong các không gian tên khác nhau, nhưng một khi chúng được đặt bí danh hoặc rút gọn thành tên cuối cùng, chúng trông giống nhau. Sau đó, rất dễ nhầm cái này với cái kia, cho đến khi mã đạt đến điểm mà chúng không

tập tin. php

tập tin b. php

________số 8_______

Bạn nên sử dụng các tên bí danh dành riêng cho một lớp và sử dụng chúng một cách nhất quán trong ứng dụng. Dễ phải không ?

Chà, trước tiên, nếu một lớp (hoặc một giao diện hoặc đặc điểm) có tên, thì tại sao chúng ta lại cần một tên khác khi thực sự sử dụng chúng ?

Thứ hai, có trường hợp đặc biệt của các lớp giả, nghĩa là thay thế hoàn toàn một lớp bằng các giá trị hoặc phương thức giả. Bây giờ, 'sử dụng' được tạo chính xác cho việc này, cho phép sử dụng cùng một mã với các lớp khác nhau. Đây có thể là một ngoại lệ

Dù sao đi nữa, thường xảy ra trường hợp một số lớp có cùng tên trong một dự án. Những người đó sẽ cần răng cưa, và có lẽ một số đánh giá nào đó

Nhóm sử dụng biểu thức để dễ đọc

Trong PHP 5, chỉ cần sắp xếp các cuộc gọi sử dụng để dễ dàng thấy một họ sử dụng, dựa trên cùng một tiền tố không gian tên. Trong PHP 7, hãy sử dụng biểu thức được nhóm để làm rõ tiền tố

0

Giới hạn số lượng biểu thức sử dụng dưới 10

Khi một tệp bắt đầu với một danh sách sử dụng (quá) dài, nó cho thấy đoạn mã sau thực sự được ghép nối với nhiều lớp khác. Giờ đây, dựa trên quy tắc 'luôn sử dụng bí danh', việc đo khớp nối giờ đây là vấn đề đếm các lệnh sử dụng

Drupal, octobercms và shopware có tới 30 cách sử dụng trong một tệp, thelia có tới 69 (xem tại đây). Thành thật mà nói, trung bình là từ 5 đến 8 trên mỗi tệp, với số lượng cao hơn cho các tệp Thử nghiệm

Tự động kiểm tra mã của bạn

Sử dụng biểu thức chỉ tác động đến không gian tên hoặc tệp hiện tại. Điều này giúp các công cụ phân tích tĩnh dễ dàng xem xét từng tệp và cung cấp phản hồi về việc sử dụng dựa trên tất cả các quy tắc ở trên. bí danh bị thiếu, bí danh chết hoặc bí danh có thể được sử dụng lại. Công cụ exakat có ba phân tích cụ thể để xử lý các xác nhận đó

Về lâu dài, giữ cho việc sử dụng sạch sẽ và không sử dụng quá thường xuyên là điều quan trọng nhất đối với mã của bạn. Sử dụng phân tích tĩnh để tránh nhiệm vụ tẻ nhạt là xem xét, đếm và làm sạch tất cả các biểu thức sử dụng đó. Nghĩ về nó, điều này rất có thể hoàn toàn tự động

Khi nào sử dụng sử dụng trong PHP?

Từ khóa sử dụng có hai mục đích. nó yêu cầu một lớp kế thừa một đặc điểm và nó cung cấp bí danh cho một không gian tên .

Chúng ta sử dụng hàm include() và require() trong PHP như thế nào?

Cả bao gồm và yêu cầu giống hệt nhau, ngoại trừ lỗi. .
bao gồm chỉ tạo ra một cảnh báo, tôi. e. , E_WARNING và tiếp tục thực thi tập lệnh
yêu cầu tạo ra một lỗi nghiêm trọng, tôi. e. , E_COMPILE_ERROR và dừng thực thi tập lệnh

Yêu cầu () khác với yêu cầu () như thế nào?

Sự khác biệt cơ bản giữa yêu cầu và yêu cầu_once là yêu cầu_once sẽ kiểm tra xem tệp đã được bao gồm hay chưa nếu nó đã được bao gồm thì nó sẽ không bao gồm tệp trong khi chức năng yêu cầu sẽ bao gồm tệp bất kể tệp đã được bao gồm hay chưa

Tại sao sử dụng không gian tên trong PHP?

Không gian tên là vòng loại giải quyết hai vấn đề khác nhau. Chúng cho phép tổ chức tốt hơn bằng cách nhóm các lớp làm việc cùng nhau để thực hiện một nhiệm vụ . Chúng cho phép sử dụng cùng một tên cho nhiều lớp.