Bagaimana Anda memberi nama kelas di php?

Fungsi get_class() adalah fungsi bawaan di PHP yang digunakan untuk mengembalikan nama kelas suatu objek

Sintaksis

string get_class( object $object )

Parameter. Fungsi ini menerima parameter tunggal $object yang menampung objek yang perlu diuji. Nilai parameter ini dapat dihilangkan di dalam kelas

Nilai Pengembalian. Fungsi ini mengembalikan nama kelas dari objek mana yang merupakan turunannya. Mengembalikan FALSE jika objek bukan objek. Jika objek dihilangkan saat berada di dalam kelas maka nama kelas dikembalikan

PHP memiliki konstanta ajaib ::class_ yang menyelesaikan nama kelas menjadi nama kelas yang sepenuhnya memenuhi syarat. Saat digunakan dengan nama kelas, pernyataan use dan use as akan diselesaikan, atau namespace saat ini akan diawali yang membuatnya menjadi nama kelas yang sepenuhnya memenuhi syarat

Contoh


namespace App\Demos;

use Foo\Bar;
use Bar\Baz as BBaz;

class Demo {}

// `use` statement is resolved:
echo Bar::class; // "Foo\Bar"

// `use` X `as` Y is resolved:
echo BBaz::class; // "Bar\Baz"

// Current namespace is resolved:
echo Demo::class; // "App\Demos\Demo"
_

Sampai PHP8. 0, konstanta ajaib ::class_ tidak diizinkan pada objek

$object = new Foo\Bar();
echo $object::class;

// Fatal error: Cannot use ::class with dynamic class name.

Dengan PHP8. 0, sekarang Anda dapat menggunakan konstanta ::class_ pada objek, dan ini akan diselesaikan dengan benar saat dijalankan

$object = new Foo\Bar();
echo $object::class;

// PHP 8.0+:
// "Foo\Bar"

Hasil yang sama seperti $object = new Foo\Bar(); echo $object::class; // Fatal error: Cannot use ::class with dynamic class name._1

Konstanta ::class pada objek instantiated akan mengembalikan nilai pengembalian yang sama persis dengan panggilan

$object = new Foo\Bar();
echo $object::class;

// Fatal error: Cannot use ::class with dynamic class name.
1

get_class($object) === $object::class;
_

Non-objek tidak diperbolehkan

Menggunakan ::class pada non-objek tidak diperbolehkan

$object = array();
$object::class;

// Fatal error: Uncaught TypeError: Cannot use ::class on value of type array in ...:...

Jika Anda perlu mendapatkan jenis variabel apa pun, PHP 8. 0 hadir dengan fungsi

$object = new Foo\Bar();
echo $object::class;

// Fatal error: Cannot use ::class with dynamic class name.
_5 baru yang dapat Anda panggil untuk mendapatkan nama kelas, tipe skalar, tipe sumber daya, dll semuanya dari satu fungsi praktis

Dampak kompatibilitas mundur

Dalam versi PHP sebelum 8. 0, menggunakan ::class_ pada objek memicu kesalahan fatal. Karena PHP8. 0 meredakan kesalahan ini, ini seharusnya tidak menimbulkan masalah BC baru. Namun, ini akan membuat kode Anda memerlukan PHP 8. 0 untuk dijalankan tanpa cara untuk mengisi fungsionalitas ini ke versi yang lebih lama

Tutorial kali ini akan membahas cara mendapatkan nama kelas PHP dengan resolusi nama kelas, konstanta PHP

YourNameSpace\HelloClassName
2, dan metode
YourNameSpace\HelloClassName
3. Anda akan mempelajari penggunaannya untuk resolusi nama kelas di dalam dan di luar kelas

Gunakan Resolusi Nama Kelas untuk Mendapatkan Nama Kelas di PHP

Anda bisa mendapatkan nama kelas melalui resolusi nama kelas saat Anda memiliki namespace dalam kode Anda. Hasilnya adalah Fully Qualified Class Name (FQCN)

Fitur ini tersedia dalam PHP sebagai

YourNameSpace\HelloClassName
4. Ini berguna ketika Anda memiliki namespace di PHP Anda

Dalam contoh kode berikut, resolusi nama kelas melalui

YourNameSpace\HelloClassName
4 akan mengembalikan nama kelas dari kelas terkait


Keluaran

YourNameSpace\HelloClassName
_

Jika Anda ingin menggunakan fitur ini dalam metode kelas, Anda bisa mendapatkan nama kelas melalui metode statis. Anda akan menulis ini sebagai

YourNameSpace\HelloClassName
_6

Contoh kode selanjutnya menunjukkan cara mendapatkan nama kelas dalam metode kelas

getClassName();
?>

Keluaran

YourNameSpace\HelloClassName
_

Gunakan YourNameSpace\HelloClassName _2 Konstanta untuk Mendapatkan Nama Kelas di PHP

Konstanta

YourNameSpace\HelloClassName
2 adalah bagian dari konstanta standar PHP. Anda dapat menggunakannya di dalam kelas untuk mendapatkan nama kelas

Kode berikut akan mendapatkan nama kelas melalui

YourNameSpace\HelloClassName
2 konstanta

HelloName();
?>

Keluaran

Gunakan YourNameSpace\HelloClassName _3 Fungsi untuk Mendapatkan Nama Kelas di PHP

PHP menyediakan fungsi

YourNameSpace\HelloClassName
_3. Fungsi ini akan mengembalikan nama kelas. Anda dapat menggunakannya dalam pemrograman prosedural dan berorientasi objek. Pertama, kita akan melihat gaya prosedural

Blok kode berikutnya mendefinisikan kelas dengan fungsi tunggal. Fungsi di dalam kelas akan mengembalikan nama kelas ketika argumennya adalah kata kunci

getClassName();
?>
2

Untuk mendapatkan nama kelas, Anda membuat objek dari kelas tersebut;

class_name();

    // Also, you can get the class name
    // via an external call
    // echo get_class($new_hello_object);
?>

Keluaran

Pada awalnya, untuk gaya OOP, Anda dapat mengembalikan fungsi

YourNameSpace\HelloClassName
3 dari kelas statis

	

Keluaran

Metode ini memiliki keterbatasan karena ketika Anda memperluas kelas, kelas yang diperluas akan mengembalikan nama kelas induk dan bukan kelas yang diperluas. Untuk mengatasi ini, Anda dapat menggunakan

getClassName();
?>
5

Fungsi

getClassName();
?>
_6 bergantung pada Late Static Binding. Dengan fungsi ini, PHP akan mengembalikan nama class pemanggil. Ini memecahkan situasi di mana kelas yang diperluas mengembalikan nama kelas induknya daripada miliknya sendiri


Keluaran

Hello class name: Hello
Extended Hello class name: ExtendHello
Extended Hello parent class name: Hello

Gunakan Kelas Refleksi untuk Mendapatkan Nama Kelas di PHP

Kelas Refleksi adalah cara ringkas untuk mendapatkan nama kelas di PHP. Anda membuat kelas;

Kelas Refleksi harus menyetel argumennya ke

getClassName();
?>
7. Setelah itu, Anda bisa mendapatkan nama kelas melalui metode
getClassName();
?>
8 yang tersedia dengan kelas Refleksi

getShortName();
        }
    }

    // Create a new class name
    $hello_class_name = new Hello();

    // Get the class name
    echo $hello_class_name->HelloClassName();
?>

Keluaran

Gunakan getClassName(); ?> _9 pada Objek untuk Mendapatkan Nama Kelas di PHP

Fitur

getClassName();
?>
_9 berfungsi di kelas sebelum PHP 8. Sejak PHP, saat Anda membuat objek dari kelas, Anda bisa mendapatkan nama kelas dari objek yang dibuat dengan
getClassName();
?>
9

Bagaimana cara mendeklarasikan kelas di PHP?

Inilah sintaks untuk definisi kelas. class classname [ extends baseclass ] { [ var $property [ = value ];. ] [ fungsi nama fungsi (args) { // kode }. ] }

Bagaimana cara mendapatkan nama objek di PHP?

fungsi get_class() di PHP . Mengembalikan FALSE jika objek bukan objek. Jika objek dikecualikan saat berada di dalam kelas, nama kelas tersebut dikembalikan.

Apakah kita memiliki kelas di PHP?

Kelas PHP , dan lebih umum, pemrograman berorientasi objek, menyediakan pendekatan tambahan untuk dapat digunakan kembali, dan dapat digunakan untuk berbagai tujuan. Mereka dapat menggambarkan entitas yang memiliki sifat dan perilaku yang diketahui. Mereka dapat digunakan sebagai pesan untuk fungsi dan objek lainnya.