Sådan benyttes komponenten Banner klassen
Først skal du inkludere den fil der beskriver komponenten, som en klasse fil
<? require_once(HTML_PACKAGE_PATH.'/Banner.php'); ?>
Dernæst kan du enten benytte komponenten som et taglib (statiske metoder):
<? Banner::display($param1, $param2, $param3, ...); ?>
eller du kan lave en instance af komponenten og benytte metoderne direkte:
<? $object = new Banner($param1, $param2, $param3, ...); print $object->getHtml(); ?>
Sådan vises komponenten Banner klassen
Den fulde PHP kildekode for Banner klassen
<?php/** * @package layout * @see HTML_LAYOUT_PAGE_PATH.'/Banner.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_TABLE_COMPONENT_PATH.'/TableDataReader.php');/** * Generates a Banner * <code> * +---------------------------------------+ * | someLink | 468*60 banner | * +---------------------------------------+ * * Usage: * $columns = array( * array('class'=>CSS_COPYRIGHT,KEY_LINK=>LINK_COPYRIGHT,), * array('class'=>CSS_COPYRIGHT,KEY_POWERED=>LINK_POWERED_BY,), * array('class'=>CSS_COPYRIGHT,KEY_VERSION=>CURRENT_VERSION,), * ); * $header = ''; // The header meta data * $default = ''; // The default meta data array * $limit = ''; // The limit to use for the array * $sort = true; * $datareader = DataReaderFactory::newDataReader($columns, $header, $default, $limit, $sort); * $banner = new Banner($datareader, $text, $width, $class, $border, $cellpadding, $cellspacing, $summary, $caption, $layout); * print $banner->getHtml(); * Or * Banner::display($datareader, $text, $width, $class, $border, $cellpadding, $cellspacing, $summary, $caption, $layout); * </code> * @package layout */class Banner extends TableDataReader { /** * Constructor * @param DataReader / array $datareader The Data Reader object OR an array * @param String $text The text header for the table * @param String $width The width of the table, default 100% * @param String $class The css class to use * @param String $border The table border * @param String $cellpadding The CellSpacing * @param String $cellspacing The CellPadding * @param String $summary The Summary * @param String $caption The Caption * @param String $layout The layout to use */ function __construct($datareader=null, $text='', $width='', $class='', $border='', $cellpadding='', $cellspacing='', $summary='', $caption='', $layout='') { $theText = $text != '' ? $text : ''; $theWidth = $width != '' ? $width : BANNER_VIEW_WIDTH; $theClass = $class != '' ? $class : BANNER_VIEW_CLASS; $theBorder = $border != '' ? $border : BANNER_VIEW_BORDER; $theCellPadding = $cellpadding != '' ? $cellpadding : BANNER_VIEW_CELLPADDING; $theCellSpacing = $cellspacing != '' ? $cellspacing : BANNER_VIEW_CELLSPACING; $theDatareader = $this->getDatareader($datareader); $theLayout = $layout != '' ? $layout : BANNER_VIEW_LAYOUT; parent::__construct($theDatareader, $theText, $theWidth, $theClass, $theBorder, $theCellPadding, $theCellSpacing, $summary, $caption, $theLayout); } /** * Get the DataReader to use for this class * @param $datareader The DataReader object, if defined * @return DataReader or array The DataReader object or an array of default data */ function getDatareader($datareader) { $theDatareader = $datareader; if ($theDatareader == '') { $columns = array( array('valign'=>'middle','text'=>LINK_TEXT_HOME,'title'=>LINK_TITLE_HOME,'href'=>LINK_HREF_HOME,'class'=>CSS_BANNER,), array('valign'=>'middle','text'=>'','href'=>LINK_HREF_URL,'class'=>CSS_BANNER.' '.CSS_ALIGN_RIGHT,'title'=>LINK_HREF_URL, 'src'=>'/'.IMAGE_LOGO.'.gif','width'=>469,'height'=>60,'alt'=>LINK_HREF_URL,), ); $theDatareader = $columns; } return $theDatareader; } /** * Get the CSS class Name for this component * @return String The CSS class name */ function getCssClass() { return CSS_BANNER; } /** * Toogle the request parameters which will minimize or maximize this component * @return array The array of key=>value pair */ function getMinimize() { return $this->getToogle(REQUEST_LAYOUT_SHOW, LAYOUT_SHOW, LAYOUT_SHOW_BANNER); } /** * Builds the html for a Banner, and return it * @return String The table header as html */ function getHtml() { $html = $this->html; if (LAYOUT_SHOW & LAYOUT_SHOW_BANNER && HTTP_USER_AGENT!=HTTP_USER_AGENT_P900) { if (CACHE_LAYOUT && $this->getCacheFileName(CACHE_LAYOUT_PATH) != '' && file_exists($this->getCacheFileName(CACHE_LAYOUT_PATH))) { $html .= $this->content($this->getCacheFileName(CACHE_LAYOUT_PATH)); } else { $html .= $this->getColumns(); if (CACHE_LAYOUT) { $this->save($html, CACHE_LAYOUT_PATH); } } } else { $html .= $this->getMaximize(); } return $html; } /** * Display html * <code> * Usage: * Banner::display($datareader, $text, $width, $class, $border, $cellpadding, $cellspacing, $summary, $caption, $layout); * </code> * @static * @param DataReader / array $datareader The Data Reader object OR an array * @param String $text The text header for the table * @param String $width The width of the table, default 100% * @param String $class The css class to use * @param String $border The table border * @param String $cellpadding The CellSpacing * @param String $cellspacing The CellPadding * @param String $summary The Summary * @param String $caption The Caption * @param String $layout The layout to use */ public static function display($datareader=null, $text='', $width='', $class='', $border='', $cellpadding='', $cellspacing='', $summary='', $caption='', $layout='') { $html = new Banner($datareader, $text, $width, $class, $border, $cellpadding, $cellspacing, $summary, $caption, $layout); $html->addHtml(); }}?>
Den fulde HTML kildekode for Banner klassen
<? <!-- DEBUG: Banner --> <table id="BannerId" width="100%" class="tableBorderLeft tableBorderRight basePrinter" border="0" cellpadding="0" cellspacing="0"> <tr> <td class="layoutBanner baseOnepc" valign="top"><!-- DEBUG: Link --> <a class="layoutBanner" href="?layoutLAYOUT_SHOW=645" title="Klik her for at Minimere ... Banner"><!-- DEBUG: Images --> <img src="http://finnrasmussen.dk/images/triangle.gif" width="10" height="10" alt="triangle.gif" class="layoutBanner" /> </a> </td> <td class="layoutBanner" valign="middle"><!-- DEBUG: Link --> <!-- Forsiden --><a class="layoutBanner" href="/" title="Til forsiden">Forsiden</a><br /> </td> <td class="layoutBanner baseAlignRight" valign="middle"><!-- DEBUG: Link --> <a class="layoutBanner baseAlignRight" href="http://www.hvepseeksperten.dk" title="http://www.hvepseeksperten.dk"><!-- DEBUG: Image --> <img src="http://finnrasmussen.dk/images/logo.gif" width="469" height="60" alt="http://www.hvepseeksperten.dk" class="layoutBanner baseAlignRight" /> </a><br /> </td> </tr> </table> ?>
Her er 'klasse metoderne' for Banner klassen:
Her er 'objekt variable' for Banner klassen: