Rumah >rangka kerja php >ThinkPHP >Bagaimana untuk memanggil kaedah dalam kelas lain dalam thinkphp
ThinkPHP ialah rangka kerja pembangunan PHP yang sangat baik dan disukai secara meluas oleh pembangun. Semasa proses pembangunan, kita sering menulis banyak kelas Kadangkala kita perlu menggunakan kaedah atau atribut kelas lain dalam kelas semasa, jadi apa yang perlu kita lakukan? Artikel ini akan memperkenalkan cara memanggil kaedah kelas lain dalam ThinkPHP.
1. Import kelas
Untuk menggunakan kaedah kelas lain, langkah pertama sudah tentu untuk memperkenalkan kelas ke dalam kelas semasa. Dalam ThinkPHP, kita boleh menggunakan fungsi import
untuk mencapai:
import('命名空间.类名');
di mana, 命名空间
dan 类名
ialah ruang nama dan nama kelas bagi kelas yang diimport masing-masing. Jika kelas yang diimport tiada dalam mana-mana ruang nama, hanya hantar nama kelas terus ke fungsi import
.
Sebagai contoh, kita mempunyai kelas OtherClass
, yang mengandungi kaedah test
Sekarang jika kita mahu menggunakan kaedah ini dalam kelas semasa, kita boleh menulis seperti ini:
import('app\MyClass\OtherClass'); class MyClass { public function test() { $other = new OtherClass(); $other->test(); } }.
Itu sahaja Kaedah MyClass
dalam OtherClass
digunakan dalam test
.
2. Instantiate kelas
Selepas mengimport kelas, kita juga perlu menggunakan kata kunci new
untuk membuat instantiate kelas untuk menggunakan kaedah dan atribut dalam kelas. Biasanya, kami membuat instance kelas yang diimport dalam pembina kelas semasa. Contohnya:
import('app\MyClass\OtherClass'); class MyClass { private $other; public function __construct() { $this->other = new OtherClass(); } public function test() { $this->other->test(); } }
Dalam pembina, kami membuat instantiate OtherClass
dan menetapkannya kepada harta persendirian MyClass
daripada $other
. Kemudian dalam kaedah test
, kita boleh memanggil kaedah $other
dalam objek test
.
3. Kaedah panggilan
Selepas membuat seketika kelas yang diimport, kita boleh menggunakan kaedah dalam kelas. Sebelum memanggil kaedah, kita perlu memahami hubungan antara kelas semasa dan kelas yang diimport.
Jika kelas semasa ialah subkelas kelas yang diimport, kita boleh terus menggunakan kata kunci parent
untuk memanggil kaedah yang diimport kelas. Contohnya:
import('app\MyClass\OtherClass'); class MyClass extends OtherClass { public function test() { parent::test(); } }
Dalam MyClass
, kami mewarisi OtherClass
dan mengatasi kaedah test
, tetapi kami juga mahu menggunakan kaedah OtherClass
dalam test
, anda boleh menggunakan parent::test()
untuk menelefon.
Jika kelas semasa dan kelas yang diimport bukanlah hubungan ibu bapa-anak, tetapi hubungan kerjasama, kita boleh memanggil kelas dengan membuat seketika objek kaedah kelas yang diimport. Contohnya:
import('app\MyClass\OtherClass'); class MyClass { private $other; public function __construct() { $this->other = new OtherClass(); } public function test() { $this->other->test(); } }
Dalam contoh ini, tiada hubungan warisan antara MyClass
dan OtherClass
Kami memanggil kaedah $other
dalam OtherClass
dengan membuat seketika objek test
.
Ringkasan
Di atas ialah cara memanggil kaedah kelas lain dalam ThinkPHP. Sama ada hubungan ibu bapa-anak atau hubungan kerjasama, kita boleh mengimport kelas untuk digunakan melalui fungsi import
dan kemudian memanggil kaedahnya selepas instantiasi. Untuk kelas atau kaedah yang perlu dipanggil dengan kerap, pemalar atau fungsi boleh ditakrifkan dalam fail global ThinkPHP untuk memudahkan panggilan mereka ke mana-mana dalam projek.
Atas ialah kandungan terperinci Bagaimana untuk memanggil kaedah dalam kelas lain dalam thinkphp. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!