关于PHP的_set()跟_get()
关于PHP的_set()和_get()
网上说这两个函数是对私有变量使用,这不是违背类的封装性吗?
为什么有时候用$this->$varName ,有时这样$this->varName到底是要不要‘$’啊???
如果您有时间的话在帮我看下我的代码错在哪里:
class MyClass
{
private $Age;
private $Grade;
public function __construct($name)
{
$this->MyName = $name;
$this->Age = 5;
}
public function _get($property_name)
{
echo '访问_get()
';
if (isset($property_name))
{
return $this->$property_name;
}
}
public function _set($property_name, $value)
{
echo '访问_set()
';
$this->$property_name = $value;
}
}
$obj = new MyClass('Tom');
$obj->Age = 23;//说这边错误 $obj->$Age也是错误
?>
------解决方案--------------------
错误不是出在$那里。
首先你定义的是类私有成员变量,私有的只能类自身内部可以调用。
$obj->Age = 23;明显无法调用,因为权限不够,外部禁止调用。
$obj->$Age = 23;也是错误的,首先php会自动识别你的$Age发现是空,说白了等价于$obj->=23;
给你改了一下代码,估计你就明白了,目前你还没懂类的变量调用级别。
- PHP code
<?phpclass MyClass{private $Age;private $Grade;public $test;public function __construct($name){$this->MyName = $name;$this->Age = 5;}public function _get($property_name){echo '访问_get()<br>';if (isset($property_name)){return $this->$property_name;}}public function _set($property_name, $value){echo '访问_set()<br>';$this->$property_name = $value;}}$obj = new MyClass('Tom');//$obj->Age = 23;$obj->_set('Age', 'hello world');echo $obj->_get('Age');$Age = 'test';$obj->$Age = 'hello difa';echo $obj->test;<div class="clear"> </div>

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



Ramai pengguna akan memilih jenama Huawei apabila memilih jam tangan pintar Antaranya, Huawei GT3pro dan GT4 adalah pilihan yang sangat popular. Apakah perbezaan antara Huawei GT3pro dan GT4? 1. Rupa GT4: 46mm dan 41mm, bahan cermin kaca + badan keluli tahan karat + cangkang belakang gentian resolusi tinggi. GT3pro: 46.6mm dan 42.9mm, bahannya ialah kaca nilam + badan titanium/badan seramik + cangkerang belakang seramik 2. GT4 yang sihat: Menggunakan algoritma Huawei Truseen5.5+ terkini, hasilnya akan lebih tepat. GT3pro: Penambahan elektrokardiogram ECG dan saluran darah serta keselamatan

Notis PHP: Tryingtogetpropertyofnon-object-Solution Semasa proses pembangunan PHP, kita mungkin menghadapi mesej ralat biasa: Tryingtogetpropertyofnon-object (cuba mendapatkan sifat bukan objek). Ralat ini biasanya disebabkan apabila kita cuba mengakses harta (atau memanggil kaedah) pada pembolehubah yang bukan jenis objek. Artikel ini akan memperkenalkan anda kepada ini

Semasa menulis kod dalam PHP, kami mungkin menghadapi mesej ralat "Notis: Undefinedproperty". Ralat ini bermakna kami sedang mengakses sifat yang tidak ditentukan, biasanya kerana sifat tersebut belum dimulakan dalam kod. Jadi, bagaimana untuk menyelesaikan masalah ini? Berikut ialah beberapa penyelesaian yang mungkin: Mulakan sifat Ini adalah cara paling mudah untuk menyelesaikan masalah ini. Memulakan sifat dalam kod secara eksplisit memastikan ia ditakrifkan sebelum digunakan. Contohnya: kelas

Mengapa Alat Snipping Tidak Berfungsi pada Windows 11 Memahami punca masalah boleh membantu mencari penyelesaian yang betul. Berikut ialah sebab utama Alat Snipping mungkin tidak berfungsi dengan betul: Focus Assistant dihidupkan: Ini menghalang Snipping Tool daripada dibuka. Aplikasi rosak: Jika alat snipping ranap semasa pelancaran, ia mungkin rosak. Pemacu grafik lapuk: Pemacu yang tidak serasi mungkin mengganggu alat snipping. Gangguan daripada aplikasi lain: Aplikasi lain yang sedang berjalan mungkin bercanggah dengan Alat Snipping. Sijil telah tamat tempoh: Ralat semasa proses naik taraf boleh menyebabkan penyelesaian mudah ini sesuai untuk kebanyakan pengguna dan tidak memerlukan sebarang pengetahuan teknikal khusus. 1. Kemas kini apl Windows dan Microsoft Store

animasi umur adalah perisian yang boleh menyediakan pengguna dengan pelbagai animasi, jadi apakah pintu masuk rasmi perisian tersebut? Pengguna hanya perlu memasukkan URL di bawah untuk menonton pelbagai animasi secara percuma Mereka mungkin menghadapi masalah rangkaian semasa log masuk. Perkongsian animasi animasi masuk rasmi umur ini boleh memberitahu anda tentang pintu masuk yang khusus, datang dan lihat! Di manakah pintu masuk rasmi ke animasi umur http://age.tv Pengenalan perisian: 1. Terdapat banyak animasi dalam perisian, membolehkan semua orang melihat kandungan komik yang lebih lengkap. 2. Animasi di sini adalah percuma, membenarkan semua orang membaca komik dalam talian tanpa membelanjakan wang. 3. Anda boleh menonton animasi dengan lebih lancar dalam perisian Animasi di sini mempunyai banyak

Bahagian 1: Langkah Penyelesaian Masalah Awal Menyemak Status Sistem Apple: Sebelum menyelidiki penyelesaian yang rumit, mari kita mulakan dengan asas. Masalahnya mungkin tidak terletak pada peranti anda; Lawati halaman Status Sistem Apple untuk melihat sama ada AppStore berfungsi dengan betul. Jika terdapat masalah, anda hanya boleh menunggu Apple membetulkannya. Semak sambungan Internet anda: Pastikan anda mempunyai sambungan internet yang stabil kerana isu "Tidak dapat menyambung ke AppStore" kadangkala boleh dikaitkan dengan sambungan yang lemah. Cuba tukar antara Wi-Fi dan data mudah alih atau tetapkan semula tetapan rangkaian (Umum > Tetapkan Semula > Tetapkan Semula Tetapan Rangkaian > Tetapan). Kemas kini versi iOS anda:

Vue ialah rangka kerja JavaScript yang popular untuk membina antara muka pengguna. Semasa proses pembangunan, kami mungkin menghadapi pelbagai ralat dan pengecualian. Salah satu ralat biasa ialah "TypeError:Cannotreadproperty'XXX'ofnull". Dalam artikel ini, kami akan meneroka punca ralat ini dan cara membetulkannya. Pertama, mari kita fahami sebab di sebalik ralat ini. Apabila kita cuba mengakses harta atau kaedah objek, jika pasangan itu

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code
