<?PHP

/***********************************************************************************************************************
*** MCClassTemplate                                                                                                  ***
***                                                                                                                  ***
*** AUTHORS: Woody/mC (woody@media-culture.de)                                                                       ***
***          mC Debug Team (debug@media-culture.de)                                                                  ***
*** VERSION: v1.0 (2011-Oct-09)                                                                                      ***
***                                                                                                                  ***
*** HISTORY: v1.0 (2011-Oct-09) woody - First version released to the public                                         ***
***          v0.1 (2011-Oct-09) woody - Initial version, basic structure setup                                       ***
***                                                                                                                  ***
*** PURPOSE: Description of what kind of object will be managed by the item class and its container class. The de-   ***
***          scription should say how the object(s) are managed and why certain things are executed or modeled in a  ***
***          distinct manner. Of course, the description should tell about the things this class CAN handle -- but   ***
***          also the things that this class CANNOT handle. Hints about caveats that might eventually arise when     ***
***          using the class are a great help for developers that have to deal with it.                              ***
***                                                                                                                  ***
***          So this is the description of the MCClassTemplate:                                                      ***
***          Provides a blank PHP class commented with some hints of its usage. It has been designed to be used as a ***
***          template for a quick and easy development of new classes/scripts that aim to follow a unique layout.    ***
***          The class template is known of not covering every aspect of PHP's object-oriented features but shall    ***
***          give an idea of common formatting and construction rules.                                               ***
***********************************************************************************************************************/



/*** DEPENDENCIES *****************************************************************************************************/

// If available, info on version-dependent libs should be noted here, such as:
require_once('/absolute/path/to/library.file.php');

// Tested with AnotherLibrary v1.0+; v2.0 is not yet supported
require_once('relative/path/to/another/library.file.php');



/*** One-line description of the object that the class will manage ****************************************************/

class MCClassTemplate {



  
/*** CONSTANTS ******************************************************************************************************/


  // Short description of constant block's use
  
const MCCT_BLOCK1_SUBBLOCK1_CONST1 'Constant #1';
  const 
MCCT_BLOCK1_SUBBLOCK1_CONST2 'Constant #2';

  const 
MCCT_BLOCK1_SUBBLOCK2_CONST1 'Constant #3';
  const 
MCCT_BLOCK1_SUBBLOCK2_CONST2 'Constant #4';

  
// Short description of constant block's use
  
const MCCT_BLOCK2_SUBBLOCK1_CONST1 'Constant #5';
  const 
MCCT_BLOCK2_SUBBLOCK1_CONST2 'Constant #6';

  const 
MCCT_BLOCK2_SUBBLOCK2_CONST1 'Constant #7';
  const 
MCCT_BLOCK2_SUBBLOCK2_CONST2 'Constant #8';

  
// An enumeration block of constants used for iterative tasks
  
private static $MCCT_BLOCK2_CONSTS = array(
    
self::MCCT_BLOCK2_SUBBLOCK1_CONST1,
    
self::MCCT_BLOCK2_SUBBLOCK1_CONST2,
    
self::MCCT_BLOCK2_SUBBLOCK2_CONST1,
    
self::MCCT_BLOCK2_SUBBLOCK2_CONST2,
  );



  
/*** CLASS VARS *****************************************************************************************************/

  
private $__bBooleanClassVar      FALSE;
  private 
$__sStringClassVar       '';
  private 
$__asStringArrayClassVar = array();



  
/*** PRIVATE METHODS ************************************************************************************************/


  
private function privFoo() {
  }


  private function 
privBar() {
  }



  
/*** PROTECTED METHODS **********************************************************************************************/


  
private function protFoo() {
  }


  private function 
protBar() {
  }



  
/*** PUBLIC METHODS *************************************************************************************************/


  
public function foo() {
  }


  public function 
bar() {
  }



// MCClassTemplate





/*** One-line description of how objects will be managed in this container class **************************************/

class MCClassTemplates {



  
/*** CONSTANTS ******************************************************************************************************/


  // Short description of constant block's use
  
const MCCT_BLOCK1_SUBBLOCK1_CONST1 'Constant #1';
  const 
MCCT_BLOCK1_SUBBLOCK1_CONST2 'Constant #2';

  const 
MCCT_BLOCK1_SUBBLOCK2_CONST1 'Constant #3';
  const 
MCCT_BLOCK1_SUBBLOCK2_CONST2 'Constant #4';

  
// Short description of constant block's use
  
const MCCT_BLOCK2_SUBBLOCK1_CONST1 'Constant #5';
  const 
MCCT_BLOCK2_SUBBLOCK1_CONST2 'Constant #6';

  const 
MCCT_BLOCK2_SUBBLOCK2_CONST1 'Constant #7';
  const 
MCCT_BLOCK2_SUBBLOCK2_CONST2 'Constant #8';

  
// An enumeration block of constants used for iterative tasks
  
private static $MCCT_BLOCK2_CONSTS = array(
    
self::MCCT_BLOCK2_SUBBLOCK1_CONST1,
    
self::MCCT_BLOCK2_SUBBLOCK1_CONST2,
    
self::MCCT_BLOCK2_SUBBLOCK2_CONST1,
    
self::MCCT_BLOCK2_SUBBLOCK2_CONST2,
  );



  
/*** CLASS VARS *****************************************************************************************************/

  
private $__bBooleanClassVar      FALSE;
  private 
$__sStringClassVar       '';
  private 
$__asStringArrayClassVar = array();



  
/*** PRIVATE METHODS ************************************************************************************************/


  
private function privFoo() {
  }


  private function 
privBar() {
  }



  
/*** PROTECTED METHODS **********************************************************************************************/


  
private function protFoo() {
  }


  private function 
protBar() {
  }



  
/*** PUBLIC METHODS *************************************************************************************************/


  
public function foo() {
  }


  public function 
bar() {
  }



// MCClassTemplates