PHP > LIBRARY > Magic_methods
 
PHP
Library
Tip&Tech
Q&A
 
PHP Function
phpschool
그누보드
LIBRARY
  HOME > PHP > LIBRARY
 
Magic_methods
작성일 : 19-01-08
조회 : 145  

__sleep

Class를 serialize할 때에 나타나는 magic method

내가 설정한 변수만 serialized되서 나옴

<?php class User{ public $name; public $age; function __construct($name, $age){ $this->name = $name; $this->age = $age; } function __sleep(){ return array("age"); } } $s = new User("wonjin", 27); $text = serialize($s); // O:4:"User":1:{s:3:"age";i:27;} echo $text; ?>

가지고 있는 모든 변수 다 가져오기

<?php class User{ public $name; public $age; function __construct($name, $age){ $this->name = $name; $this->age = $age; } function __sleep(){ return array_keys(get_object_vars($this)); //array_keys //get_object_vars : 해당 객체의 property를 받아옴 } } $s = new User("wonjin", 27); $text = serialize($s); // O:4:"User":2:{s:4:"name";s:6:"wonjin";s:3:"age";i:27;} echo $text; ?>

__wakeup

__wakeup은 unserialize를 사용할 때에 구동되는 magic method이다.

<?php class User{ public $name; public $age; function __construct($name, $age){ $this->name = $name; $this->age = $age; } function __sleep(){ return array_keys(get_object_vars($this)); //array_keys //get_object_vars : 해당 객체의 property를 받아옴 } function __wakeup(){ echo "Wakeup method worked!"; } } $s = new User("wonjin", 27); $text = serialize($s); $text2 = unserialize($text); ?>

[출처] [php]Magic_methods|작성자 아아아


 
 

Total 77
번호 제   목 조회
공지 php 라이브러리 423
77 매직해시(MAGIC HASHES) 취약점 136
76 Trait 136
75    Trait 149
74 Overloading 142
73    Overloading 138
72 Type hinting/Type 설정하기/Throw error 133
71    Type hinting/Type 설정하기/Throw error 110
70    Type hinting/Type 설정하기/Throw error 141
69 object clone 152
68    object clone 135
67 serialize / unserialize 133
66 spl_autoload_register(오토로드) 122
65 window에서 composer깔기 140
64 Exception/try/throw/catch 139
63 Error의 종류 134
62    Error의 종류 137
61    Error의 종류 136
60 eval 134
59 Magic_methods 142
58    Magic_methods 146
 1  2  3  4  
 
개인홈페이지 덤벙닷컴은 프로그래머와 디자이너위한 IT커뮤니티 공간입니다.
Copyright ⓒ www.dumbung.com. All rights reserved.