Top  Branding  Banner 
blank.gif
blank.gif
triangle.gif Du er her: /  Forsiden  /  Kildekoden  /  Dto  /  Fieldfactory   Login nu   Login
blank.gif
««« Se kilde koden
blank.gif
tl.gif Base tr.gif tl.gif Basic tr.gif tls.gif     Dto  trs.gif tl.gif Form tr.gif tl.gif Language tr.gif tl.gif Layout tr.gif tl.gif Menu tr.gif tl.gif Mvc tr.gif tl.gif Netbank.eksperter.dk tr.gif tl.gif Tab tr.gif tl.gif Table tr.gif tl.gif Util tr.gif
blank.gif
blank.gif
arrow-headline.gif Index
MenuLink  MenuLeft  
Tilbage

Skjul: Navn

FieldFactory.php


Vis: Sample code, tutorial

FieldFactory, Sample code, tutorial

Sådan benyttes komponenten FieldFactory klassen

Først skal du inkludere den fil der beskriver komponenten, som en klasse fil

  • <?
    require_once(HTML_PACKAGE_PATH.'/FieldFactory.php');
    ?>

Dernæst kan du enten benytte komponenten som et taglib (statiske metoder):

  • <?
    FieldFactory
    ::display($param1$param2$param3, ...);
    ?>

eller du kan lave en instance af komponenten og benytte metoderne direkte:

  • <?
    $object 
    = new FieldFactory($param1$param2$param3, ...);
    print 
    $object->getHtml();
    ?>

Skjul: Sådan vises komponenten

FieldFactory, Sådan vises komponenten

Sådan vises komponenten FieldFactory klassen

numFields=0

Name Len Type Flags Table

numrows=0


Vis: PHP source code

FieldFactory, PHP source code

Den fulde PHP kildekode for FieldFactory klassen

<?php
/**
 * @package dto
 * @see HTML_DTO_UTIL_PATH.'/FieldFactory.php'
 * @copyright (c) http://Finn-Rasmussen.com
 * @license http://Finn-Rasmussen.com/license/ myPHP License conditions
 * @author http://Finn-Rasmussen.com
 * @version 1.11
 * @since 27-nov-2009
 */

/**
 * The required files
 */
require_once(HTML_DTO_UTIL_PATH.'/Field.php');
require_once(
HTML_DTO_UTIL_PATH.'/FieldName.php');
require_once(
HTML_DTO_UTIL_PATH.'/FieldLen.php');
require_once(
HTML_DTO_UTIL_PATH.'/FieldType.php');
require_once(
HTML_DTO_UTIL_PATH.'/FieldFlags.php');
require_once(
HTML_DTO_UTIL_PATH.'/FieldTable.php');
require_once(
HTML_BASIC_UTIL_PATH.'/Message.php');
if (
defined('HTML_LOG_UTIL_PATH')) {
    require_once(
HTML_LOG_UTIL_PATH.'/Log.php');
}

/**
 * The Field Factory is used to return a complete populated 
 * Field object, from an array of rows and an array of header meta data information.
 * The purpose of this clas is to simulate the meta information from a database
 * <code>
 * Usage:
 *   $rows = array(
 *       array('firstname'=>'Finn', 'lastname'=>'Rasmussen'),
 *       array('firstname'=>'Zita', 'lastname'=>'Christensen'),
 *   );
 * 
 *   $header = array(
 *       'firstname'=>array('fieldName'=>'firstname', 'fieldLen'=>100, 'fieldType'=>'', 'fieldFlags'=>'', 'fieldTable'=>''),
 *       'lastname'=>'array('fieldName'=>'lastname' , 'fieldLen'=>100, 'fieldType'=>'', 'fieldFlags'=>'', 'fieldTable'=>''),
 *   );
 * 
 *   $default = "";
 * 
 *   $factory = new FieldFactory();
 *   $field  = $factory->newField($rows, $header, $default);
 *   print $field->getFieldName($rowname); // Use the object
 * Or
 *   $field = FieldFactory::newField($rows, $header, $default);
 *   print $field->getFieldName($rowname); // Use the object
 * </code>
 * @package dto
 */

class FieldFactory {
    
/**
     * Constructor
     */
    
function __construct() {
    }
    
    
/**
     * Return a new Field object fully populated with meta data
     * @param  array $rows    The array of rows
     * @param  array $header  The array of header meta data
     * @param  array $default The default meta data array
     * @return Fields The fields object
     */
    
public static function newField($rows$header=''$default='') {
        
$field = new Field();
        if (
defined('SELECT_FIELD_NAME')) {
            foreach(
$rows as $no=>$row) {
                if (
is_array($row)) {
                    foreach(
$row as $key=>$value) {
                        
$field->addFieldName ($key,FieldName::get ($key$header$default != '' && is_array($default) ? $default[DATA_READER_FIELD_NAME ] : SELECT_FIELD_NAME));
                        
$field->addFieldLen  ($key,FieldLen::get  ($key$header$default != '' && is_array($default) ? $default[DATA_READER_FIELD_LEN  ] : SELECT_FIELD_LEN));
                        
$field->addFieldType ($key,FieldType::get ($key$header$default != '' && is_array($default) ? $default[DATA_READER_FIELD_TYPE ] : SELECT_FIELD_TYPE));
                        
$field->addFieldFlags($key,FieldFlags::get($key$header$default != '' && is_array($default) ? $default[DATA_READER_FIELD_FLAGS] : SELECT_FIELD_FLAGS));
                        
$field->addFieldTable($key,FieldTable::get($key$header$default != '' && is_array($default) ? $default[DATA_READER_FIELD_TABLE] : SELECT_FIELD_TABLE));
                    }
                } else {
                    if (
$row != '') {
                        
$msg "FieldFactory::newField(rows,header,default), Not an array, found row=".$row;
                        if (
defined('HTML_LOG_UTIL_PATH')) {
                            
Log::debug($msg__FILE____LINE__);
                        }
                        
Message::add($msg__FILE____LINE__);
                    }
                }
            }
        } else {
//            $msg = "SELECT_FIELD_NAME is undefined";
//            if (defined('HTML_LOG_UTIL_PATH')) {
//                Log::debug($msg, __FILE__, __LINE__);
//            }
//            Message::add($msg, __FILE__, __LINE__);
//            if (DOMAIN_NAME == 'localhost') {
//                die($msg.__FILE__.', Line:'.__LINE__);
//            }
        
}
        return 
$field;
    }
    
    
/**
     * Get the html code
     * @return String The html code
     */
    
function getHtml() {
        
$rows = array();
        
$datareader FieldFactory::newField($rows);
        return 
$datareader->getHtml();
    }
}
?>

Vis: HTML source code

FieldFactory, HTML source code

Den fulde HTML kildekode for FieldFactory klassen

<?
<p>numFields=0</p>
<
table border="1" cellpadding="0" cellspacing="2">
<
tr>
<
th>Name</th>
<
th>Len</th>
<
th>Type</th>
<
th>Flags</th>
<
th>Table</th>
</
tr>
</
table>
<
p>numrows=0</p>

?>

Vis: Class methods

FieldFactory, Class methods

Her er 'klasse metoderne' for FieldFactory klassen:

  • __construct
  • newField
  • getHtml

Vis: Object vars

FieldFactory, Object vars

Her er 'objekt variable' for FieldFactory klassen:


MenuRight 
triangle.gif

Dansk

Deutch

English (UK)

France

Italy

Norsk

Svensk

English (USA)


 
blank.gif
triangle.gif Copyright @ 1999-2010 www.Finn-Rasmussen.com Powered by myPHP Version (5.2.6-1+lenny9) 1.11
blank.gif