[wp-trac] [WordPress Trac] #12267: Upgrade loop objects to provide identical presentational interfaces.

WordPress Trac wp-trac at lists.automattic.com
Wed Mar 9 03:24:16 UTC 2011

#12267: Upgrade loop objects to provide identical presentational interfaces.
 Reporter:  andy         |       Owner:
     Type:  enhancement  |      Status:  new
 Priority:  normal       |   Milestone:  Future Release
Component:  General      |     Version:
 Severity:  normal       |  Resolution:
 Keywords:  3.2-early    |

Comment (by hakre):

 Replying to [comment:42 filosofo]:
 > Also, I think this in addition to making things devilishly hard to
 debug, misses one of the big benefits of this proposal, which is having
 the same set of standard properties and methods across different types of
 > For example, I want to be able to be able to return all sorts of objects
 after a search.  Then I should be able to iterate over all of them with
 links and summaries, etc., agnostic about the particular kind of object
 returned.  That way categories, posts, pages, custom post types, etc., can
 all be part of the Loop and use the same link, headline, and paragraph

 I suggest a [http://php.net/manual/en/language.oop5.interfaces.php
 standard interface] any type can implement and therefore be compatible.

 As post types (content data) have a lot of dynamic properties I suggest
 some kind of [http://php.net/manual/en/language.oop5.abstract.php
 ''abstract'' base class] as well and an abstract visitor base class. That
 should offer a lot of flexibility in conjunction with the interface.

 IMHO dynamic properties are very important because basically you don't
 need many classes but normaly only one class with dynamic properties as
 all the data-types are basically the same. More or less simple data

 I see this as a slow evolution: from the arrays and later on standard
 classes we've been using in core for posts and pages as prototype models
 so far for the last 7 years.

 The magic methods and array access as well as iterators from the spl can
 help to keep things fluid. Defer the details, just make use of standard
 PHP, there's already a lot done.

Ticket URL: <http://core.trac.wordpress.org/ticket/12267#comment:43>
WordPress Trac <http://core.trac.wordpress.org/>
WordPress blogging software

More information about the wp-trac mailing list