[TYPO3-ect] RFC: Namings and addressing data of the pipeline

Elmar Hinz elmar07 at googlemail.com
Mon Aug 13 18:30:35 CEST 2007


Hello,

this weekend a worked on appropriate namings for lib/div. I am sure in this
terms, but would like to get your comments.

Namings
=======

a) Describing the PAC tree as a "tree of plugins":

All nodes have the typical interface of plugins of the tslib_pibase type:

$outputString = $Plugin->main($inputString, $configuration);

This definition includes user defined content elements, widgegts, parser,
etc.

b) Descibing the actions as "pipeline of processors":

We called that "action chain" before. It results in the acronym "PLOP".


c) A shorter name for the single processor element could be useful but is
difficult to find:

In example to compose classnames: 

Instead of long.        tx_lib_resultBrowserProcessor

Something shorter like: tx_lib_resultBrowserPlp

It's used in contrast to the 3 MVC parts:

    tx_lib_resultBrowserController
    tx_lib_resultBrowserModel
    tx_lib_resultBrowserView

    tx_lib_resultBrowserProcessor

Addressing data of the pipeline
===============================

Data is processed along the pipeline. It needs a storage and addressing
system to access it. The original design is to use SPL objects which have
an array like behaviour. This array can pic up a single dataset or a list
of datasets. It comes to limits, when list data plus string data needs to
be piped, for example a result list and the ouptput string of the
resultbrowser. 

To use the controller array as an additional register works, but doesn't
feel really well, because the data take to different roads now. It comes to
limits, in the moment the data is stored into the template.

The following doesn't work, because the resultBrowser would be in the same
array as the list:

<?php
foreach($this as $entry)  $entry->printIt();
print $this['resultBrowser'];
?>

Alternative 1:

Making the list an element of the array.

<?php
foreach($this['list'] as $entry)  $entry->printIt();
print $this['resultBrowser'];
?>

Alternative 2:

Making non list elements object properties.

<?php
foreach($this as $entry)  $entry->printIt();
print $this->resultBrowser;
?>


Your comments and oppinions?

Regards

Elmar












































More information about the TYPO3-team-extension-coordination mailing list