Rumah pembangunan bahagian belakang masalah PHP php memanggil kaedah biasa dalam kelas ini

php memanggil kaedah biasa dalam kelas ini

May 22, 2023 pm 07:39 PM

Dalam PHP, kami biasanya mentakrifkan beberapa kaedah biasa dalam kelas untuk melengkapkan beberapa fungsi dan operasi biasa. Antara kaedah ini, beberapa kaedah perlu dipanggil di dalam kelas, manakala beberapa kaedah perlu dipanggil di luar kelas. Untuk dua keperluan panggilan yang berbeza ini, kita perlu menggunakan kaedah yang berbeza untuk melaksanakannya.

Artikel ini akan memperkenalkan cara memanggil kaedah biasa dalam kelas ini dalam PHP. Terutamanya termasuk kandungan berikut:

  1. Panggil kaedah biasa dalam kelas
  2. Panggil kaedah biasa di luar kelas
  3. Contoh kod lengkap

1. Panggil kaedah biasa dalam kelas

Untuk memanggil kaedah biasa dalam kelas, kita boleh menggunakan kata kunci "$this" untuk merujuk kepada objek kelas semasa. Sebagai contoh, untuk memanggil kaedah biasa dalam pembina kelas, anda boleh menggunakan kod berikut:

class MyClass{
    //定义一个普通方法
    public function myMethod($arg){
        //方法体
    }
    
    //类的构造函数
    public function __construct(){
        //在构造函数中调用myMethod()方法
        $this->myMethod('参数值');
    }
}

$obj = new MyClass();
Salin selepas log masuk

Dalam kod di atas, kami menggunakan "$this->myMethod()" dalam pembina bagi kelas Kaedah biasa "myMethod()" yang ditakrifkan dalam kelas dipanggil.

Perlu diambil perhatian bahawa apabila memanggil kaedah biasa, kita perlu menggunakan operator "->" untuk menyambungkan objek kelas dan nama kaedah. Pada masa yang sama, jika kaedah mempunyai parameter, kita perlu meletakkan senarai parameter dalam kurungan "()" selepas nama kaedah.

2. Panggil kaedah biasa di luar kelas

Untuk memanggil kaedah biasa dalam kelas ini di luar kelas, kita perlu membuat instantiat kelas terlebih dahulu dan mendapatkan objek kelas sebelum membuat panggilan. Berbeza daripada memanggil dalam kelas, kita perlu menggunakan nama objek kelas dan bukannya kata kunci "$this" untuk menunjukkan objek kelas semasa.

Sebagai contoh, untuk memanggil kaedah biasa dalam kelas di luar kelas, anda boleh menggunakan kod berikut:

class MyClass{
    //定义一个普通方法
    public function myMethod($arg){
        //方法体
    }
}

//实例化MyClass类
$obj = new MyClass();

//调用MyClass类中的myMethod()方法
$obj->myMethod('参数值');
Salin selepas log masuk

Dalam contoh ini, kami membuat instantiate kelas MyClass dan mendapatkan objek kelas" $obj" untuk memanggil kaedah biasa "myMethod()" yang ditakrifkan dalam kelas.

Perlu diambil perhatian bahawa tidak seperti menggunakan operator "->" semasa memanggil kaedah biasa di dalam kelas, kita juga perlu menggunakan operator "->" untuk menyambungkan objek kelas apabila memanggil di luar kelas. dan nama kaedah.

3. Contoh kod lengkap

Berikut ialah contoh kod lengkap untuk memanggil kaedah biasa dalam kelas ini dalam PHP:

class MyClass{
    //定义一个普通方法
    public function myMethod($arg){
        //方法体
        echo "参数值为:" . $arg;
    }
    
    //类的构造函数
    public function __construct(){
        //在构造函数中调用myMethod()方法
        $this->myMethod('构造函数调用');
    }
}

//实例化MyClass类
$obj = new MyClass();

//调用MyClass类中的myMethod()方法
$obj->myMethod('类外部调用');
Salin selepas log masuk

Dalam contoh ini, kami mentakrifkan nama ialah kelas "MyClass" dan mentakrifkan kaedah biasa bernama "myMethod()" di dalamnya. Kami memanggil kaedah ini dalam pembina kelas dan di luar kelas masing-masing, dan lulus dalam nilai parameter yang berbeza.

Apabila kami melaksanakan program ini, keputusan berikut akan dikeluarkan:

参数值为:构造函数调用
参数值为:类外部调用
Salin selepas log masuk

Di atas ialah kaedah dan contoh kod untuk memanggil kaedah biasa dalam kelas ini dalam PHP. Melalui amalan dan pembelajaran ini, kita boleh mempunyai pemahaman yang lebih mendalam tentang konsep kelas dan kaedah dalam PHP, dan cara menggunakannya dalam pembangunan sebenar untuk meningkatkan kebolehgunaan semula dan kebolehselenggaraan kod.

Atas ialah kandungan terperinci php memanggil kaedah biasa dalam kelas ini. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah piawaian pengekodan PHP terkini dan amalan terbaik? Apakah piawaian pengekodan PHP terkini dan amalan terbaik? Mar 10, 2025 pm 06:16 PM

Apakah piawaian pengekodan PHP terkini dan amalan terbaik?

Bagaimana saya bekerja dengan sambungan php dan pecl? Bagaimana saya bekerja dengan sambungan php dan pecl? Mar 10, 2025 pm 06:12 PM

Bagaimana saya bekerja dengan sambungan php dan pecl?

Bagaimana untuk melaksanakan beratur mesej (RabbitMQ, Redis) dalam PHP? Bagaimana untuk melaksanakan beratur mesej (RabbitMQ, Redis) dalam PHP? Mar 10, 2025 pm 06:15 PM

Bagaimana untuk melaksanakan beratur mesej (RabbitMQ, Redis) dalam PHP?

Apakah teknik pengoptimuman untuk deduplikasi tatasusunan php Apakah teknik pengoptimuman untuk deduplikasi tatasusunan php Mar 03, 2025 pm 04:50 PM

Apakah teknik pengoptimuman untuk deduplikasi tatasusunan php

Adakah Deduplication Array PHP perlu dipertimbangkan untuk kerugian prestasi? Adakah Deduplication Array PHP perlu dipertimbangkan untuk kerugian prestasi? Mar 03, 2025 pm 04:47 PM

Adakah Deduplication Array PHP perlu dipertimbangkan untuk kerugian prestasi?

Bolehkah PHP Array Deduplication memanfaatkan keunikan nama utama? Bolehkah PHP Array Deduplication memanfaatkan keunikan nama utama? Mar 03, 2025 pm 04:51 PM

Bolehkah PHP Array Deduplication memanfaatkan keunikan nama utama?

Apakah amalan terbaik untuk deduplikasi tatasusunan php Apakah amalan terbaik untuk deduplikasi tatasusunan php Mar 03, 2025 pm 04:41 PM

Apakah amalan terbaik untuk deduplikasi tatasusunan php

Bagaimana menggunakan refleksi untuk menganalisis dan memanipulasi kod PHP? Bagaimana menggunakan refleksi untuk menganalisis dan memanipulasi kod PHP? Mar 10, 2025 pm 06:12 PM

Bagaimana menggunakan refleksi untuk menganalisis dan memanipulasi kod PHP?

See all articles