Sådan benyttes komponenten Message klassen
Først skal du inkludere den fil der beskriver komponenten, som en klasse fil
<? require_once(HTML_PACKAGE_PATH.'/Message.php'); ?>
Dernæst kan du enten benytte komponenten som et taglib (statiske metoder):
<? Message::display($param1, $param2, $param3, ...); ?>
eller du kan lave en instance af komponenten og benytte metoderne direkte:
<? $object = new Message($param1, $param2, $param3, ...); print $object->getHtml(); ?>
Sådan vises komponenten Message klassen
Den fulde PHP kildekode for Message klassen
<?php/** * @package basic * @filesource * @see HTML_BASIC_UTIL_PATH.'/Message.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_BASIC_UTIL_PATH.'/Singleton.php');require_once(HTML_BASIC_UTIL_PATH.'/MessageList.php');if (defined('HTML_LANGUAGE_UTIL_PATH')) { require_once(HTML_LANGUAGE_UTIL_PATH.'/Translate.php');}if (defined('HTML_CACHE_UTIL_PATH')) { require_once(HTML_CACHE_UTIL_PATH.'/Cache.php');}/** * Message * * <code> * Usage: * $message = new Message(); * $message->add($message1, __FILE__, __LINE__); * $message->add($message2, __FILE__, __LINE__); * $message->add($message3, $key3); * print $message->getHtml(); * Or * print $message->getStart(); * print $message->getEnd(); * Or * Message::start(); * Message::end(); * Or * Message::add($message3, __FILE__, __LINE__); * Message::add($message4, __FILE__, __LINE__); * Message::add($message5, $key5); * Message::display(); * </code> * @package basic */class Message { /** * Constructor */ function __construct() { } /** * Returns the html for the start of the message * @return String the html */ function getStart($starttag='<ul>') { $html = ''; $messagelist = & Singleton::getInstance(CLASS_NAME_MESSAGE_LIST); if ($messagelist->size() > 0) { $html .= "<h6>Messages</h6>\r\n"; $html .= "$starttag\r\n"; $html .= $this->getMessageList(); } return $html; } /** * Returns the html for the end of the message * @return String the complete html */ function getEnd($endtag='</ul>') { $html = ''; $messagelist = & Singleton::getInstance(CLASS_NAME_MESSAGE_LIST); if ($messagelist->size() > 0) { $html .= "$endtag\r\n"; } return $html; } /** * Returns the list of the accumulated messages as html * surronded by LI tags * @static * @return array The list of error messages */ function getMessageList($starttag='<li>', $endtag='</li>') { $html = ''; $messagelist = & Singleton::getInstance(CLASS_NAME_MESSAGE_LIST); if ($messagelist->size() > 0) { foreach($messagelist->getMessageList() as $key=>$message) { $translatedText = $key; if (defined('HTML_LANGUAGE_UTIL_PATH')) { $translatedText = Translate::sql($key); } $html .= "$starttag$translatedText<br />$message$endtag\r\n"; } } return $html; } /** * Returns the html for the Message * @return String the complete html */ function getHtml() { $html = ""; $html .= $this->getStart(); $html .= $this->getEnd(); return $html; } /** * Add a message to the list of messages. This method uses a singleton pattern. * The methode may be called as an object methode or as a static methode * <code> * Usage: * $message = new Message(); * $message->add($msg, $file, $line); * Or * $message->add($msg, $key); * Or * Message::add($msg, $key); * Or * Message::add($msg, $file, $line); * </code> * @static * @param String $msg The message * @param String $file The file name or key to use * @param String $line The line number */ public static function add($msg, $file='', $line='') { static $i = 0; $i++; $messagelist = & Singleton::getInstance(CLASS_NAME_MESSAGE_LIST); $filename = substr($file,strlen(PROJECT_DOCUMENT_ROOT)); $key = "($i) $filename : $line"; $messagelist->add($msg, $key); } /** * Add the current html to the Cache object * If the cache is disabled, just print the html * <code> * Usage: * $element = new Element(); * $element->addHtml(); * Or * $element = new Element(); * $element->addHtml($object->getHtml()); * </code> * @param String $html Use other html than fetched from $element->getHtml() */ function addHtml($html='') { if (defined('HTML_CACHE_UTIL_PATH')) { if ($html != '') { Cache::add($html); } else { Cache::add($this->getHtml()); } } else { /** * The Cache object is not available */ if ($html != '') { print $html; } else { print $this->getHtml(); } } } /** * Display start html * <code> * Usage: * Message::start(); * </code> * @static */ public static function start() { $html = new Message(); $html->addHtml($html->getStart()); } /** * Display the message list as html * <code> * Usage: * Message::messagelist(); * </code> * @static */ function messagelist() { $html = new Message(); $html->addHtml($html->getMessageList()); } /** * Display end html * <code> * Usage: * Message::end(); * </code> * @static */ public static function end() { $html = new Message(); $html->addHtml($html->getEnd()); } /** * Display html * <code> * Usage: * Message::display(); * </code> * @static */ public static function display() { $html = new Message(); $html->addHtml(); }}?>
Den fulde HTML kildekode for Message klassen
<? ?>
Her er 'klasse metoderne' for Message klassen:
Her er 'objekt variable' for Message klassen: