Hướng dẫn what is late static binding in php for? - liên kết tĩnh trễ trong php để làm gì?
Chính xác thì các ràng buộc tĩnh muộn trong PHP là gì? Show
Mark Amery 133K78 Huy hiệu vàng395 Huy hiệu bạc444 Huy hiệu đồng78 gold badges395 silver badges444 bronze badges Đã hỏi ngày 16 tháng 12 năm 2009 lúc 7:17Dec 16, 2009 at 7:17
Bạn chắc chắn cần phải đọc các ràng buộc tĩnh muộn trong hướng dẫn sử dụng PHP. Tuy nhiên, tôi sẽ cố gắng cho bạn một bản tóm tắt nhanh chóng. Về cơ bản, nó sôi sục đến thực tế là từ khóa 0 không tuân theo các quy tắc kế thừa tương tự. 0 luôn giải quyết cho lớp mà nó được sử dụng. Điều này có nghĩa là nếu bạn tạo một phương thức trong lớp cha và gọi nó từ lớp con, 0 sẽ không tham khảo đứa trẻ như bạn mong đợi.Binding tĩnh muộn giới thiệu một cách sử dụng mới cho từ khóa 3, trong đó giải quyết sự thiếu sót đặc biệt này. Khi bạn sử dụng 3, nó đại diện cho lớp nơi bạn sử dụng lần đầu tiên, tức là. Nó 'ràng buộc' với lớp thời gian chạy.Đó là hai khái niệm cơ bản đằng sau nó. Cách 0, 6 và 3 hoạt động khi 3 đang chơi có thể rất tinh tế, vì vậy thay vì đi vào chi tiết hơn, tôi thực sự khuyên bạn nên nghiên cứu các ví dụ trang thủ công. Một khi bạn hiểu những điều cơ bản của mỗi từ khóa, các ví dụ khá cần thiết để xem loại kết quả nào bạn sẽ nhận được.
Danman 11.1k4 Huy hiệu vàng39 Huy hiệu bạc58 Huy hiệu Đồng4 gold badges39 silver badges58 bronze badges Đã trả lời ngày 16 tháng 12 năm 2009 lúc 7:57Dec 16, 2009 at 7:57
Zombatzombatzombat 91.2K24 Huy hiệu vàng156 Huy hiệu bạc164 Huy hiệu đồng24 gold badges156 silver badges164 bronze badges 1 Từ PHP: ràng buộc tĩnh muộn - Hướng dẫn sử dụng:
Hãy xem một ví dụ:
Akinuri 9.84010 Huy hiệu vàng58 Huy hiệu bạc97 Huy hiệu đồng10 gold badges58 silver badges97 bronze badges Đã trả lời ngày 22 tháng 12 năm 2012 lúc 7:10Dec 22, 2012 at 7:10
Mrinmoy Ghoshalmrinmoy GhoshalMrinmoy Ghoshal 2.7841 Huy hiệu vàng18 Huy hiệu bạc17 Huy hiệu đồng1 gold badge18 silver badges17 bronze badges 1 Không có hành vi rõ ràng lắm: Mã sau đây tạo ra 'Alphabeta'.
Tuy nhiên, nếu chúng ta xóa khai báo hàm ClassName khỏi lớp Beta, chúng ta sẽ nhận được 'alphaalpha' do kết quả.
Farkie 3.2572 Huy hiệu vàng22 Huy hiệu bạc33 Huy hiệu Đồng2 gold badges22 silver badges33 bronze badges Đã trả lời ngày 19 tháng 11 năm 2013 lúc 14:06Nov 19, 2013 at 14:06
JokeriusjokeriusJokerius 1.2701 Huy hiệu vàng14 Huy hiệu bạc20 Huy hiệu Đồng1 gold badge14 silver badges20 bronze badges 1 Tôi đang trích dẫn từ cuốn sách: "Mã Cuting Edge viết php Master".
Vui lòng xem xét tài liệu PHP chính thức: http://php.net/manual/en/langage.oop5.late-static-bindings.php Cách rõ ràng nhất để giải thích ràng buộc tĩnh trễ là với một ví dụ thực hành. Tôi đang sử dụng nó trong một mẫu phương thức mẫu. Xem bên dưới.
Lưu ý từ khóa 3 trong phương thức 8. Hãy thay đổi một chút bây giờ:
Đầu ra của 9 tại 0 sẽ là:
Từ khóa 3 được sử dụng trong mẫu thiết kế singleton. Xem liên kết: https://refactoring.guru/design-patterns/singleton/php/exampleVí dụ đơn giản nhất để hiển thị sự khác biệt. Lưu ý, bản thân :: $ c
Ràng buộc tĩnh muộn, lưu ý tĩnh :: $ cstatic::$c
Đã trả lời ngày 23 tháng 2 năm 2016 lúc 12:00Feb 23, 2016 at 12:00
Nhìn vào nó từ một "Tại sao tôi sẽ sử dụng cái này?" Quan điểm, về cơ bản, đó là một cách để thay đổi bối cảnh mà phương thức tĩnh đang được giải thích/chạy. Với 0, bối cảnh là một trong đó bạn xác định phương thức ban đầu. Với 3, đó là cái bạn gọi nó từ đó.
Đã trả lời ngày 13 tháng 8 năm 2015 lúc 12:27Aug 13, 2015 at 12:27
DanmandanmanDanMan 11.1k4 Huy hiệu vàng39 Huy hiệu bạc58 Huy hiệu Đồng4 gold badges39 silver badges58 bronze badges Đã trả lời ngày 16 tháng 12 năm 2009 lúc 7:57
ZombatzombatSep 9, 2010 at 6:13
91.2K24 Huy hiệu vàng156 Huy hiệu bạc164 Huy hiệu đồngPetah Từ PHP: ràng buộc tĩnh muộn - Hướng dẫn sử dụng:27 gold badges155 silver badges211 bronze badges Kể từ PHP 5.3.0, PHP thực hiện một tính năng gọi là liên kết tĩnh muộn có thể được sử dụng để tham chiếu lớp được gọi trong bối cảnh kế thừa tĩnh.
Bạn có thể sửa nó bằng cách khai báo cùng một biến trong từng lớp trẻ em, ví dụ:
Đã trả lời ngày 3 tháng 5 năm 2019 lúc 16:26May 3, 2019 at 16:26
Fortefrank FortefrankFrank Forte 1.85718 Huy hiệu bạc18 Huy hiệu đồng18 silver badges18 bronze badges Mục đích của liên kết tĩnh muộn trong PHP là gì?Khái niệm về các ràng buộc tĩnh muộn mang lại từ khóa 'tĩnh' mới, khi được sử dụng, liên kết chức năng với lớp thời gian chạy hoặc lớp nơi chức năng được sử dụng lần đầu tiên. Ngoài ra, bất kỳ hàm hoặc biến tĩnh nào thường được thực hiện trong thời gian chạy chứ không phải trong thời gian biên dịch.binds the function to the runtime class, or the class where the function was first used. In addition to this, any static function or variable is usually executed during runtime and not during compile time.
Liên kết muộn và ràng buộc sớm trong PHP là gì?Nếu trình biên dịch biết tại thời gian biên dịch được gọi là hàm nào, nó được gọi là ràng buộc sớm.Nếu một trình biên dịch không biết tại biên dịch thời gian nào có chức năng gọi lên cho đến khi chạy, nó được gọi là ràng buộc muộn.
Những lợi thế của ràng buộc tĩnh là gì?Dưới đây là một số lợi thế được đưa ra.Thực thi liên kết tĩnh là hiệu quả hơn và nhanh hơn động.Trình biên dịch liên kết này biết rằng các loại phương thức này không thể bị ghi đè.Trong liên kết tĩnh, loại được sử dụng trong khi liên kết động sử dụng các đối tượng cho các ràng buộc.more efficient & faster than Dynamic. This Binding compiler knows that these types of methods can not be overridden. In the Static Binding, the type is used while Dynamic Binding uses objects for Bindings.
Phiên bản PHP nào đã giới thiệu khái niệm gọi là ràng buộc tĩnh muộn?Điều này được gọi là ràng buộc tĩnh muộn.Tính năng này của ràng buộc tĩnh muộn đã được giới thiệu trong PHP 5.3 trở lên, các phiên bản trước sẽ cho thấy một lỗi nghiêm trọng.PHP 5.3 and above, previous versions will show a fatal error. |