Sådan benyttes komponenten Command klassen
Først skal du inkludere den fil der beskriver komponenten, som en klasse fil
<? require_once(HTML_PACKAGE_PATH.'/Command.php'); ?>
Dernæst kan du enten benytte komponenten som et taglib (statiske metoder):
<? Command::display($param1, $param2, $param3, ...); ?>
eller du kan lave en instance af komponenten og benytte metoderne direkte:
<? $object = new Command($param1, $param2, $param3, ...); print $object->getHtml(); ?>
Sådan vises komponenten Command klassen
Den fulde PHP kildekode for Command klassen
<?php/** * @package db * @see HTML_DB_DATABASE_PATH.'/Command.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_DB_DATABASE_PATH.'/Database.php');require_once(HTML_DTO_UTIL_PATH.'/DataReader.php');require_once(HTML_BASIC_UTIL_PATH.'/Message.php');if (defined('HTML_LOG_UTIL_PATH')) { require_once(HTML_LOG_UTIL_PATH.'/Log.php');}/** * The Command towards the mysql database * The resultset is returned via the new DataReader object * <code> * Usage: * $database = new Database(); // or DB2Database() if DB2 * $sql = 'SELECT * FROM basket WHERE ID=1'; * $command = new Command(); * $datareader = $command->newDataReader($sql, $database); * Or * $datareader = Command::newDataReader($sql, $database); * * And print any data out * print $datareader->getNumRows();; * </code> * @package db */class Command { /** * Constructor */ function __construct() { } /** * Creates a new DataReader object. * Open a connection to the database and perform the query. * If any data is found, the DataReader object is populated. * return the DataReader object * Note: FieldFlags, No support in DB2, use db2_foreign_keys and db2_primary_keys() etc. * <code> * Usage: * $database = new Database(); // or DB2Database() if DB2 * $command = new Command(); * $datareader = $command->newDataReader($sql, $database); * Or * $datareader = Command::newDataReader($sql, $database); * * And print any data out * print $datareader->getNumRows();; * </code> * @param String $sql The sql to use * @param Database $database The database object to use * @return DataReader The Data Reader object */ public static function newDataReader($sql, $database='') { $datareader = new DataReader(); $db = $database != '' ? $database : new Database(); if ( $db instanceof Database || $db instanceof Db2Database ) { // Ok, Sanity check } else { $msg = "Command->newDataReader() not a valid database, expected: Database() or DB2Database(), found <br />\r\ndatabase=$database"; if (defined('HTML_LOG_UTIL_PATH')) { Log::error($msg, __FILE__, __LINE__); } die('File: '.__FILE__."<br />\r\nLine: ".__LINE__."<br />\r\n".$msg); } $db->open(); $rc = $db->query($sql); if ($rc) { $datareader->setRc($rc); $numRows = $db->getNumRows(); $datareader->setNumRows($numRows); $numFields = $db->getNumFields(); $datareader->setNumFields($numFields); for ($i=0; $i<$numFields; $i++) { $name = $db->getFieldName($i); $datareader->addFieldName ($name, $db->getFieldName($i)); $datareader->addFieldLen ($name, $db->getFieldLen($i)); $datareader->addFieldType ($name, $db->getFieldType($i)); $datareader->addFieldFlags($name, $db->getFieldFlags($i)); $datareader->addFieldTable($name, $db->getFieldTable($i)); } $no = 0; while ($row = $db->fetchAssoc()) { $datareader->add($no++, $row); } if (DOMAIN_NAME == 'localhost') { $msg = "Command->newDataReader() query<br />\r\nsql=$sql<br />\r\n"; if (defined('DEBUG_LEVEL_SHOW_SQL') && DEBUG_LEVEL & DEBUG_LEVEL_SHOW_SQL) { Message::add($msg, __FILE__, __LINE__); } } } else { $msg = "Command->newDataReader() nothing returned from query<br />\r\nsql=$sql<br />\r\n"; if (defined('HTML_LOG_UTIL_PATH')) { Log::error($msg, __FILE__, __LINE__); } else { // do nothing } if (defined('DEBUG_LEVEL_SHOW_SQL') && DEBUG_LEVEL & DEBUG_LEVEL_SHOW_SQL) { Message::add($msg, __FILE__, __LINE__); } $datareader->setMsg($msg); } $db->freeResult(); $db->close(); return $datareader; }}?>
Den fulde HTML kildekode for Command klassen
<? Der er ikke fundet noget ?>
Her er 'klasse metoderne' for Command klassen:
Her er 'objekt variable' for Command klassen: