本文目录一览:
php中面向对象编程是什么意思,到底用在什么地方,用一个项目中的实际例子来举例说明
可以这样理解,
1、类是模具,对象是模具生成的产品,就是印刷术一样,有了一个字一个字的模子,要印出一个字来就方便了,想印就印,你可以印,我也可以印。
2、在PHP中怎么做一个模具出来呢,就用 class申明,它就表示你要造一个模具了,但这个模具是做什么用的,就要在里面添加函数来表达了,函数名就是这个类的方法名,函数完成的功能就是类的方法。当然函数要实现功能代码中肯定要用到变量,这个就是所谓的类的成员以或者说成是类的属性。
3、有了类的属性有了类的方法,这就完成了一个类的定义,也就是模具做好了,接下来要理解的就是,怎样去用这个类了。就好像是要看一本书你不可能到印刷厂去把字的模具拿来拼成一页一页书来看吧,肯定是在纸上印刷出来。这个印刷的过程就是对象生成的过程也叫类的实例化。PHP中用new关键字来生成对象。比如前面定义的类名为 牛,这个牛有一个方法(函数)是:耕地。当然耕地这个函数,要怎样去实现那是另外要的事情了。现在要说的是怎么用牛的耕地方法,首先实例化,在PHP中这样表示:牛1= new 牛。这样 牛这个类 就有了一个具体可以使唤的牛1了 要想用牛1的耕地方法,意思就是“调用类(对象)的方法”,PHP中这样表示,牛1-耕地;如果你想要100头牛,就new100个出来就行,而不用每当要用牛的时候都去写牛的代码和牛耕地的代码了。
4、上面说的是一个理解过程,要实现就要用到具体的PHP的语法了,比如怎样申明变量 ,怎样赋值,怎样用运算符来运算,怎样写循环结构,怎样写选择结构,等等 。
php怎样用面向对象的方法将表单值插入数据库?那个方法要怎么写?
一个简单的例子
?php
include 'db_content.php'; //数据库连接
class db
{
public function insert($username)
{
$sql = "insert into user (id,username) values (null, $username)";
mysql_query($sql);
}
}
if (isset($_POST['sub']))
{
$db = new db();
$db-insert($_POST['username']);
}
?
form action="" method="post"
input type="text" name="username" value=""
input type="submit" name="sub" value="提交"
/form
面向对象设计的PHP面向对象实例
class MySql {
var $user,$pass,$host,$db;
var $id,$data,$fields,$row,$row_num,$insertid,$version,$query_num=0;
function __construct($host,$user,$pass,$db)
{
$this-host = $host;
$this-pass = $pass;
$this-user = $user;
$this-db = $db;
$this-dbconnect($this-host, $this-user, $this-pass);
$this-selectdb($this-db);
if($this-version() '4.1')
mysql_query(SET NAMES utf8);
}
function dbconnect($host,$user,$pass)
{
$this-id = @ mysql_connect($host,$user,$pass) OR
sysMsg(连接数据库失败,可能是mysql数据库用户名或密码错误);
}
function selectdb($db)
{
@ mysql_select_db($db,$this-id) OR die(未找到指定数据库);
}
function query($sql)
{
$query = @ mysql_query($sql,$this-id) OR die(SQL语句执行错误:$sql br /.$this-geterror());
$this-query_num();
return $query;
}
function fetch_array($query)
{
$this-data = @mysql_fetch_array($query);
return $this-data;
}
function query_num()
{
$this-query_num++;
}
function num_fields($query)
{
$this-fields = @mysql_num_fields($query);
return $this-fields;
}
function fetch_row($query)
{
$this-row = @mysql_fetch_row($query);
return $this-row;
}
function num_rows($query)
{
$this-row_num = @mysql_num_rows($query);
return $this-row_num;
}
function insert_id()
{
$this-insertid = mysql_insert_id();
return $this-insertid;
}
function version()
{
$this-version = mysql_get_server_info();
return $this-version;
}
function fetch_one_array($sql)
{
$query = $this-query($sql);
$this-data = $this-fetch_array($query);
return $this-data;
}
function geterror()
{
return mysql_error();
}
}