PHP - получить родительский объект - PullRequest
0 голосов
/ 15 декабря 2010

У меня есть функция, которая вызывается так:

foo($object->ID);

и в функции мне нужно каким-то образом выбрать $object, если $object->ID передано как переменная.

function foo($id = NULL){
  if($id != NULL) ... // here I want to get $object
  else ...
}

Как я могу это сделать?

Ответы [ 4 ]

5 голосов
/ 15 декабря 2010

Это невозможно. Вы передаете номер без какой-либо информации о его происхождении. Сделай это

foo($object)

function foo($object){
   if($object->ID !== null) ... // work with $object
   else ... // work with ID

}
4 голосов
/ 15 декабря 2010

почему бы и нет:

foo($object);

и

function  foo($localObject){
  if(isset($localObject->id)){
  }
}
2 голосов
/ 15 декабря 2010

Вам нужно передать объект в качестве аргумента вместо идентификатора.

1 голос
/ 15 декабря 2010

Если я правильно понимаю, что вы спрашиваете, почему бы просто не передать сам объект по ссылке?

function foo(&$obj)
{
    if($obj != NULL && $obj->ID != NULL)
    {
       // ...process your stuff 
    }
}

Мой PHP довольно ржавый, но я совершенно уверен, что именно так вы проходите мимо ссылки...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...