cari
Rumahpembangunan bahagian belakangmasalah PHPApakah yang dimaksudkan dengan garis bawah dalam php

Satu garis bawah dalam php mewakili pembolehubah persendirian dan kaedah persendirian, dan dua garis bawah ialah pembolehubah terbina dalam PHP Contohnya, PHP menetapkan bahawa kaedah yang bermula dengan dua garis bawah dikhaskan sebagai kaedah ajaib, jadi adalah disyorkan agar anda. mempunyai nama fungsi terbaik Jangan mulakan dengan __ melainkan anda membebankan kaedah ajaib sedia ada.

Apakah yang dimaksudkan dengan garis bawah dalam php

Persekitaran pengendalian artikel ini: sistem Windows 7, PHP versi 7.1, komputer DELL G3

Apakah yang digariskan oleh php min?

Maksud pembolehubah yang bermula dengan garis bawah dalam PHP

Peraturan penamaan

Menambah satu adalah peribadi

Menambah dua biasanya lalai sistem , dipratakrifkan oleh sistem, iaitu apa yang dipanggil:

=========

"Kaedah ajaib" dan "Pemalar ajaib" ”

=====================

★Pemalar PHP bermula dan berakhir dengan garis bawah berganda ialah "pemalar ajaib":

__LINE__Nombor baris semasa dalam fail.

__FILE__Laluan penuh dan nama fail fail.

__DIR__Direktori tempat letak fail. Jika digunakan dalam fail yang disertakan, mengembalikan direktori tempat fail yang disertakan berada. Ia bersamaan dengan diname(__FILE__). Melainkan ia adalah direktori akar, nama direktori tidak termasuk garis miring di belakang

Nota: Kandungan di atas adalah daripada "Manual PHP Cina->Rujukan Bahasa->Constant->Magic Constant".

Daripada versi php5 dan yang lebih baru, kelas php boleh menggunakan kaedah ajaib.

PHP menetapkan bahawa kaedah yang bermula dengan dua garis bawah (__) dikhaskan sebagai kaedah ajaib, jadi adalah disyorkan bahawa nama fungsi anda tidak boleh bermula dengan __ melainkan ia adalah untuk membebankan kaedah sihir sedia ada.

Kaedah ajaib dalam PHP ialah: __build, __destruct, __call, __callStatic,__get, __set, __isset, __unset, __sleep, __wakeup, __toString, __set_state, __clone, __autoload

Dua kaedah ini direka untuk sifat yang tidak diisytiharkan dalam kelas dan kelas induknya

__get( $property ) Kaedah ini digunakan apabila sifat yang tidak ditentukan dipanggil Akan dicetuskan, parameter yang diluluskan ialah nama sifat sedang diakses

__set( $property, $value ) Apabila memberikan nilai kepada sifat yang tidak ditentukan, kaedah ini akan dicetuskan, parameter yang diluluskan ialah sifat yang ditetapkan Nama dan nilai

Bukan pengisytiharan di sini termasuk atribut yang kawalan aksesnya dilindungi dan peribadi (iaitu, atribut yang tidak mempunyai kebenaran untuk mengakses) apabila dipanggil menggunakan objek.

2. __isset, __unset

__isset( $property ) Kaedah ini dipanggil apabila fungsi isset() dipanggil pada undefined property

__unset( $property ) Ini kaedah dipanggil apabila fungsi unset() dipanggil pada sifat yang tidak ditentukan

Sama seperti kaedah __get dan kaedah __set. Apabila dipanggil dengan objek, kawalan akses dilindungi, peribadi . Atribut (iaitu, atribut tanpa kebenaran untuk mengakses)

3 __call

__call( $method, $arg_array ) Apabila memanggil kaedah yang tidak ditentukan, kaedah ini dipanggil

Kaedah yang tidak ditentukan di sini termasuk kaedah yang tidak mempunyai kebenaran untuk mengakses jika kaedah itu tidak wujud, pergi ke kelas induk untuk mencari kaedah Jika ia tidak wujud dalam kelas induk, panggil kaedah __call() ini kelas. Jika kelas ini Jika kaedah __call() tidak wujud dalam kelas induk, pergi ke kaedah __call() dalam kelas induk

4 __autoload

fungsi __autoload muncul secara automatik apabila cuba menggunakan kelas yang belum ditakrifkan. Dengan memanggil fungsi ini, enjin skrip mempunyai peluang terakhir untuk memuatkan kelas yang diperlukan sebelum PHP gagal dengan ralat.

Jika anda ingin menentukan kelas autoloading global, anda mesti menggunakan kaedah spl_autoload_register() untuk mendaftarkan kelas pemprosesan ke perpustakaan standard PHP:

Nota: dilemparkan ke dalam __autoload fungsi Pengecualian tidak boleh ditangkap oleh blok pernyataan tangkapan dan menyebabkan ralat maut, jadi ia harus ditangkap dalam fungsi itu sendiri.

<?php  
class Loader  
{  
static function autoload_class($class_name)  
{  
//寻找正确的$class_name类,并引入,没有则抛出异常  
}  
}  
  
/** 
*  设置对象的自动载入 
*  spl_autoload_register — Register given function as __autoload() implementation 
*/  
spl_autoload_register(array(&#39;Loader&#39;, &#39;autoload_class&#39;));  
  
$a = new Test();//Test没用require就实例化,实现自动加载,很多框架就用这种方法自动加载类  
  
?>
5. __build, __destruct

kaedah constructor __, kaedah ini dipanggil apabila objek dicipta Kelebihan menggunakan kaedah ini berbanding PHP4 ialah kaedah konstruktor boleh mempunyai nama yang unik . Tidak kira apa nama kelasnya Dengan cara ini, apabila anda menukar nama kelas, anda tidak perlu menukar nama pembina

__destruct destructor kaedah akan mengeluarkan objek dari ingatan sebelum ia dimusnahkan Sebelum membersihkan) panggil kaedah ini. Secara lalai, PHP hanya melepaskan memori yang diduduki oleh sifat objek dan memusnahkan sumber berkaitan objek. Pemusnah membenarkan anda melaksanakan kod sewenang-wenangnya untuk mengosongkan memori selepas menggunakan objek. Apabila PHP memutuskan bahawa skrip anda tidak lagi dikaitkan dengan objek, pemusnah akan dipanggil.

Dalam ruang nama fungsi, ini akan berlaku apabila fungsi itu kembali.

Untuk pembolehubah global, ini berlaku pada penghujung skrip.

Jika anda ingin memusnahkan objek secara eksplisit, anda boleh menetapkan sebarang nilai lain kepada pembolehubah yang menunjuk ke objek Biasanya tetapkan pembolehubah kepada NULL atau panggilan tidak ditetapkan.

6 >

Penugasan objek dalam PHP5 menggunakan tugasan rujukan Jika anda ingin menyalin objek, anda perlu menggunakan kaedah klon Apabila memanggil kaedah ini, objek akan secara automatik memanggil kaedah ajaib __clone operasi permulaan perlu dilakukan , boleh dilaksanakan dalam kaedah __clone.

7. __toString

Kaedah __toString dipanggil secara automatik apabila menukar objek kepada rentetan, seperti semasa menggunakan gema untuk mencetak objek.

Jika kelas tidak melaksanakan kaedah ini, objek tidak boleh dicetak melalui gema, jika tidak, ia akan memaparkan: Ralat maut yang boleh ditangkap: Objek ujian kelas tidak boleh ditukar kepada rentetan dalam

Kaedah ini mesti kembali seutas tali.

Sebelum PHP 5.2.0, kaedah __toString hanya boleh berkuat kuasa apabila digunakan bersama echo() atau print(). Selepas PHP 5.2.0, ia boleh berkuat kuasa dalam mana-mana persekitaran rentetan (contohnya, melalui printf(), menggunakan pengubah %s), tetapi tidak boleh digunakan dalam persekitaran bukan rentetan (seperti menggunakan pengubah %d). Daripada PHP 5.2.0, jika objek yang tidak mentakrifkan kaedah __toString ditukar kepada rentetan, ralat E_RECOVERABLE_ERROR akan dilaporkan.

8. __sleep, __wakeup

__sleep Gunakan

__wakeup apabila bersiri dan panggil

serialize() untuk menyemak kelas Adakah terdapat fungsi dengan sihir nama __tidur. Jika ya, fungsi tersebut akan dijalankan sebelum sebarang siri. Ia mengosongkan objek dan harus mengembalikan tatasusunan yang mengandungi nama semua pembolehubah dalam objek yang harus bersiri.

Tujuan menggunakan __sleep adalah untuk menutup sebarang sambungan pangkalan data yang mungkin ada pada objek, menyerahkan data yang belum selesai atau melaksanakan tugas pembersihan yang serupa. Selain itu, fungsi ini berguna jika anda mempunyai objek yang sangat besar yang tidak perlu disimpan sepenuhnya.

Sebaliknya, unserialize() menyemak kewujudan fungsi dengan nama ajaib __wakeup. Fungsi ini boleh membina semula sebarang sumber yang mungkin ada pada objek, jika ada.

Tujuan menggunakan __wakeup adalah untuk mewujudkan semula mana-mana sambungan pangkalan data yang mungkin hilang semasa penyirian dan untuk mengendalikan tugas pemulaan semula yang lain.

9. __set_state

Apabila var_export() dipanggil, kaedah statik ini akan dipanggil (sah sejak PHP 5.1.0).

Satu-satunya parameter kaedah ini ialah tatasusunan, yang mengandungi sifat kelas yang disusun dalam format tatasusunan('property' => nilai, …).

10. __invoke

Apabila cuba memanggil objek dengan memanggil fungsi, kaedah __invoke akan dipanggil secara automatik.

PHP5.3.0 atau ke atas adalah sah

11 __callStatic

Ia berfungsi serupa dengan kaedah ajaib __callStatic() adalah untuk mengendalikan panggilan kaedah statik 🎜>

Sah untuk PHP 5.3.0 dan ke atas

PHP sememangnya telah mengukuhkan takrifan kaedah __callStatic() ia mestilah awam dan mesti diisytiharkan statik. Begitu juga, kaedah sihir __call() mesti ditakrifkan sebagai awam, begitu juga semua kaedah sihir lain.

Pembelajaran yang disyorkan: "

Tutorial Video PHP"

Atas ialah kandungan terperinci Apakah yang dimaksudkan dengan garis bawah dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
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
Asid vs pangkalan data asas: perbezaan dan bila menggunakan setiap.Asid vs pangkalan data asas: perbezaan dan bila menggunakan setiap.Mar 26, 2025 pm 04:19 PM

Artikel ini membandingkan model pangkalan data asid dan asas, memperincikan ciri -ciri mereka dan kes penggunaan yang sesuai. Asid mengutamakan integriti data dan konsistensi, sesuai untuk aplikasi kewangan dan e-dagang, sementara asas memberi tumpuan kepada ketersediaan dan

PHP Secure File Muat naik: Mencegah kelemahan berkaitan fail.PHP Secure File Muat naik: Mencegah kelemahan berkaitan fail.Mar 26, 2025 pm 04:18 PM

Artikel ini membincangkan mendapatkan muat naik fail PHP untuk mengelakkan kelemahan seperti suntikan kod. Ia memberi tumpuan kepada pengesahan jenis fail, penyimpanan selamat, dan pengendalian ralat untuk meningkatkan keselamatan aplikasi.

Pengesahan Input PHP: Amalan Terbaik.Pengesahan Input PHP: Amalan Terbaik.Mar 26, 2025 pm 04:17 PM

Artikel membincangkan amalan terbaik untuk pengesahan input PHP untuk meningkatkan keselamatan, memberi tumpuan kepada teknik seperti menggunakan fungsi terbina dalam, pendekatan putih, dan pengesahan sisi pelayan.

PHP API Kadar Mengehadkan: Strategi Pelaksanaan.PHP API Kadar Mengehadkan: Strategi Pelaksanaan.Mar 26, 2025 pm 04:16 PM

Artikel ini membincangkan strategi untuk melaksanakan kadar API yang mengehadkan PHP, termasuk algoritma seperti baldi token dan baldi bocor, dan menggunakan perpustakaan seperti simfoni/kadar-limiter. Ia juga meliputi pemantauan, had kadar penyesuaian secara dinamik, dan tangan

PHP Kata Laluan Hashing: password_hash dan password_verify.PHP Kata Laluan Hashing: password_hash dan password_verify.Mar 26, 2025 pm 04:15 PM

Artikel ini membincangkan manfaat menggunakan password_hash dan password_verify dalam php untuk mendapatkan kata laluan. Hujah utama ialah fungsi ini meningkatkan perlindungan kata laluan melalui penjanaan garam automatik, algoritma hashing yang kuat, dan secur

OWASP Top 10 PHP: Huraikan dan mengurangkan kelemahan umum.OWASP Top 10 PHP: Huraikan dan mengurangkan kelemahan umum.Mar 26, 2025 pm 04:13 PM

Artikel ini membincangkan kelemahan OWASP 10 dalam strategi PHP dan mitigasi. Isu -isu utama termasuk suntikan, pengesahan yang rosak, dan XSS, dengan alat yang disyorkan untuk memantau dan mendapatkan aplikasi PHP.

Pencegahan PHP XSS: Bagaimana Melindungi Terhadap XSS.Pencegahan PHP XSS: Bagaimana Melindungi Terhadap XSS.Mar 26, 2025 pm 04:12 PM

Artikel ini membincangkan strategi untuk mencegah serangan XSS di PHP, memberi tumpuan kepada sanitisasi input, pengekodan output, dan menggunakan perpustakaan dan kerangka kerja yang meningkatkan keselamatan.

PHP Interface vs Kelas Abstrak: Bila Menggunakan Setiap.PHP Interface vs Kelas Abstrak: Bila Menggunakan Setiap.Mar 26, 2025 pm 04:11 PM

Artikel ini membincangkan penggunaan antara muka dan kelas abstrak dalam PHP, memberi tumpuan kepada masa untuk menggunakan setiap. Antara muka menentukan kontrak tanpa pelaksanaan, sesuai untuk kelas yang tidak berkaitan dan warisan berganda. Kelas Abstrak Memberi Funct Biasa

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini

SublimeText3 versi Inggeris

SublimeText3 versi Inggeris

Disyorkan: Versi Win, menyokong gesaan kod!

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular