You are here: Re: References between nested objects (PHP4) « PHP Programming Language « IT news, forums, messages
Re: References between nested objects (PHP4)

Posted by Markus Ernst on 09/06/05 16:31

Hilarion wrote:
>>
>> As you see there is a circle reference, as book_admin::boss is a
>> reference back to book. I assume this is bad, and actually there are
>> some problems that I suspect are originated there.
>
> Circular references are not something bad in general. Reference to
> "parent" in a "child" and to "children" from "parent" are usually ok.

Thank you, I am happy to read this!

>> Is there another possibility to access properties of the calling
>> object? I did not find any syntax similar to the parent::property
>> syntax, and I can't use inheritance, as there is already a vertical
>> inheritance (such as page extends book extends library...), and it
>> is not possible to inherit two classes.
>
> You are using some strange inheritance (as you described it, but it's
> not in your example code). Book should not extend page, page should
> not extend book. Book should contain pages (have references to them),
> page should (or could) have reference to the book. Same with library
> and books. In your scenario each page can be treated as a book or a
> library and each book can be treated as a library. You should
> probably also not use inheritance between book and book admin.

Yes I am sorry the example code was a poor example; I was quite tired and
annoyed when I wrote it. The classes actually behave the way you say they
should:

- common_functions
- entity extends common_functions
- "thing" extends entity

"Thing" will be the class to be actually instanciated, while some "things"
can have subclasses (as page extends rubric, because a page needs all the
properties and methods that a rubric has), and the relations between the
objects are handled at entity level via parent and order properties - thus
theoretically every kind of "thing" could be assigned to every other.

Thank you for your clarifications.

Markus

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация