GM_pAnda
@GM_pAnda
Бездельник

Переформировать объект PHP?

Доброго времени суток. Есть вот такой объект.
object(RedBeanPHP\OODBBean)#18 (10) {
  ["properties":protected]=>
  array(6) {
    ["id"]=>
    string(1) "1"
    ["full_name"]=>
    string(33) "Максим"
    ["phone"]=>
    string(18) "+7 (999) 999-29-99"
    ["password"]=>
    string(60) "$2y$10$uJ1t5BPPE882/cCuUCuZS0RqkwclITodpy"
    ["join_date"]=>
    string(10) "1485416517"
    ["group"]=>
    string(5) "admin"
  }
  ["__info":protected]=>
  array(5) {
    ["type"]=>
    string(5) "users"
    ["sys.id"]=>
    string(2) "id"
    ["sys.orig"]=>
    array(6) {
      ["id"]=>
      string(1) "1"
      ["full_name"]=>
      string(33) "Максим"
      ["phone"]=>
      string(18) "+7 (999) 999-29-99"
      ["password"]=>
      string(60) "$2y$10$uJ1t5BPPE882/cCuUCuZS0RqkwclITodpy"
      ["join_date"]=>
      string(10) "1485416517"
      ["group"]=>
      string(5) "admin"
    }
    ["tainted"]=>
    bool(false)
    ["changed"]=>
    bool(false)
  }
  ["beanHelper":protected]=>
  object(RedBeanPHP\BeanHelper\SimpleFacadeBeanHelper)#19 (0) {
  }
  ["fetchType":protected]=>
  NULL
  ["withSql":protected]=>
  string(0) ""
  ["withParams":protected]=>
  array(0) {
  }
  ["aliasName":protected]=>
  NULL
  ["via":protected]=>
  NULL
  ["noLoad":protected]=>
  bool(false)
  ["all":protected]=>
  bool(false)
}

Как мне его переформировать(почистить), что в нём осталось только
["id"]=>
    string(1) "1"
    ["full_name"]=>
    string(33) "Максим"
    ["phone"]=>
    string(18) "+7 (999) 999-29-99"
    ["password"]=>
    string(60) "$2y$10$uJ1t5BPPE882/cCuUCuZS0RqkwclITodpy"
    ["join_date"]=>
    string(10) "1485416517"
    ["group"]=>
    string(5) "admin"

Но, что бы свойства объекта он не потерял, и что бы я к нему так обращался $obj->phone, $obj->password
  • Вопрос задан
  • 244 просмотра
Решения вопроса 1
GM_pAnda
@GM_pAnda Автор вопроса
Бездельник
На данный момент вот так решил.. Но, мне кажется это не правильный подход..
$_SESSION['user']['id'] = $user->id;
	$_SESSION['user']['full_name'] = $user->full_name;
	$_SESSION['user']['phone'] = $user->phone;
	$_SESSION['user']['password'] = $user->password;
	$_SESSION['user']['join_date'] = $user->join_date;
	$_SESSION['user']['group'] = $user->group;
	$_SESSION['user'] = (object) $_SESSION['user'];
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@dev400
Сделайте новый объект, в который сохраните то что нужно из этого объекта.
Ответ написан
Комментировать
@tester_toster
геттеры, сеттеры почитайте.
public function __get($key){
   if(isset($this->properties[$key])){
      return $this->properties[$key];
   }
__________
$class = new class();
echo $class->phone;

Привяжите геттер и сеттер только к properties. И получите как раз то, что хотите.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы