欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【PHP中类的使用,面向对象的思路】,下面是详细的分享!
PHP中类的使用,面向对象的思路
以前开始学习PHP的时候也是使用的面向结构的思想,因为我们一开始接触C++的时候就是使用的面向结构的代码。虽然后来学习了类,但是还是对于面向结构比较喜欢吧。
之前的很长一段时间我对于类或者面向对象都不是很清楚,问了一个师兄,师兄给了我一个比方,说的很是形象“好比两个人打架,你要用程序去描述它,面向结构了,你是把每一步的对打都写好了,比如对方出什么招数,你出什么招数,必须每一步都写出来,面向对象的方法了,你要把打架的过程拆分成几个部分,打架前,打架中,及其之后”,虽然这个比方不是很确切,但是让我对于面向对象有了那么一点认识。
现在对于PHP的面向对象的做法,已经学习了一段时间,做的系统里面也有是用面向对象的方法做的了。
说一说面向对象的好处吧,它可以让系统很好的模块化,可以让很多的程序员一起工作,提高了编码的效率。对于整个系统的维护和更新也方便了很多的。
下面帖个类出来,大家感受一下吧。这个是一个数据库链接和操作的基础类,它为其他类说引用吧。
| 以下为引用的内容: <?php include_once("config.inc"); //包含系统配置文件 class data_class { //属性 private $host; //服务器名 private $user; //用户名 private $pwd; //密码 private $name; //数据库名 private $connection; //连接标识 //方法 //__get():获取属性值 function __get($property_name){ if(isset($this->$property_name)) { return($this->$property_name); } else { return(NULL); } } //__set():设置单个私有数据属性值,用于少量的修改数据 function __set($property_name, $value) { $this->$property_name=$value; } //__construct:构造函数,建立连接,在函数建立时自动调用建立,原则新建对象时不显式调用 function __construct() { $this->host=sys_conf::$dbhost; //使用sys_conf类的静态属性 $this->user=sys_conf::$dbuser; $this->pwd=sys_conf::$dbpswd; $this->name=sys_conf::$dbname; //建立与数据库的连接 $this->connection=mysql_connect ($this->host,$this->user,$this->pwd);//建立连接 mysql_query("set names 'utf8'");//字符集的统一 mysql_select_db("$this->name", $this->connection); //选择数据库挑战杯 } //__destruct:析构函数,断开连接,在函数执行完毕时自动调用析构。实现关闭数据库的连接,保证数据库数据的安全 function __destruct() { mysql_close($this->connection); } //增删改:参数$sql为Insert update function execute($sql) { mysql_query($sql); //echo "写入数据库成功了"; //echo "我是dataclass类的execute函数"; }//execute //查:参数$sql为Insert语句 //返回值为对象数组,数组中的每一元素为一行记录构成的对象 function query($sql) { $result_array=array(); //返回数组 $i=0; //数组下标 $query_result=@mysql_query($sql,$this->connection); //查询数据 while($row=@mysql_fetch_object($query_result)) { $result_array[$i++]=$row; }//while return $result_array; } //获得查询结果的纪录数函数 function result_query($sql) { $result=mysql_query($sql); $result_c=mysql_num_rows($result); return $result_c; } } ?> |
以上所分享的是关于PHP中类的使用,面向对象的思路,下面是编辑为你推荐的有价值的用户互动:
相关问题:php 面向对象中类内方法调用方法,可取吗?
答:class A { static function funAS(){ //do something } function funA(){ //do something } function funB(){ //调用本类的A方法,需要实例化 $this->funA(); //调用本类的静态方法,无需实例化 self::funAS(); //调用其它类类方法,需实例化 $o... >>详细
相关问题:php中的面向对象 -> 是什么意思
答:->在php中表示取类的实例的某个属性或方法 举例说明: class myClass{ public var1 = 'var1'; public function func1(){ }}$instance1 = new myClass();$instance1->var1;//var1$instance1->func1();//执行func1->可以得到类的属性或方法,与其... >>详细
相关问题:PHP中面向对象中的构造函数的作用是什么,为什么需...
答:构造函数不是必须的,当一个类被实例化的时候构造函数(如果有)会被调用,它具体做什么视需求而定。 例如,为边长为4的正方形声明一个类,那么它可能不需要构造函数,如 class demo { protected length = 4;}而为正方形声明一个类的时候,那么... >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
