一个关于PHP面向过程和面向对象的问题
如果做一个网站,做完后,希望日后的功能,可以用功能模块的形式来添加该网站的功能。这样编程风格是面向过程还是对象呢?或者说,面向过程能实现么?如果用面向过程做一个功能多、比...
如果做一个网站,做完后,希望日后的功能,可以用功能模块的形式来添加该网站的功能。这样编程风格是面向过程还是对象呢?或者说,面向过程能实现么?
如果用面向过程做一个功能多、比较大的网站,缺点多不多?
像织梦那种封一个PHP标记,只需要写这个标记,就能输出文字、链接,这是过程还对象呢?过程能这样封一个类似于JS的函数的标记么?
网上有的文章说,面向对象的重用性好,这个重用性,是不是指的就是比如说我输出的新闻列表,这个列表扔到其它页面,同样可以使用?
请高手赐教啊! 展开
如果用面向过程做一个功能多、比较大的网站,缺点多不多?
像织梦那种封一个PHP标记,只需要写这个标记,就能输出文字、链接,这是过程还对象呢?过程能这样封一个类似于JS的函数的标记么?
网上有的文章说,面向对象的重用性好,这个重用性,是不是指的就是比如说我输出的新闻列表,这个列表扔到其它页面,同样可以使用?
请高手赐教啊! 展开
1个回答
推荐于2017-11-26
展开全部
面向对象,是把一些常用的操作进行类封装起来,方便调用,需要用的地方,调用一下即可,这样,开发方便,维护也方便!修改这个封装的类,即可达到修改全站的目的!
面向过程,是在每一个地方都使用单独的代码进行操作,这样开发的时候重复累赘,维护的时候也很累,你修改了哪里,就只在哪里起作用!
比如,初学php,最基本的连接数据库和查询数据库都会这样写:
<?php
$Con = mysql_connect(.........);
mysql_query('set names utf8');
mysql_select_db(....);
$query = mysql_query( $sql );
while( $Rs = mysql_fetch_aray( $query ) ) {
echo $Rs[0];
}
等等这样,操作10次数据库,就写10次这样的代码!
而如果封装一个类,意义就不同了!
<?php
class mysql{
var $Con;
var $table;
public ConnEct( $local, $root, $pass, $base, $code){
$this -> Con = mysql_connect( $local, $root, $pass);
mysql_query('set names ' . $code);
mysql_select_db( $base );
}
public Tab( $Table) {
$this -> table = $Table;
return $this;
}
public Select(){
$rs = mysql_query('select * from ' . $this -> table)
while( $Rs = mysql_fetch_array( $rs ) {
$Rule[] = $Rs;
}
return $Rule;
}
}
把上面的代码保存成一个文件,比如是mysql.php,在需要操作数据库的地方引入这个文件,那么要查询数据库的一个表就非常方便了!
<?php
include_once 'mysql.php';
$Mysql = new mysql; //实例化一个类;
$Mysql -> ConnEct('localhost', 'root', 123456, 'table', 'utf8');//连接数据库
$Resul = $Mysql -> Tab('user') -> Select();//查询user表,并返回数组结果
print_r( $Resul ); //打印这个数组
以上个人见解,仅供参考
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询