在php对象中,方法是指在类结构中创建的函数,是实现类中的一个行为,是类的一部分;而属性是指在类结构中直接声明的变量,对象中可以有多个属性,每个变量都存储对象不同的属性信息。
本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑
首先来简单了解下相关概念:
类:class,是定义面向对象主体最外层结构,也是用来包裹主体数据和功能(函数),类是一类具有共性事务的代表,代表的是事务的共性。
对象:object,是某类事务的具体代表,也是实际数据和功能操作的具体单元,也被称为实例(instance)。
实例化:new,从一个抽象的概念得到一个符合抽象概念的具体实例过程。
类成员:member,指类class结构中的所有内容,类成员里有三种;
方法:method,本质是在类class结构中创建的函数,也称为成员方法,或者成员函数。
属性:property,本质是在类class结构中创建的变量,也称为成员变量。
下面来重点聊聊 属性和方法 。
成员属性
在类中直接声明的变量称为成员属性(也可以称为成员变量),可以在类中声明多个变量,即对象中可以有多个成员属性,每个变量都存储对象不同的属性信息。语法格式如下:
访问权限修饰符 属性名称 = 属性值;
成员属性的类型可以是 PHP 中的标量类型和复合类型,所以也可以是其他类实例化的对象,但在类中使用资源和空类型是没有意义的。
前面我们绍过,声明变量时不需要任何关键字修饰,但是在类中声明成员属性时,变量前面一定要使用一个关键字来修饰,例如 public、private,static 等,但这些关键字修饰的变量都具有一定的意义。如果不需要有特定意义的修饰,可以使用“var”关键字,一旦成员属性有其他的关键字修饰就需要去掉“var”。
常用访问权限修饰符及其含义如下所示:
public:公共的,在类的内部、子类中或者类的外部都可以使用,不受限制;
protected:受保护的,在类的内部和子类中可以使用,但不能在类的外部使用;
private:私有的,只能在类的内部使用,在类的外部或子类中都无法使用。
注意:一个类,即一对大括号之间的全部内容都要在一段代码中,也就是一个f94092635d00f016dcf35890fa848e0b之间,不能分割成多块。
【示例】创建一个 Students 类并在类中声明一些成员属性,代码如下所示:
<?php class Students{ var $name; public $age; private $sex; public static $school; } ?>
提示:权限修饰符可以和定义静态变量的关键字 static 混合在一起使用,如上面代码中所示。
成员方法
在类中定义的函数被称为成员方法。函数和成员方法唯一的区别就是,函数实现的是某个独立的功能,而成员方法是实现类中的一个行为,是类的一部分。
可以在类中声明多个成员方法,成员方法的声明和函数的声明完全一样,只不过在声明成员方法时可以在function关键字的前面加一些访问权限修饰符来控制访问权限,例如 public、private、protected 等。
另外需要注意的是,声明的成员方法必须和类是相关的,不能是一些没有意义的操作。例如,在声明学生类时,如果声明了“飞行”的成员方法,实例化出来的每个学生都可以飞了,这样就是一个设计上的错误。
【示例】在上面示例中创建的 Students 类中创建一些成员方法。
<?php class Students{ var $name; public $age; private $sex; public static $school; public function Write(){ } protected static function Read(){ } function Listen(){ } } ?>
成员方法前面的权限修饰符可以省略,省略后默认权限为 public。在类中成员属性和成员方法的声明都是可选的,可以同时存在,也可以单独存在,具体可以根据实际情况而定。
在 PHP7 中,引入了类型声明,我们可以为成员方法的形参和返回值声明类型,格式如下所示:
[权限修饰符] function 方法名 (类型 参数1, 类型 参数2, ..., 类型 参数n) : 返回值类型 { ... ... }
PHP7 中支持声明的参数类型包括整型、浮点型、字符串型和布尔类型。示例代码如下所示:
<?php class Students{ var $name; public $age; private $sex; public static $school; public function Write(string $a, int $b):bool{ } protected static function Read(string $str):int{ } function Listen(int $num):bool{ } } ?>
实例化对象并访问对象中的成员
对象中包含成员属性和成员方法,访问对象中的成员和访问数组中的元素类似,只能通过对象的引用来访问对象中的成员。但还要使用一个特殊的运算符号->来完成对象成员的访问,访问对象中成员的语法格式如下所示:
变量名 = new 类名(参数); //实例化一个类 变量名 -> 成员属性 = 值; //为成员属性赋值 变量名 -> 成员属性; //直接获取成员属性的值 变量名 -> 成员方法(); //访问对象中的成员方法
下面通过一个示例来演示一下:
<?php header("Content-type:text/html;charset=utf-8"); class Website{ public $name, $url, $title; public function demo(){ echo '成员方法 demo()'; } } $student = new Website(); $student -> name = 'php中文网'; $student -> url = 'https://www.php.cn/'; $student -> title = '实例化对象'; echo $student -> name.'<br>'; echo $student -> url.'<br>'; echo $student -> title.'<br>'; $student -> demo(); ?>
推荐学习:《PHP视频教程》
以上是php对象的方法或者属性是什么的详细内容。更多信息请关注PHP中文网其他相关文章!

本文比较了酸和基本数据库模型,详细介绍了它们的特征和适当的用例。酸优先确定数据完整性和一致性,适合财务和电子商务应用程序,而基础则侧重于可用性和

本文讨论了确保PHP文件上传的确保,以防止诸如代码注入之类的漏洞。它专注于文件类型验证,安全存储和错误处理以增强应用程序安全性。

本文讨论了在PHP中实施API速率限制的策略,包括诸如令牌桶和漏水桶等算法,以及使用Symfony/Rate-limimiter之类的库。它还涵盖监视,动态调整速率限制和手

本文讨论了使用password_hash和pyspasswify在PHP中使用密码的好处。主要论点是,这些功能通过自动盐,强大的哈希算法和SECH来增强密码保护

本文讨论了OWASP在PHP和缓解策略中的十大漏洞。关键问题包括注射,验证损坏和XSS,并提供用于监视和保护PHP应用程序的推荐工具。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

SublimeText3汉化版
中文版,非常好用

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

禅工作室 13.0.1
功能强大的PHP集成开发环境