Получение зависимого / родительского объекта из метода объекта домена

StackOverflow https://stackoverflow.com/questions/1401323

Вопрос

Как можно было бы получить зависимый / родительский объект от сущности.

$person->getAddress();

Это должно извлечь объект Address для этого человека из базы данных и вернуть его как объект. Это хороший способ сделать это и как должен выглядеть код, если это нормально делать.

Выполнение этого будет означать, что сам объект должен знать, что адрес является объектом сущности / значения, с которым он связан. Почему я хочу такой синтаксис, потому что он будет выглядеть чисто на уровне представления.

Класс person будет выглядеть так:

class Person {
  protected 

Как можно было бы получить зависимый / родительский объект от сущности.

$person->getAddress();

Это должно извлечь объект Address для этого человека из базы данных и вернуть его как объект. Это хороший способ сделать это и как должен выглядеть код, если это нормально делать.

Выполнение этого будет означать, что сам объект должен знать, что адрес является объектом сущности / значения, с которым он связан. Почему я хочу такой синтаксис, потому что он будет выглядеть чисто на уровне представления.

Класс person будет выглядеть так:

<*>

Так можно ли использовать объект $ domain в методе getAddress и хранить информацию об отношениях в классе Person?

Пожалуйста, ответьте, потому что я искал ответ повсюду.

domain = null; // domain is assigned when instantiated protected

Как можно было бы получить зависимый / родительский объект от сущности.

$person->getAddress();

Это должно извлечь объект Address для этого человека из базы данных и вернуть его как объект. Это хороший способ сделать это и как должен выглядеть код, если это нормально делать.

Выполнение этого будет означать, что сам объект должен знать, что адрес является объектом сущности / значения, с которым он связан. Почему я хочу такой синтаксис, потому что он будет выглядеть чисто на уровне представления.

Класс person будет выглядеть так:

<*>

Так можно ли использовать объект $ domain в методе getAddress и хранить информацию об отношениях в классе Person?

Пожалуйста, ответьте, потому что я искал ответ повсюду.

data = array('name', 'address'); protected

Как можно было бы получить зависимый / родительский объект от сущности.

$person->getAddress();

Это должно извлечь объект Address для этого человека из базы данных и вернуть его как объект. Это хороший способ сделать это и как должен выглядеть код, если это нормально делать.

Выполнение этого будет означать, что сам объект должен знать, что адрес является объектом сущности / значения, с которым он связан. Почему я хочу такой синтаксис, потому что он будет выглядеть чисто на уровне представления.

Класс person будет выглядеть так:

<*>

Так можно ли использовать объект $ domain в методе getAddress и хранить информацию об отношениях в классе Person?

Пожалуйста, ответьте, потому что я искал ответ повсюду.

relations = array( 'address'=>array( 'class'=>'Address' ) ); protected

Как можно было бы получить зависимый / родительский объект от сущности.

$person->getAddress();

Это должно извлечь объект Address для этого человека из базы данных и вернуть его как объект. Это хороший способ сделать это и как должен выглядеть код, если это нормально делать.

Выполнение этого будет означать, что сам объект должен знать, что адрес является объектом сущности / значения, с которым он связан. Почему я хочу такой синтаксис, потому что он будет выглядеть чисто на уровне представления.

Класс person будет выглядеть так:

<*>

Так можно ли использовать объект $ domain в методе getAddress и хранить информацию об отношениях в классе Person?

Пожалуйста, ответьте, потому что я искал ответ повсюду.

retrievedRelations = array(); public function getAddress() { if (array_key_exists('address', $this->_relations) ) { if (!array_key_exists('address', $this->_retrievedRelations) ) { $this->_retrievedRelations['address'] = $this->_domain->getAddress($this->_data['address']); } return $this->_retrievedRelations['address']; } return $this->_data['address']; } }

Так можно ли использовать объект $ domain в методе getAddress и хранить информацию об отношениях в классе Person?

Пожалуйста, ответьте, потому что я искал ответ повсюду.

Это было полезно?

Решение

Посмотрите Zend_Db_Table Relationships . Они позволяют делать именно это и многое другое. Вы можете просто использовать Zend_Db_Table сегодня вместо того, чтобы пытаться придумать собственную реализацию, или вы можете изучить code для их дизайнерских решений по вашим вопросам. Это довольно авторитетный источник.

Другие советы

Во-первых, я думаю, что название вопроса не очень понятно, во-вторых, я не Я абсолютно уверен, что понимаю, о чем идет речь ... По моему мнению, и заголовок, и пост должны быть отредактированы, чтобы немного их очистить.

Кажется, в сообщении содержится 5 вопросов (если можно перефразировать):

<Ол>
  • Как можно было бы получить зависимый / родительский объект от объекта?
  • Является ли $ person- > getAddress () хорошим способом получения объекта Address для человек из базы данных?
  • Если это хороший способ сделать это, то как бы выглядел код?
  • Можно ли использовать объект $ domain внутри метода getAddress?
  • Можно ли хранить информацию об отношениях в классе Person?
  • Что касается ответов:

    <Ол>
  • В этом случае $ person- > getAddress () кажется хорошим выбором, вы знаете, хорошим и описательным. ; -)
  • Я не вижу проблемы: у человека есть адрес, чтобы получить адрес, который вы запрашиваете у этого человека.
  • Данный пример кода, кажется, отвечает этому, хотя он немного загроможден. Я бы только сделал адрес объекта-члена, но в остальном он в основном такой же
  • <Литий> & амп; 5. Я бы сказал, что это в основном вопрос вкуса, приоритета и зависимости от дизайна. Там действительно нет четкого ответа на это. Кроме того, мы обсуждаем здесь семантику или реальный сценарий?

    Некоторый код, чтобы согласиться с ответом №3: (я не мог заставить его работать должным образом в списке)

    class Person {
        protected 

    Во-первых, я думаю, что название вопроса не очень понятно, во-вторых, я не Я абсолютно уверен, что понимаю, о чем идет речь ... По моему мнению, и заголовок, и пост должны быть отредактированы, чтобы немного их очистить.

    Кажется, в сообщении содержится 5 вопросов (если можно перефразировать):

    <Ол>
  • Как можно было бы получить зависимый / родительский объект от объекта?
  • Является ли $ person- > getAddress () хорошим способом получения объекта Address для человек из базы данных?
  • Если это хороший способ сделать это, то как бы выглядел код?
  • Можно ли использовать объект $ domain внутри метода getAddress?
  • Можно ли хранить информацию об отношениях в классе Person?
  • Что касается ответов:

    <Ол>
  • В этом случае $ person- > getAddress () кажется хорошим выбором, вы знаете, хорошим и описательным. ; -)
  • Я не вижу проблемы: у человека есть адрес, чтобы получить адрес, который вы запрашиваете у этого человека.
  • Данный пример кода, кажется, отвечает этому, хотя он немного загроможден. Я бы только сделал адрес объекта-члена, но в остальном он в основном такой же
  • <Литий> & амп; 5. Я бы сказал, что это в основном вопрос вкуса, приоритета и зависимости от дизайна. Там действительно нет четкого ответа на это. Кроме того, мы обсуждаем здесь семантику или реальный сценарий?

    Некоторый код, чтобы согласиться с ответом №3: (я не мог заставить его работать должным образом в списке)

    <*>domain = null; // domain is assigned when instantiated protected

    Во-первых, я думаю, что название вопроса не очень понятно, во-вторых, я не Я абсолютно уверен, что понимаю, о чем идет речь ... По моему мнению, и заголовок, и пост должны быть отредактированы, чтобы немного их очистить.

    Кажется, в сообщении содержится 5 вопросов (если можно перефразировать):

    <Ол>
  • Как можно было бы получить зависимый / родительский объект от объекта?
  • Является ли $ person- > getAddress () хорошим способом получения объекта Address для человек из базы данных?
  • Если это хороший способ сделать это, то как бы выглядел код?
  • Можно ли использовать объект $ domain внутри метода getAddress?
  • Можно ли хранить информацию об отношениях в классе Person?
  • Что касается ответов:

    <Ол>
  • В этом случае $ person- > getAddress () кажется хорошим выбором, вы знаете, хорошим и описательным. ; -)
  • Я не вижу проблемы: у человека есть адрес, чтобы получить адрес, который вы запрашиваете у этого человека.
  • Данный пример кода, кажется, отвечает этому, хотя он немного загроможден. Я бы только сделал адрес объекта-члена, но в остальном он в основном такой же
  • <Литий> & амп; 5. Я бы сказал, что это в основном вопрос вкуса, приоритета и зависимости от дизайна. Там действительно нет четкого ответа на это. Кроме того, мы обсуждаем здесь семантику или реальный сценарий?

    Некоторый код, чтобы согласиться с ответом №3: (я не мог заставить его работать должным образом в списке)

    <*>address; // object public function getAddress() { if (!isset($this->_address) ) { $this->_address = $this->_domain->getAddressForPerson($this); // assuming $this contains some sort of ID } return $this->_address; } }
    Лицензировано под: CC-BY-SA с атрибуция
    Не связан с StackOverflow
    scroll top