sách gpt4 ăn đã đi

Làm cách nào để có được tên lớp (ngắn) không đủ tiêu chuẩn của một đối tượng?

In lại Tác giả: IT Lão Cao Thời gian cập nhật: 28-10-2023 11:45:07 28 4
mua khóa gpt4 giày nike

Cách kiểm tra lớp của một đối tượng trong môi trường không gian tên PHP mà không chỉ định lớp không gian tên đầy đủ.

Ví dụ: giả sử tôi có một thư viện đối tượng/thực thể/hợp đồng/tên.

Đoạn mã sau không hoạt động vì get_class trả về lớp không gian tên hoàn chỉnh.

Nếu(get_class($object) == 'Tên') {
...làm điều này ...
}

Từ khóa ma thuật không gian tên trả về không gian tên hiện tại, nó sẽ không có tác dụng nếu đối tượng thử nghiệm có một không gian tên khác.

Tôi có thể chỉ định tên lớp đầy đủ bằng một không gian tên, nhưng điều này dường như đã khóa cấu trúc của mã. Nó không có tác dụng nhiều nếu tôi muốn thay đổi không gian tên một cách linh hoạt.

Bất cứ ai có thể nghĩ ra một cách hiệu quả để làm điều này. Tôi đoán một tùy chọn là biểu thức chính quy.

câu trả lời hay nhất

Bạn có thể làm điều này thông qua sự phản ánh. Cụ thể, bạn có thể sử dụng Lớp phản chiếu::getShortNamePhương thức lấy tên của một lớp không có không gian tên của nó.

Đầu tiên bạn cần xây dựng mộtLớp phản chiếudụ, và sau đó gọi trường hợp đólấyTên Ngắnphương pháp:

$reflect = lớp phản chiếu mới ($object);
nếu ($reflect->getShortName() === 'Tên') {
// làm điều này
}

Tuy nhiên, tôi không thể tưởng tượng được nhiều tình huống mà điều này sẽ được mong muốn. Nếu bạn muốn yêu cầu một đối tượng là thành viên của một lớp, cách kiểm tra nó làtrường hợp của .Nếu bạn muốn một cách linh hoạt hơn để thể hiện các ràng buộc nhất định, cách thực hiện là viết một giao diện và yêu cầu mã để triển khai giao diện. Một lần nữa, cách đúng đắn là sử dụng trường hợp của. (Bạn có thể sử dụng Lớp phản chiếu để đạt được, nhưng hiệu suất sẽ kém hơn nhiều. )

Làm cách nào để có được tên lớp (ngắn) không đủ tiêu chuẩn của một đối tượng? , chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/19901850/

28 4 0
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