[TYPO3-ect] where is the eboard extension ?

Elmar Hinz elmar.DOT.hinz at team.MINUS.red.DOT.net
Thu May 31 21:03:06 CEST 2007


Am Thu, 31 May 2007 18:18:18 +0200 schrieb Fabien Udriot:

> Hello,
> 
> In the apples extension (which is a good inspiration source for me with 
> bananas), it is mentioned :
> 
>   * For a minimal practical example see the extension eBoard (eboard).
>   * For a bigger practical example see the extension eFAQ (efaq).
> 
> 
> But where is the "eboard" extension ? Not in the TER.

Hi Fabien,

the name eBoard is depreciated. I decided that bananas is more funny and
matches better with apples. I plan to publish a third tutorial extension
and I will call it cherries. 

lib/div will go to beta as soon as it is clear that we don't need to rename
functions any more. However I already do all my projects with it. Still I
am carefully changing some central parts. I.e. you will understand the new
central controller on one glance:

function main($in = NULL, $configurationArray){
   $this->_createConfigurations($configurationArray);
   $this->_createParameters();
   return $this->_runControllerAndAction( $this->_findControllerAndAction() );
}


Latest altrerations as always in SVN:
<http://svn.t3.digitaldistrict.de/cgi-bin/trac.cgi/browser/typo3xdev/tx_lib/trunk>


I add some documentation from the upcoming README file:




    lib/div in a nutshell


Learn from example extensions in TER:
=====================================

1.) Hello World: apples - A very minimalistic example.
2.) Beginners example: bananas - A workging guestbook. 
3.) Advanced example: efaq - FAQ with many modern features.


Understanding the SPL objects chain:
======================================

SPL (Simple PHP Library) objects have a lot in common with
array. You process your data through the request lifecycle
by "feeding" on SPL object as input to the next:

request  >  object1  >  object2  ...  objectX  >  response 


Understand the class hierarchy:
===============================

All classes inherit from the class tx_lib_object:

                    tx_lib_object
                         |
          ---------------------------------
           |            |               |
  tx_lib_controller   tx_lib_model   tx_lib_view
           |            |               |
  yourController      yourModel      yourView	



Understand the "Central Triad":
===============================

 * $controller - The controller object.
 * $parameters - Object containing the request parameters. 
 * $configurations - Object containing all configurations.

 $configurations   $parameters 
            |       |
           $controller
                |
          $exampleObject   // Represting all "controlled" objects.


Mind 3 central rules: 
=====================

[1] The controller is the central object. It must be set to each
    "controlled" object of your extension, either by constructor
		or by function or directly.

		a.) By the constructor: $exampleObject = new exampleClass($this);	
		b.) BY function: $exampleObject->controller($this); 
		c.) Directly: $exampleObject->controller = $this; 

[2] Each "controlled" object can always access the "Central Triad"
    via the controller:

		a.) $this->controller
		b.) $this->controller->configurations
		c.) $this->controller->parameters

[3] Remember that you can simply extend your controller by 
    registering new actions to it from other extensions.


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