我是PHP程序员,我可以为你说说是怎么回事。PHP是一种开发网站用的语言,虽然下载到你的电脑里了,它绝不会给你带来坏处的,但是对你的作用可能也不大,你可以删了它们。 如果你留意一下浏览器的地址栏的网址的话,你会发现,很多的网址的后缀都是 .php,因为它是网页来的。
你上面require_once 已经包含这个类了,所以下面可以实例化这个类的对象,你打开mysqltool.php看一下
$DB = new DB_MySQL;
class demo{
function __construct($db){
$this->db = $db;
$this->db->connect(servername,dbusername,dbpassword,dbname,usepconnect);
}
public function test($sql){
$all = $this->db->fetch_one_array($sql);
}
}
$demoClass = new demo($DB);
//一般情况下db->connect会写在其它的地方,当你初始化$DB的时候,这个连接就应该已经连接上了,不会需要在外面再写,这样到处写即不安全,也很麻烦。所以最好把$DB->connect(servername, dbusername, dbpassword, dbname, usepconnect);这句也封闭起来
你的这种定义方法是错误的,在类定义中不能直接包含文件或实例化对象,只能对类中属性进行定义;请参考天南(46926125)写的DEMO:###PHP DEMO CODE###<?phpclass b{//include('a1.php'); //类中不能直接包含文件,应在类定义外部或者类中的方法中包含文件//$c=new a(); //类定义中不能直接实例化另一个类,应该在类中的方法中实例化另一个类function run(){include('./a1.php'); return new a();}function d(){$c=$this->run();$c->ec(); }}$Obj=new b;$Obj->d();?>
类就是很多方法的集合这些方法是你在程序中经常会用到的一些逻辑或算法将他们包进类里面,可以提升程序的效率,减少代码的重复比如你有一个类文件 web_common.class.php ,里面有一个类,名为 common那么当你的程序需要用到此类里的方法时,首先要做的是将类文件包进来require_once 'web_common.class.php';然后呢,为你的类创建一个对象,也就是把类实例化。(未实例化的类是无法使用的,有兴趣可以试一下)$object = new common;接下来,在你需要调用类中方法的位置调用方法,如:$object->my_function();是不是很简单呢?还要说明一点的是,类中静态方法调用是和以上调用形式是不同的,调用方式如下:$object::staticfunction();关于子类继承父类的问题,有两种可能第一,父类的方法不够用或程序中需要父类的多种方法集合第二,父类为抽象类,那么想使用此类的方法必须由子类来继承才能使用继承方法如下:class son_class extands father_class {}需要说明的是,一个父类可以有多个子类,但一个子类却只能继承一个父类调用的时候,父类为普通类时,对象可以是父类也可以是子类;父类为抽象类时,对象只能为子类
在类里面的时候,$this->func()和self::func()没什么区别。在外部的时候,->必须是实例化后的对象使用; 而::可以是未实例化的类名直接调用。举个例子:class Mytest{ function ccc($str){ echo $str; }}Mytest::ccc("123456");$object = new Mytest();$object->ccc("123456");
是不是说实例化的类不能使用::?而未实例的类可不可以使用->呢?
你用我的例子,分别试一下Mytest->ccc("->")和$object::ccc("::")就知道答案了。(都会报错)
谢谢~刚刚我也在http://www.php.net/manual/zh/language.oop5.static.php里看到明确的说明了: 静态属性不可以由对象通过->操作符来访问。 用::方式调用一个非静态方法会导致一个E_STRICT级别的错误。
php获取当前类所有方法名称的函数:get_class_methods(class name),class name指类名,调用后会返回类中所有方法组成的数组。
此外,类似功能的语句还有
get_class(class name);//取得当前语句所在类的类名get_class_vars(class name);//取得class name 类的所有的变亮名,并组成一个数组
class daxiang{var $name="";function zou($name){$name=$name;echo("大象"+$name+"在走路");}}
在Java的调用方法是import,而在PHP中没有import这个函数,一般PHP中调用其他类是用到require(),具体PHP调用其他类的方法如下:
1、首先应该先有一个文件名为tool.php的文件,在文件中声明一个类。
2、然后需要有另一个文件名为main.php的文件,在文件中调用上面的类。方法如下。
扩展资料:
类是变量与作用于这些变量的函数的集合。使用下面的语法定义一个类:
<?php
class Cart { var $items; // 购物车中的物品
// 将 $num 个 $artnr 物品加入购物车
function add_item($artnr, $num) {
$this->items[$artnr] += $num;
} // 将 $num 个 $artnr 物品从购物车中取出
function remove_item($artnr, $num) {
if ($this->items[$artnr] > $num) {
$this->items[$artnr] -= $num; return true;
} elseif
($this->items[$artnr] == $num) {
unset($this->items[$artnr]); return true;
} else {
return false; }
}
} ?>
上面的例子定义了一个 Cart 类,这个类由购物车中的商品构成的数组和两个用于从购物车中添加和删除商品的函数组成。
参考资料来源:百度百科-php类