当前位置:首页 » 编程语言 » php类与对象

php类与对象

发布时间: 2022-01-16 16:56:58

❶ 为什么php类中声明一个对象属性会报错

- syntax error, unfinished class declaration 语法错误,未完成的类定义
- 1 changed line
- syntax error, unexpected 'new' 语法错误,未预期的 new

原因:

1. 语法错误,未完成的类定义

你需要提供 mysqli() 里写上初始化(实例化)类所需要的参数,比如:

$_mysqli = new mysqli('localhost','用户名','密码','数据库名');

2. syntax error, unexpected 'new'

将上面的变量定义与初始化代码分开来写:

Class ProviderDAO {
private static $_mysqli;
$_mysqli = new mysqli('localhost','用户名','密码','数据库名');
}

❷ php中的对象分为哪两种

得到一个对象的类型,使用gettype()函数:
<?php
echo gettype(1); // 输出integer
echo gettype(array()); // 输出array
得到一个对象是哪个类的实例,使用get_class()函数:
<?php
$o = new stdClass();
echo get_class(); // 输出stdClass

得到一个类或对象的方法和属性,要使用反射:
<?php
class MyClass {
public $var;
public function foo() {}
}
$ref = new ReflectionClass('MyClass');
$ref->getProperties(); // 会返回一组对象,用法参考PHP手册
$ref->getMethods(); // 会返回一组对象,用法参考PHP手册

$obj = new MyClass();
$ref = new ReflectionObject($obj);
$ref->getProperties();
$ref->getMethods();

❸ php 中如何得到一个对象的类型

得到一个对象的类型,使用gettype()函数:

<?php
echogettype(1);//输出integer
echogettype(array());//输出array


得到一个对象是哪个类的实例,使用get_class()函数:

<?php
$o=newstdClass();
echoget_class();//输出stdClass


得到一个类或对象的方法和属性,要使用反射:

<?php
classMyClass{
public$var;
publicfunctionfoo(){}
}
$ref=newReflectionClass('MyClass');
$ref->getProperties();//会返回一组对象,用法参考PHP手册
$ref->getMethods();//会返回一组对象,用法参考PHP手册

$obj=newMyClass();
$ref=newReflectionObject($obj);
$ref->getProperties();
$ref->getMethods();

❹ php类和对象问题

$this 的含义是表示 实例化后的 具体对象!

我们一般是先声明一个类,然后用这个类去实例化对象!

但是,当我们在声明这个类的时候,想在类本身内部使用本类的属性或者方法。应该怎么表示呢?

例如:

我声明一个User类!它只含有一个属性 $name;

class User
{
public $_name;
}

现在,我给User类加个方法。就用getName()方法,输出$name属性的值吧! 复制PHP内容到剪贴板
PHP代码:
class User
{
public $name;

function getName()
{
echo $this->name;
}
}

//如何使用呢?

$user1 = new User();

$user1->name = '张三';

$user1->getName(); //这里就会输出张三!

$user2 = new User();

$user2->name = '李四';

$user2->getName(); //这里会输出李四!

怎么理解呢?

我上面创建了两个User对象。分别是 $user1 和 $user2 。

当我调用 $user1->getName()的时候。 上面User类中的代码 echo $this->name ; 就是相当于是 echo $user1->name;

----------------------------------------->>>补充一下>>>

有static修饰的变量和函数不能出现$this
你看到的函数一定没有static

建议你系统的学习一下PHP,这样瞎猜是很浪费时间的

static $a1和self::$a1或者$a::$a1是一起使用的。
var $a1和$this->a1是一起使用的

class Abc{
static $a1;
}
class Abc{
var $a1;
}
两个$a1是不同的。
第一个用self::$a1或者$a::$a1引用,
第二个用$this->$a1或者$a->a1引用

首先static的函数里不能出现$this,只能是self

class Abc{
public static $a1 = "im a1!<br/>";
public static function go()
{
echo(self::$a1);

}
}

Abc::go();
?>

❺ php 类/对象函数

你要问什么?

❻ php模块和类对象的区别

建议看看下面链接的网页,有问题再补充:网页链接

❼ 请问PHP中的面向对象,java面向对象一样吗。如果不一样,有什么区别(有好的回答的的话回加分的)

没有哪2种语言的面对对象做法是完全一样。所以回答是“不一样”。
由于各自语言的特性,细节区别非常多,不可胜诉。
总体上,php在设计对象模型式参考了java的设计,但改成适应php自身的形式。
php没有java的自动化class loader,在类的读取和对象创建上就要注意先后。php的自动读取要手动设置。
php由于自身是动态类型语言,变量本身的类型动态,就没有java的重载功能。这也导致类设计上的一些很大区别。
php的动态特性和具有自我反射能力,可以把方法名称当成“消息”发送,在运行时判断对象是否能接收消息,java的静态就不能直接应用这样的设计。
php6.x之前估计不会类似java的有名字空间或包管理机制。
php的对象可以动态地后添加属性增减数据,java是禁止这样做的。
php的方法名称还不区分大小写。
php的动态特性也就不需要模板泛型编程的特性。在java中泛型也占很重要的一部分。
等等等等
相同点,都具有final,抽象类,接口,变量可见度等语法。
总之,这些不同都是由语言特性和适用场合决定的

❽ php中类与对象的区别和关系是什么

举个例,类就好比人类,类有各种属性和各种方法,就像人类有姓名,年龄,身高,体重等属性,也有吃饭,睡觉,走路等行为(方法)。而对象,就是具体的一个人,是从人类这个类里实例化出来的一个对象,这个人具有人类的各种属性和方法。如果把上面这对话写成代码的话,就是

class 人类{
public $姓名, $年龄, $身高, $体重……
public function 吃饭(){
……
}
public function 睡觉(){
……
}
public function 走路(){
……
}
……
}
$人=new 人类;

$人->姓名='李雷';
$人->年龄=30;
$人->身高=175;
$人->姓名=75;
$人->吃饭();
……
这就是类和对象的区别和关系。

❾ php中如何找到对象所属的类

PHP内置了相关的函数可以满足你的要求。详细解答如下:

echoget_class($obj);//


不过实战中很少使用这种方式,因为获得类名并没有实际意义,只是在特殊情况下无法跟踪代码时临时调试一下而已。


实战用常用的方式是

if($objinstanceofCat)//$obj是Cat类的实例吗?
if($objinstanceofAnimal)//$obj是Animal类的实例吗?


希望以上回答能帮助到你,有用望采纳,有疑问请追问。

❿ PHP运用类和对象实现斐波那契数列

<?php
class demo {
private $_current = 0;
private $_next = 1;
protected function _getNext() {
$value = $this->_current + $this->_next;
$this->_current = $this->_next;
$this->_next = $value;
return $value;
}
public function getString($max) {
if($max < 1) return ''
$str = ''
while($next = $this->_getNext()) {
if ($next <= $max) {
$str .= ', ' . $next;
} else {
break;
}
}
return substr($str, 1);
}
}

不过这东西需要用对象这么麻烦吗...如果是老师教的...这水平...完全没有实用价值

热点内容
python编辑excel 发布:2024-12-25 09:21:19 浏览:151
w7将电脑文件如何共享文件夹共享文件夹 发布:2024-12-25 09:12:41 浏览:187
安卓系统中哪个软件最耗电 发布:2024-12-25 08:38:44 浏览:824
ssrssql 发布:2024-12-25 08:38:41 浏览:953
ai定位脚本 发布:2024-12-25 08:33:35 浏览:956
炎黄解说我的世界中国服务器 发布:2024-12-25 08:33:28 浏览:796
sql2008发布 发布:2024-12-25 08:27:09 浏览:342
如何用存档开服务器 发布:2024-12-25 08:23:27 浏览:713
安卓手机为什么不显示通知栏 发布:2024-12-25 08:21:15 浏览:906
解压肚子疼 发布:2024-12-25 08:15:01 浏览:589