Показать сообщение отдельно

  #6  
Старый 20.01.2017, 02:10
crlf
Постоянный
Регистрация: 18.03.2016
Сообщений: 663
С нами: 5344886

Репутация: 441


По умолчанию

Цитата:
Сообщение от t0ma5  

хотя __set непонятно как вызвать..
У меня в тестовом скрипте жёсткая каша, хрен разберёшь Побыстрому накидал небольшой скрипт для вызова __get/__set,надеюсь разберёшься:

.SpoilerTarget" type="button">Spoiler

PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][COLOR="#0000BB"]map[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$map[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]realObject[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$realObject[/COLOR][COLOR="#007700"];
}

public function
[/COLOR][COLOR="#0000BB"]__set[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$name[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$value[/COLOR][COLOR="#007700"]) { }

public function
[/COLOR][COLOR="#0000BB"]__get[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$name[/COLOR][COLOR="#007700"]) { }

public function
[/COLOR][COLOR="#0000BB"]offsetExists[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$name[/COLOR][COLOR="#007700"]) {
return isset([/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]map[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]$name[/COLOR][COLOR="#007700"]]);
}

public function
[/COLOR][COLOR="#0000BB"]offsetUnset[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$name[/COLOR][COLOR="#007700"]) {
throw new[/COLOR][COLOR="#0000BB"]Exception[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'Not supported !'[/COLOR][COLOR="#007700"]);
}

public function
[/COLOR][COLOR="#0000BB"]offsetSet[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$name[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$value[/COLOR][COLOR="#007700"]) {
return[/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]__set[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$name[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$value[/COLOR][COLOR="#007700"]);
}

public function
[/COLOR][COLOR="#0000BB"]offsetGet[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$name[/COLOR][COLOR="#007700"]) {
return[/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]__get[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$name[/COLOR][COLOR="#007700"]);
}
}
class[/
COLOR][COLOR="#0000BB"]Debug[/COLOR][COLOR="#007700"]{
private[/COLOR][COLOR="#0000BB"]$debugStateName[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'flag'[/COLOR][COLOR="#007700"];
private[/COLOR][COLOR="#0000BB"]$_instance[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'ccc'[/COLOR][COLOR="#007700"];
}
class[/
COLOR][COLOR="#0000BB"]User[/COLOR][COLOR="#007700"]extends[/COLOR][COLOR="#0000BB"]GenericMapper[/COLOR][COLOR="#007700"]{

private
[/COLOR][COLOR="#0000BB"]$name[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'aaa'[/COLOR][COLOR="#007700"];
private[/COLOR][COLOR="#0000BB"]$id[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'bbb'[/COLOR][COLOR="#007700"];

public function
[/COLOR][COLOR="#0000BB"]__construct[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$realObject[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$map[/COLOR][COLOR="#007700"]) {
[/
COLOR][COLOR="#0000BB"]parent[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]__construct[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$realObject[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$map[/COLOR][COLOR="#007700"]);
}
}
class[/
COLOR][COLOR="#0000BB"]Session[/COLOR][COLOR="#007700"]{ }
[/
COLOR][COLOR="#0000BB"]$o[/COLOR][COLOR="#007700"]= new[/COLOR][COLOR="#0000BB"]Session[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$o[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]user[/COLOR][COLOR="#007700"]= new[/COLOR][COLOR="#0000BB"]User[/COLOR][COLOR="#007700"](new[/COLOR][COLOR="#0000BB"]Debug[/COLOR][COLOR="#007700"], array([/COLOR][COLOR="#DD0000"]'name'[/COLOR][COLOR="#007700"]=> array([/COLOR][COLOR="#DD0000"]'type'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]'function'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'target'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]'showNice'[/COLOR][COLOR="#007700"])));
echo[/
COLOR][COLOR="#DD0000"]"\n__get:\n"[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]urlencode[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]base64_encode[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]serialize[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$o[/COLOR][COLOR="#007700"]))).[/COLOR][COLOR="#DD0000"]"\n"[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$o[/COLOR][COLOR="#007700"]= new[/COLOR][COLOR="#0000BB"]User[/COLOR][COLOR="#007700"](new[/COLOR][COLOR="#0000BB"]Debug[/COLOR][COLOR="#007700"], array([/COLOR][COLOR="#DD0000"]'user'[/COLOR][COLOR="#007700"]=> array([/COLOR][COLOR="#DD0000"]'type'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]'function'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'target'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]'showNice'[/COLOR][COLOR="#007700"])));
echo[/
COLOR][COLOR="#DD0000"]"\n__set:\n"[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]urlencode[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]base64_encode[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]serialize[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$o[/COLOR][COLOR="#007700"]))).[/COLOR][COLOR="#DD0000"]"\n"[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]?>
[/COLOR][/COLOR] 
 
Ответить с цитированием