PHP中的符号 ->、=> 和 :: 以及PDO类的封装

下文连接:http://www.95px.com/program/95px_program_3118.shtmlphp

不要紧,下面咱们作一下详细的解释,若是你有C++,Perl基础,你会发现这些家伙和他们里面的一些符号功能是差很少的。html

‘- >’符号是“插入式解引用操做符”(infix dereference operator)sql

换句话说,它是调用由引用传递参数的子程序的方法(固然,还有其它的做用)。正如咱们上面所提到的,在调用PHP的函数的时候,大部分参数都是经过引用传递的。PHP中的‘->’功能就和它们在Perl或C++中同样。下面是一个简单的解引用的例子:数据库

  echo $x->def(); # 输出数组

  

  在PHP的脚本中‘=>’操做符时很常见的。由于php数组函数很丰富,咱们要常常用到数组,由于它操做数据很方便。ide

  $phparr= new array( in => 'reply,'函数

  side => 'left',fetch

  padx => 2m,this

  pady => 2m,spa

  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中的标量


PDO操做数据库类的封装

<?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

相关文章
相关标签/搜索