PHP lấy tên của lớp không có không gian tên

Hướng dẫn này sẽ thảo luận về cách lấy tên lớp PHP với độ phân giải tên lớp, hằng số PHP

YourNameSpace\HelloClassName
2 và phương thức
YourNameSpace\HelloClassName
3. Bạn sẽ học cách sử dụng nó để phân giải tên lớp trong và ngoài lớp

Sử dụng Độ phân giải tên lớp để lấy tên lớp trong PHP

Bạn có thể lấy tên lớp thông qua độ phân giải tên lớp khi bạn có một không gian tên trong mã của mình. Kết quả là Tên Lớp Đủ Điều kiện [FQCN]

Tính năng này có sẵn trong PHP là

YourNameSpace\HelloClassName
4. Nó rất hữu ích khi bạn có một không gian tên trong PHP của mình

Trong ví dụ mã sau, phân giải tên lớp thông qua

YourNameSpace\HelloClassName
4 sẽ trả về tên lớp của lớp được liên kết


đầu ra

YourNameSpace\HelloClassName

Nếu bạn muốn sử dụng tính năng này trong phương thức lớp, bạn có thể lấy tên lớp thông qua phương thức tĩnh. Bạn sẽ viết cái này là

YourNameSpace\HelloClassName
6

Ví dụ mã tiếp theo cho thấy cách lấy tên lớp trong phương thức lớp

getClassName[];
?>

đầu ra

YourNameSpace\HelloClassName

Sử dụng hằng số
YourNameSpace\HelloClassName
2 để lấy tên lớp trong PHP

Hằng số

YourNameSpace\HelloClassName
2 là một phần của hằng số được xác định trước PHP. Bạn có thể sử dụng nó trong một lớp để lấy tên lớp

Đoạn mã sau sẽ lấy tên lớp thông qua hằng số

YourNameSpace\HelloClassName
2

YourNameSpace\HelloClassName
2

đầu ra

Sử dụng hàm
YourNameSpace\HelloClassName
3 để lấy tên lớp trong PHP

PHP cung cấp một hàm

YourNameSpace\HelloClassName
3. Hàm này sẽ trả về tên lớp. Bạn có thể sử dụng nó trong lập trình thủ tục và hướng đối tượng. Đầu tiên, chúng ta sẽ xem xét phong cách thủ tục

Khối mã tiếp theo định nghĩa một lớp với một chức năng duy nhất. Hàm bên trong lớp sẽ trả về tên lớp khi đối số của nó là từ khóa

getClassName[];
?>
2

Để lấy tên lớp, bạn tạo một đối tượng từ lớp;

YourNameSpace\HelloClassName
7

đầu ra

Lúc đầu, đối với kiểu OOP, bạn có thể trả về hàm

YourNameSpace\HelloClassName
3 từ một lớp tĩnh

YourNameSpace\HelloClassName
9

đầu ra

Phương pháp này có những hạn chế của nó bởi vì khi bạn mở rộng lớp, lớp mở rộng sẽ trả về tên của lớp cha chứ không phải lớp mở rộng. Để giải quyết vấn đề này, bạn có thể sử dụng

getClassName[];
?>
5

Hàm

getClassName[];
?>
6 dựa trên liên kết tĩnh muộn. Với chức năng này, PHP sẽ trả về tên của lớp gọi. Nó giải quyết tình huống lớp mở rộng trả về tên của lớp cha chứ không phải tên của chính nó


đầu ra

YourNameSpace\HelloClassName
3

Sử dụng Lớp phản chiếu để lấy tên lớp trong PHP

Reflection Class là một cách ngắn gọn để lấy tên lớp trong PHP. Bạn tạo một lớp;

Lớp Reflection nên có đối số được đặt thành

getClassName[];
?>
7. Sau đó, bạn có thể lấy tên lớp thông qua phương thức
getClassName[];
?>
8 có sẵn với lớp Reflection

YourNameSpace\HelloClassName
6

đầu ra

Sử dụng
getClassName[];
?>
9 trên đối tượng để lấy tên lớp trong PHP

Tính năng

getClassName[];
?>
9 hoạt động trên các lớp trước PHP 8. Kể từ PHP, khi bạn tạo một đối tượng từ một lớp, bạn có thể lấy tên lớp từ đối tượng đã tạo bằng
getClassName[];
?>
9

Ví dụ: bạn có thể có một tập hợp các lớp mô tả bảng HTML, chẳng hạn như Bảng, Hàng và Ô trong khi cũng có một tập hợp các lớp khác để mô tả đồ nội thất, chẳng hạn như Bàn, Ghế và Giường. Không gian tên có thể được sử dụng để tổ chức các lớp thành hai nhóm khác nhau đồng thời ngăn không cho hai lớp Bảng và Bảng bị trộn lẫn

Khai báo một Namespace

Không gian tên được khai báo ở đầu tệp bằng từ khóa

YourNameSpace\HelloClassName
0

cú pháp

Khai báo một không gian tên gọi là Html

Ghi chú. Khai báo

YourNameSpace\HelloClassName
0 phải là điều đầu tiên trong tệp PHP. Đoạn mã sau sẽ không hợp lệ

echo "Xin chào thế giới. ";
không gian tên Html;
.
?>

Các hằng, lớp và hàm được khai báo trong tệp này sẽ thuộc về không gian tên Html

Ví dụ

Tạo một lớp Bảng trong không gian tên Html

không gian tên Html;
Bảng lớp {
  public $title = "";
  public $numRows = 0
  public function message[] {
    echo "

Bảng '{$this->title}' có {$this->numRows} hàng

";
  }
}
$table = new Table[];
$table->title = "My table";
$table->numRows = 5;
?>



$table->message[];
?>


Try it Yourself »

Đối với tổ chức hơn nữa, có thể có các không gian tên lồng nhau

cú pháp

Khai báo một không gian tên có tên là Html bên trong một không gian tên có tên là Code

không gian tên Mã\Html;
?>

Sử dụng không gian tên

Bất kỳ mã nào tuân theo khai báo

YourNameSpace\HelloClassName
0 đều hoạt động bên trong không gian tên, vì vậy các lớp thuộc về không gian tên có thể được khởi tạo mà không cần bất kỳ vòng loại nào. Để truy cập các lớp từ bên ngoài một không gian tên, lớp cần phải có không gian tên được đính kèm với nó

Ví dụ

Sử dụng các lớp từ không gian tên Html

$table = new Html\Table[]
$row = new Html\Row[];
?>

Tự mình thử »

Khi nhiều lớp từ cùng một không gian tên đang được sử dụng cùng một lúc, việc sử dụng từ khóa

YourNameSpace\HelloClassName
0 sẽ dễ dàng hơn

Ví dụ

Sử dụng các lớp từ không gian tên Html mà không cần Html\qualifier

không gian tên Html;
$table = new Table[];
$row = new Row[];
?>

Tự mình thử »

Bí danh không gian tên

Có thể hữu ích khi đặt bí danh cho một không gian tên hoặc lớp để dễ viết hơn. Điều này được thực hiện với từ khóa

YourNameSpace\HelloClassName
4

Làm cách nào để lấy tên lớp trong PHP?

Hàm get_class[] là một hàm có sẵn trong PHP được sử dụng để trả về tên lớp của một đối tượng.

Làm cách nào để sử dụng lớp không có không gian tên PHP?

Bạn có thể sử dụng ReflectionClass. getShortName lấy tên của lớp mà không có không gian tên của nó.

Làm cách nào để lấy tên lớp trong laravel?

Có, có một cách để lấy mô hình liên quan mà không cần truy vấn. $className = get_class[$faq->products[]->getRelated[]];

Làm cách nào để lấy tên của một đối tượng trong PHP?

Hàm get_class[] lấy tên lớp của đối tượng. Nó trả về FALSE nếu đối tượng không phải là đối tượng. Nếu đối tượng bị loại trừ khi ở trong một lớp, tên của lớp đó được trả về.

Chủ Đề