下文链接:http://www.95px.com/program/95px_program_3118.shtml
没关系,下面我们做一下详细的解释,如果你有C++,Perl基础,你会发现这些家伙和他们里面的一些符号功能是差不多的。
‘- >’符号是“插入式解引用操作符”(infix dereference operator)
换句话说,它是调用由引用传递参数的子程序的方法(当然,还有其它的作用)。正如我们上面所提到的,在调用PHP的函数的时候,大部分参数都是通过引用传递的。PHP中的‘->’功能就和它们在Perl或C++中一样。下面是一个简单的解引用的例子:
echo $x->def(); # 输出
在PHP的脚本中‘=>’操作符时很常见的。因为php数组函数很丰富,我们要经常用到数组,因为它操作数据很方便。
$phparr= new array( in => ‘reply,‘
side => ‘left‘,
padx => 2m,
pady => 2m,
ipadx => 2m,
ipady => 1m
)
顺便说一下,如果你需要用数字“大于等于”的符号,你应该用“>=”而不是“=>”。
在PHP中“::”这个叫范围解析操作符,又名域运算符
“::”符号可以认为是与C语言中的“.”相似的,而它更像C++中(Perl)的::类范围操作符。
php调用类的内部静态成员,或者是类之间调用就要用::
下面是一个例子:
class A
{
static $count = 0;
static function haha()
{
//
}
function diaoyoug()
{
self::haha();
self::$count;
}
}
a.b.c; /* C语言中的 */
a::b::c(); // C++ 中的函数
$a::b::c; # Perl 5中的标量
<?php
class pdos
{
private $config = array(
‘dbtype‘ => "",
‘host‘ => "",
‘db‘ => ‘‘,
‘user‘ => ‘‘,
‘password‘ => ‘‘,
‘charset‘ => ‘‘,
‘port‘ => ‘‘,
);
private static $_pdo;
public function __construct($config=array())
{
if(is_array($config))
{
$this->config = array_merge($this->config,$config);
}
}
public function __set($name,$value)
{
if(isset($this->config[$name]))
{
$this->config[$name] = $value;
}
}
public function __get($name)
{
if(isset($this->config[$name]))
{
return $this->config[$name];
}
}
public function run()
{
$dsn = $this->dbtype . ‘:host=‘ . $this->host . ‘;‘ . ‘dbname=‘ . $this->db . ‘;‘ . ‘charset=‘ . $this->charset . ‘;‘ . ‘port=‘ . $this->port;
try
{
self::$_pdo = new PDO($dsn,$this->user,$this->password,array(PDO::ATTR_PERSISTENT=>true));
//echo ‘success<br>‘;
}
catch(Exception $e)
{
die(‘message:‘.$e->getMessage());
}
self::$_pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
public function fitch($sql)
{
$query = self::$_pdo->prepare($sql);
// $query->bindparam(1,$id);
// $id = 1;
$query->execute();
$rs = $query->fetchAll(PDO::FETCH_ASSOC);
return $rs;
}
public function insert($sql)
{
$query = self::$_pdo->prepare($sql);
$query->execute();
return self::$_pdo->lastInsertId();
}
public function delete($sql)
{
$query = self::$_pdo->prepare($sql);
$rs = $query->execute();
return $rs;
}
public function total($sql)
{
$query = self::$_pdo->prepare($sql);
$query->execute();
$rs = $query->fetch();
return $rs;
}
public function exe($sql)
{
$query = self::$_pdo->prepare($sql);
$query->execute();
return $query;
}
public function inser($sql)
{
$query = self::$_pdo->prepare($sql);
$query->execute();
}
}
操作数据库类的封装:
http://www.phpker.com/operation-of-the-database-class-in-php-pdo-package_384.html
原文:http://my.oschina.net/sikou/blog/525779