码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2015-11-04 14:59:01      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:

下文链接: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中的标量


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

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

标签:

原文地址:http://my.oschina.net/sikou/blog/525779

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!