当前位置: 编程技术>php
本页文章导读:
▪php中mysql模块部分功能的简单封装
代码如下: class mysql { private $db; // datebase connect private $result; // mysql result static private $mysql; // mysql object private function __construct() { // The work before Create an object $this->db = mysql_connect('localhost','root'.........
▪php XMLWriter类的简单示例代码(RSS输出)
代码如下: include 'mysql.php'; $mysql= mysql::getObject(); $mysql->query("SELECT * FROM post"); $xml = new XMLWriter(); $xml->openUri('hello.xml'); // or 'php://output' $xml->setIndentString(' '); $xml->setIndent(true); // start $xml.........
▪简单的PHP缓存设计实现代码
代码如下:<?php //本功能主要是利用文件修改时间函数filemtime与现在时间作减法判断是否更新内容。 $cahetime=2;//设置过期时间 $cahefile="cahe.txt";//读写文本 if(file_exists($cahefile) && time()-$ca.........
[1]php中mysql模块部分功能的简单封装
来源: 互联网 发布时间: 2013-11-30
代码如下:
class mysql
{
private $db; // datebase connect
private $result; // mysql result
static private $mysql; // mysql object
private function __construct()
{ // The work before Create an object
$this->db = mysql_connect('localhost','root','');
mysql_select_db('hello', $this->db );
}
public static function getObject()
{ //if have a object,return that object,Not create
if(! self::$mysql instanceof self)
self::$mysql = new self;
return self::$mysql;
}
public function query($sql)
{
$this->result = mysql_query($sql, $this->db);
return $this->result;
}
public function fetch()
{
if( isset($this->result ) )
return mysql_fetch_assoc( $this->result );
}
public function error()
{
return 'error:'.mysql_error();
}
public function num() // for sql select result
{
return mysql_num_rows( $this->result );
}
public function close()
{ // return true or false
return mysql_close( $this->db );
}
}
这样做看起来就只对可移植有用,其它的作用还体会不到
[2]php XMLWriter类的简单示例代码(RSS输出)
来源: 互联网 发布时间: 2013-11-30
代码如下:
include 'mysql.php';
$mysql= mysql::getObject();
$mysql->query("SELECT * FROM post");
$xml = new XMLWriter();
$xml->openUri('hello.xml'); // or 'php://output'
$xml->setIndentString(' ');
$xml->setIndent(true);
// start
$xml->startDocument('1.0', 'UTF-8');
// <rss version="2.0">
$xml->startElement('rss');
$xml->writeAttribute('version','2.0');
// <channel>
$xml->startElement('channel');
// title
$xml->startElement('title');
$xml->text('title');
$xml->endElement();
// link
$xml->startElement('link');
$xml->text('http:///post/');
$xml->endElement();
// description
$xml->startElement('description');
$xml->text('');
$xml->endElement();
// language
$xml->startElement('language');
$xml->text('zh-cn');
$xml->endElement();
// category
$xml->startElement('category');
$xml->text('IT');
$xml->endElement();
// copyright
$xml->startElement('copyright');
$xml->text('copyright 2011 ');
$xml->endElement();
// for item
while( $row = $mysql->fetch() )
{
$xml->startElement('item');
// title
$xml->startElement('title');
$xml->text( $row['title']);
$xml->endElement();
// link
$xml->startElement('link');
$xml->text( 'http:///post/'.$row['id'].'.html');
$xml->endElement();
// description
$xml->startElement('description');
$xml->text( $row['text'] );
$xml->endElement();
// pubDate
$xml->startElement('pubDate');
$xml->text( date('D, d M Y H:i:s T', $row['time']) );
$xml->endElement();
// category tag author need to write .over
$xml->endElement(); // item
}
$xml->endElement(); // channel
$xml->endElement(); // rss
$xml->endDocument();
// $xml->flush();
前面的mysql.php 是封装的mysql数据库功能,单例模式,所以取对象是静态方法 mysql::getObject();
代码很简单
openUri('') 方法的参数可以是一个文件,那么xml数据就写入到这个文件
或者 php://output 输出到缓冲区,然后 flush方法输出到页面
[3]简单的PHP缓存设计实现代码
来源: 互联网 发布时间: 2013-11-30
代码如下:
<?php
//本功能主要是利用文件修改时间函数filemtime与现在时间作减法判断是否更新内容。
$cahetime=2;//设置过期时间
$cahefile="cahe.txt";//读写文本
if(file_exists($cahefile) && time()-$cahetime< filemtime($cahefile)){
echo file_get_contents($cahefile);
}
else {
file_put_contents($cahefile,date("y-m-d H:i:s",time()));
}
?>
最新技术文章: