Có ba cách khác nhau để có được một giá trị thực thể, ví dụ như kiểu nội dung nút.
$node->type->value
$node->getType()
$node->get('type')
Tôi nên sử dụng cái nào?
Có ba cách khác nhau để có được một giá trị thực thể, ví dụ như kiểu nội dung nút.
$node->type->value
$node->getType()
$node->get('type')
Tôi nên sử dụng cái nào?
Câu trả lời:
Nếu có một phương pháp cụ thể - như đối với $node->getType()
- tôi khuyên bạn nên sử dụng phương pháp này. Rõ ràng đó không bao giờ là trường hợp đối với các công cụ động như các trường - vì đó $node->type->value
sẽ là đề xuất.
Chỉnh sửa: $node->get('type')
chỉ là một biến thể dài dòng hơn $node->type
- cả hai đều giúp bạn có được đối tượng trường "loại".
Một phương pháp cụ thể IMO luôn được ưa thích vì kiểu @return
chữ. Bạn thực sự không thể đánh dấu sự trở lại của a get('foo')
. Và, ma thuật sẽ luôn chậm hơn và cũng là một ẩn số đối với các IDE về những gì được trả lại. (Lưu ý rằng mỗi khi chúng ta nói về IDE, chúng ta cũng đang nói về các lỗi có thể xảy ra - không chỉ IDE mà lập trình viên không có kiến thức về những gì trong một biến.)