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

相關文章
相關標籤/搜索