sách gpt4 ăn đã đi

Hãy nói về các tính năng mới của PHP 8: Thuộc tính

In lại Tác giả: qq735679552 Thời gian cập nhật: 29-09-2022 22:32:09 34 4
mua khóa gpt4 giày nike

CFSDN nhấn mạnh vào giá trị tạo ra nguồn mở và chúng tôi cam kết xây dựng nền tảng chia sẻ tài nguyên để mọi nhân viên CNTT có thể tìm thấy thế giới tuyệt vời của bạn tại đây.

Bài viết trên blog CFSDN này nói về các tính năng mới của PHP 8, Thuộc tính, được tác giả sưu tầm và biên soạn. Nếu các bạn quan tâm đến bài viết này thì nhớ like nhé.

Phiên bản Alpha của PHP8 sẽ được phát hành trong vài ngày tới. Nó chứa nhiều tính năng mới. Tất nhiên, tôi nghĩ tính năng quan trọng nhất là JIT. Tôi đã tham gia vào lĩnh vực này từ năm 2013. Sau vô số thất bại và thất bại, cuối cùng tôi cũng đã hiểu được. . Đã xuất bản nội dung.

Tuy nhiên, hôm nay tôi sẽ không nói về JIT sau khi PHP8 được phát hành, tôi sẽ viết một loạt bài riêng tương tự như "Tìm hiểu sâu về JIT trong PHP8".

Hehe, hôm nay tôi muốn nói về Thuộc tính. Tại sao? Hôm qua, tôi thấy nhiều nhóm chuyển tiếp một bài viết có tên "Tìm hiểu về các thuộc tính trong PHP8". Thành thật mà nói, bài viết này nên được dịch trực tiếp từ tiếng Anh. một cách khó khăn. Sau khi đọc xong, nhiều học sinh cho biết các em bối rối và không biết mình đang nói về điều gì.

Vì vậy tôi nghĩ, tôi sẽ sử dụng một bài viết để giải thích ngắn gọn đây là gì.

Trước khi nói về các Annotation, chúng ta hãy nói về các Annotation trước đó. Một điều mà chúng ta thường thấy trong các dự án PHP tương tự như @param và @see sau:

?
1
2
3
4
5
/**
  * @param Foo $argument
  * @xem https:/xxxxxxxx/xxxx/xxx.html
  */
  chức năng giả( $Foo ) {}

Đây được gọi là nhận xét. Đối với PHP trước đó, @param và @see trong nhận xét là vô nghĩa. Toàn bộ đoạn văn sẽ được lưu dưới dạng một chuỗi có tên doc_comment của một hàm/phương thức.

Nếu muốn phân tích ý nghĩa của nhận xét này, chúng ta cần thiết kế một số cú pháp cụ thể, chẳng hạn như @+name trong Lili, tương tự như @param, sau đó tự mình phân tích chuỗi này để trích xuất thông tin tương ứng.

Ví dụ: nếu chúng ta muốn lấy thông tin về chú thích Xem, chúng ta cần thực hiện một số thao tác như

?
1
2
3
$tham chiếu = mới Hàm phản xạ( "đồ giả" );
$doc = $tham chiếu ->getDocComment();
$xem = chất nền ( $doc , strpos ( $doc , "@nhìn thấy" ) + căng thẳng ( "@nhìn thấy " ));

Việc xử lý chuỗi như vậy tương đối rắc rối và dễ xảy ra lỗi.

Đối với Thuộc tính, nó thực sự nâng cấp "chú thích" thành "chú thích" hỗ trợ nội dung được định dạng.

Ví dụ như ví dụ trên:

?
1
2
3
4
< "Đồ ngốc" , "lý lẽ" )>>
<<> "https://xxxxxxxx/xxxx/xxx.html" )>>
chức năng giả( $đối số ) {}

Đừng lo lắng về ý nghĩa của việc viết nội dung này. Từ quan điểm chức năng, giờ đây bạn có thể nhận được chú thích được định dạng này thông qua Reflection. Ví dụ: bây giờ chúng tôi muốn nhận được chú thích Xem.

?
1
2
3
4
$tham chiếu = mới Hàm phản xạ( "đồ giả" );
 
var_dump( $tham chiếu ->lấyThuộc tính( "Nhìn thấy" )[0]->getTên());
var_dump( $tham chiếu ->lấyThuộc tính( "Nhìn thấy" )[0]->getArguments());

sẽ xuất ra

?
1
2
3
4
5
chuỗi(3) "Nhìn thấy"
mảng (1) {
  [0]=>
  chuỗi(30) "https://xxxxxxxx/xxxx/xxx.html"
}

Tất nhiên, có một cách sử dụng nâng cao hơn một chút, đó là bạn có thể định nghĩa cái gọi là "lớp chú thích"

?
1
2
3
4
5
6
7
8
<>
lớp học Thuộc tính của tôi {
   công cộng chức năng __xây dựng( $tên , $giá trị ) {
    var_dump( $tên );
    was_dumP( $giá trị );
   }
}

Sau đó, bạn có thể viết một cái gì đó như, lưu ý lệnh gọi newInstance:

?
1
2
3
4
5
6
< "Nhìn thấy" , "https://xxxxxxxx/xxxx/xxx.html" )>>
chức năng giả( $đối số ) {
}
$tham chiếu = mới Hàm phản xạ( "đồ giả" );
 
$tham chiếu ->lấyThuộc tính( "Thuộc tính của tôi" )[0]->NewInstance();

Nếu chạy mã này, bạn sẽ thấy phương thức __construct của MyAttribution được gọi và các tham số được truyền trong lệnh gọi là "Xem" và "https://xxx".

Bạn có hiểu không? Bạn có thể "khởi tạo" một chú thích và sau đó bạn có thể tạo thiết kế "chú thích dưới dạng cấu hình" của riêng mình dựa trên khả năng này.

Tóm lại: Các thuộc tính được viết dưới dạng sau

?
1
2
3
<>
<>
<>

Sau đó, bạn có thể sử dụng chuỗi phương thức Reflection của PHP để nhận chú thích tương ứng dựa trên getAttribut("Name"). Ngoài ra, bạn có thể lấy tên bằng cách gọi phương thức getName của chú thích được trả về và phương thức getArguments để lấy Đối số trong ngoặc đơn. .

Tiến thêm một bước nữa, nếu Tên là lớp bạn tự xác định bằng chú thích phpAttriubtes, bạn cũng có thể gọi phương thức newInstance để thực hiện lệnh gọi tương tự như "Tên mới (Đối số)".

Nhiều người có thể hỏi, công dụng của cái này là gì?

Nói thật thì mình luôn thờ ơ với những tính năng mới, nhưng Thuộc tính này chắc vẫn nên có một chút nhỉ???

Trên đây là nội dung chi tiết về tính năng mới Thuộc tính của PHP 8. Để biết thêm thông tin về Thuộc tính PHP 8, vui lòng theo dõi các bài viết liên quan khác của tôi! .

Link gốc: https://www.tuicool.com/articles/6BBvAf3.

Cuối cùng, bài viết trò chuyện về các tính năng mới của PHP 8 Thuộc tính kết thúc tại đây. Nếu bạn muốn biết thêm về trò chuyện về các tính năng mới của PHP 8 Thuộc tính, vui lòng tìm kiếm bài viết CFSDN hoặc tiếp tục duyệt các bài viết liên quan. tương lai blog của tôi! .

34 4 0
qq735679552
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress