第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么我的__set魔術方法不起作用?

代碼如下:
<?php

class?MagicTest{

????public?function?__tostring(){
????????return?"This?is?the?Class?MagicTest.?";
????}

????public?function?__invoke($x){
????????echo?"__invoke?called?with?parameter?".$x."\n";
????}

????//方法的重載
????//這個方法的參數(shù)第一個就是調用的方法的名稱,第二個參數(shù)是方法調用的參數(shù)組成的數(shù)組
????public?function?__call($name,$arguments){
????????echo?"Calling?"?.?$name?.?"with?parameters:?".
????????????implode(",",?$arguments)."\n";

????}

????//靜態(tài)方法的重載,注意這個方法需要設定為static
????public?static?function?__callStatic($name,$arguments){
????????echo?"Static?Calling?"?.?$name?.?"with?parameters:?".
????????????implode(",",?$arguments)."\n";

????}


????public?function?__get($name){
????????return?"Getting?the?property?".$name."\n";
????}

????public?function?__set($name,?$value){
????????return?"Setting?the?property?".$name."to?value"?.?$value."\n";
????}
}

$obj?=?new?MagicTest();
echo?$obj->className."\n";?//className未定義,但是通過魔術方法__get,這個方法好像被定義了一樣
$obj->className='MagicClassX';
?>

為啥我的__set魔術方法不起作用,只output
Getting the property className 然后直接跟著MagicClassX

正在回答

2 回答

因為是echo而非return

0 回復 有任何疑惑可以回復我~

?public?function?__set($name,?$value){

????????return?"Setting?the?property?".$name."to?value"?.?$value."\n";

????}

你返回的是一個$obj->className賦值,而不是直接在該__set魔術方法輸出

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為什么我的__set魔術方法不起作用?

我要回答 關注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號