Nota kajian membaca pengaturcaraan berwibawa PHP5 dengan asas download_php e-buku
PHP 5 Power Programming PDF alamat muat turun /books/28207.html
Dalam PHP4, __construct() tidak digunakan sebagai nama pembina, dan kelas mesti digunakan Namanya mentakrifkan kaedah, sama seperti dalam C++.
Dalam PHP5, kaedah penamaan pembina bersatu baharu digunakan: __construct() Sudah tentu, nama kelas juga boleh digunakan.
Walau bagaimanapun, jika anda menggunakan kedua-duanya pada masa yang sama, sistem akan menggunakan __construct() secara lalai.
Orang kelas {
//Kaedah dalam PHP4
fungsi awam Person(){
gema "Kaedah dalam PHP4";
}
//Kaedah disyorkan dalam PHP5
fungsi awam __construct(){
gema "Kaedah yang disyorkan untuk PHP5";
}
fungsi awam katakan(){
}
}
$p1=Orang baharu(
?> 🎜>
Kod adalah seperti berikut:
peribadi $_age;
fungsi awam __build($age){
cuba {
jika ($age<120){
$this- >_age=$age ;
}else {
lemparkan Exception baharu("Umur yang anda masukkan terlalu lama"); $e->getMessage( );
}
}
}
$p1=Orang baharu(121);>
Kawalan Akses
Perlindungan akses atribut objek ialah paradigma utama OOP
Dilindungi: ahli kelas boleh diakses daripada kaedah di dalam objek oleh subkelas dan kelas induk bagi kelas di mana mereka beradaPersendirian: Ahli kelas hanya boleh diakses melalui kaedah dalam objek kelas di mana mereka berada, tetapi tidak boleh diakses daripada ahli kelas yang diwarisi. Oleh kerana ahli persendirian tidak akan diwarisi, dua kelas berkaitan boleh mengisytiharkan pembolehubah persendirian dengan nama yang sama. Iaitu, kedua-dua kelas hanya boleh melihat harta peribadi mereka sendiri, dan tiada hubungan antara ahli persendirian.
Contoh:
Salin kod
{
public $public = 'Public';
protected $protected = 'Protected'
private $private = ' Private';
function printHello()
{
echo $this->public
echo $this->protected; }
}
$obj = new MyClass();
echo $obj->public; // Baris ini boleh dilaksanakan seperti biasa
echo $obj->protected; akan menghasilkan ralat Fatal
echo $obj->private; // Baris ini juga akan menghasilkan ralat maut
$obj->printHello(); // Output Public, Protected and Private
/ **
* Tentukan MyClass2
*/
kelas MyClass2 memanjangkan MyClass
{
// Public dan protected boleh ditakrifkan semula, tetapi private tidak boleh
protected $protected = 'Protected2'
function printHello ( )
{
gema $ini->awam
gema $ini->dilindungi
gema $ini->peribadi; $ obj2 = new MyClass2();
echo $obj->public; // Baris ini boleh dilaksanakan secara normal
echo $obj2->private; // private is not defined
echo $obj2 -> ;protected; // Baris ini akan menghasilkan ralat maut
$obj2->printHello(); // Output Public, Protected2, tetapi bukan Private
Nota: dalam kelas Kaedah mesti ditakrifkan menggunakan kata kunci awam, dilindungi atau peribadi. Jika kata kunci ini tidak ditetapkan, kaedah akan ditetapkan kepada awam lalai.
Kaedah statik
Kaedah statik boleh dipanggil melalui nama kelas::kaedah statik tanpa mencipta tika objek, atau ia boleh dipanggil dalam contoh objek melalui kaedah $this->statik atau diri: :Kaedah statik untuk memanggil.
Kod adalah seperti berikut:
kelas Foo { public static $my_static = 'foo'; public static function staticValue() { return self::$my_static;//Untuk mengakses ahli statik dalam kelas, gunakan kata kunci kendiri } }
echo Foo::staticValue();//Kaedah 2
?
Objek klon
Dalam PHP4, apabila objek baharu dikembalikan, objek itu sendiri dikembalikan
Dalam PHP5, apabila objek baharu, objek yang ditunjuk akan dikembalikan. Handle"
Ini bermakna dalam PHP5, apabila memberikan contoh objek ($obj1) kepada pembolehubah lain ($obj2), kedua-dua objek menghala ke kawasan memori yang sama.
Contohnya:
php
ujian kelas{
awam $str;
}
$obj1=ujian baharu();$obj1->str="obj1"; obj1;
$obj2->str="obj2";
gema $obj1->str;//akan mengeluarkan "obj1"
?>
Sebab $obj1 dan $ obj2 menunjuk ke kawasan memori yang sama, jadi apabila mana-mana objek digunakan untuk mengubah suai nilai pembolehubah ahli, ia akan menjejaskan objek lain.
Rujuk contoh di bawah; 🎜>
Salin kod
$obj1->str="obj1"; "obj2";
gema $obj1->str;//akan mengeluarkan "obj2"
?>
ibu bapa:: dan diri sendiri:
self: : menunjuk ke kelas semasa, dan biasanya digunakan untuk mengakses ahli statik, kaedah dan pemalar
induk:: menunjuk ke kelas induk, dan ia sering digunakan untuk memanggil pembina dan kaedah induk kelas, dan juga boleh digunakan untuk mengakses ahli kelas induk dan pemalar
Nota: Anda harus menggunakan induk:: bukannya nama khusus kelas induk, kerana ini membolehkan anda menukar hierarki kelas anda dengan mudah.
Salin kod
Kod adalah seperti berikut:
"; }
fungsi awam __construct(){
parent::__construct();//Kaedah 1
// Father::__construct();//Kaedah 2
echo "Panggil pembina subkelas";
}
}
$son=new Son();
?>
Hasil:
Panggil pembina kelas induk
Panggil pembina kaedah subkelas 1 disyorkan untuk fungsi
, atas sebab yang dinyatakan di atas.
instanceof instance
Salin kod
Kodnya adalah seperti berikut:
class Bulatan{
public $name=__CLASS__;
}
function checkIfRectangle($shape){
if ($shape instanceof Rectangle ){
echo $shape->name; }lain {
gema "Objek ini bukan contoh kelas Rectangle";
}
}
checkIfRectangle(new Square());//Output: Square
checkIfRectangle(new Circle());/ /Output: Objek bukan contoh kelas Rectangle
?>
Nota: __CLASS__ ialah pemalar khas yang digunakan untuk menyimpan nama kelas semasa

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Perbezaan antara php5 dan php8 adalah dari segi prestasi, struktur bahasa, sistem jenis, pengendalian ralat, pengaturcaraan tak segerak, fungsi perpustakaan standard dan keselamatan. Pengenalan terperinci: 1. Peningkatan prestasi Berbanding dengan PHP5, PHP8 mempunyai peningkatan besar dalam prestasi PHP8 memperkenalkan pengkompil JIT, yang boleh menyusun dan mengoptimumkan beberapa kod pelaksanaan frekuensi tinggi, dengan itu meningkatkan kelajuan berjalan; PHP8 memperkenalkan beberapa struktur dan fungsi bahasa baharu PHP8 menyokong parameter yang dinamakan, membenarkan pembangun menghantar nama parameter dan bukannya susunan parameter, dsb.

Cara menukar port 80 dalam php5: 1. Edit nombor port dalam fail konfigurasi pelayan Apache; mula berjalan pada port baru berjalan pada port.

Langkah penyelesaian untuk php5 tidak mendengar port 9000: 1. Semak fail konfigurasi PHP-FPM 2. Mulakan semula perkhidmatan PHP-FPM 3. Matikan tembok api atau konfigurasikan pemajuan port 4. Semak sama ada proses lain menduduki port 9000;

Perbezaan sintaks antara php7 dan php5 ialah: 1. PHP7 memperkenalkan pengisytiharan jenis yang ketat, manakala jenis pembolehubah PHP5 adalah tersirat 2. PHP7 memperkenalkan sokongan untuk pengisytiharan jenis skalar, tetapi PHP5 tidak memperkenalkan operator NULL Merge; PHP5 menyemak sama ada pembolehubah wujud dan tidak batal, anda perlu menggunakan pernyataan bersyarat 4. PHP7 menambah operator perbandingan baharu "<=>", tetapi PHP5 tidak 5. PHP7 memperkenalkan kelas tanpa nama yang baharu, manakala PHP5 tidak.

Perbezaan antara versi php7 dan 5 termasuk peningkatan prestasi, pengisytiharan jenis skalar, pengisytiharan jenis nilai pulangan, penambahbaikan pengendalian pengecualian, kelas tanpa nama, penambahbaikan sintaks, pengendali baharu, pengendalian ralat yang dipertingkatkan dan penyingkiran beberapa ciri lama. Pengenalan terperinci: 1. Peningkatan prestasi PHP7 memperkenalkan enjin Zend baharu, bernama Zend Engine 3.0, yang membawa peningkatan prestasi yang ketara , pengumpulan sampah dipertingkatkan, dsb.

Apabila menggunakan PHP5, sesetengah pengguna mungkin menghadapi situasi yang port 9000 tidak boleh didengari. Pada masa ini, kami perlu melakukan beberapa kerja konfigurasi dan penyelesaian masalah untuk menyelesaikan masalah ini.

Jika anda seorang pentadbir laman web, anda mungkin menghadapi situasi di mana anda perlu menukar port PHP5 daripada port lalai 80. Proses ini mungkin sedikit tergesa-gesa, tetapi selagi anda mengikuti langkah-langkah di bawah, ia akan mudah diselesaikan.

PHP ialah bahasa pengaturcaraan bahagian pelayan yang digunakan secara meluas untuk membangunkan laman web dan aplikasi dinamik. Dalam beberapa tahun kebelakangan ini, keluaran PHP7 telah menarik perhatian. PHP7 mempunyai banyak penambahbaikan dan pengoptimuman berbanding versi sebelumnya (seperti PHP5). Dalam artikel ini, kami akan meneroka perbezaan sintaks antara PHP7 dan PHP5.
