PHP 中的构造函数

简介: PHP 中的构造函数

[使用 PHP 构造函数初始化类中的对象的属性]

在下面的示例中,我们将创建一个类 Student 并使用 __construct 函数为 new Student 分配其属性。

__construct 函数减少了与使用函数 set_name() 相关的代码数量。

<?php
class Student {
  // Define the attributes of your class
  public $name;
  public $email;
// Initialize the properties of the object you want to create in this class
function __construct($name, $email) {
  $this->name = $name;
  $this->email = $email;
}
function get_name() {
  return $this->name;
}
function get_email() {
  return $this->email;
}
}
$obj = new Student("John", "john567@gmail.com");
echo $obj->get_name();
echo "<br>";
echo $obj->get_email();
?>

输出:

John
john567@gmail.com

[使用 PHP 构造函数在类中初始化 Object with Parameters 的属性]

在下面的示例代码中,我们创建类 Military 并使用 __construct 函数来提供我们创建的对象的属性和参数。

<?php
class Military {
  // Define the attributes of the class 'Military'
  public $name;
  public $rank;
  function __construct($name, $rank){
    $this->name = $name;
    $this->rank = $rank;
  }
  function show_detail() {
    echo $this->name." : ";
    echo "Your Rank is ".$this->rank."\n";
  }
}
$person_obj = new Military("Michael", "General");
$person_obj->show_detail();
echo "<br>";
$person2 = new Military("Fred", "Commander");
$person2->show_detail();
?>

输出:

Michael : Your Rank is General
Fred : Your Rank is Commander

[在 PHP 中在子类中启动一个对象并在两个类都有 Individual 构造函数时调用父类构造函数]

<?php
class Student
{
  public $name;
  public function __construct($name)
  {
    $this->name = $name;
  }
}class Identity extends Student
{
  public $identity_id;
  public function __construct($name, $identity_id)
  {
    parent::__construct($name);
    $this->identity_id = $identity_id;
  }
  function show_detail() {
    echo $this->name." : ";
    echo "Your Id Number is ".$this->identity_id."\n";
  }
}
$obj = new Identity('Alice', '1036398');
echo $obj->show_detail();
?>

输出:

Alice : Your Id Number is 1036398

Identity 类扩展了上述代码中的 Student 类。我们使用关键字 parent: 来调用 Student 类的构造函数。

相关文章
|
Java PHP 数据安全/隐私保护
PHP 面向对象,构造函数,析构函数,继承,方法的重写,接口抽象类,static,final,this,parent,self的异同和作用
本文详细介绍了PHP面向对象编程的一系列核心概念和用法,包括构造函数、析构函数、继承、方法重写、访问控制、接口、抽象类、静态成员、final关键字、以及this、self、parent这三个关键字的异同和作用。通过具体示例代码,展示了如何在PHP中使用这些面向对象的特性,以及它们在实际开发中的应用。
PHP 面向对象,构造函数,析构函数,继承,方法的重写,接口抽象类,static,final,this,parent,self的异同和作用
|
2月前
|
关系型数据库 MySQL PHP
PHP和Mysql前后端交互效果实现
本文介绍了使用PHP连接MySQL数据库的基本函数及其实现案例。内容涵盖数据库连接、选择数据库、执行查询、获取结果等常用操作,并通过用户登录和修改密码的功能实例,展示了PHP与MySQL的交互过程及代码实现。
260 0
PHP和Mysql前后端交互效果实现
|
7月前
|
关系型数据库 MySQL Linux
查看Linux、Apache、MySQL、PHP版本的技巧
以上就是查看Linux、Apache、MySQL、PHP版本信息的方法。希望这些信息能帮助你更好地理解和使用你的LAMP技术栈。
383 17
|
前端开发 关系型数据库 MySQL
PHP与MySQL动态网站开发实战指南####
【10月更文挑战第21天】 本文将深入浅出地探讨如何使用PHP与MySQL构建一个动态网站,从环境搭建到项目部署,全程实战演示。无论你是编程新手还是希望巩固Web开发技能的老手,都能在这篇文章中找到实用的技巧和启发。我们将一起探索如何通过PHP处理用户请求,利用MySQL存储数据,并最终呈现动态内容给用户,打造属于自己的在线平台。 ####
518 0
|
8月前
|
关系型数据库 MySQL PHP
源码编译安装LAMP(HTTP服务,MYSQL ,PHP,以及bbs论坛)
通过以上步骤,你可以成功地在一台Linux服务器上从源码编译并安装LAMP环境,并配置一个BBS论坛(Discuz!)。这些步骤涵盖了从安装依赖、下载源代码、配置编译到安装完成的所有细节。每个命令的解释确保了过程的透明度,使即使是非专业人士也能够理解整个流程。
230 18
|
9月前
|
关系型数据库 MySQL 网络安全
如何排查和解决PHP连接数据库MYSQL失败写锁的问题
通过本文的介绍,您可以系统地了解如何排查和解决PHP连接MySQL数据库失败及写锁问题。通过检查配置、确保服务启动、调整防火墙设置和用户权限,以及识别和解决长时间运行的事务和死锁问题,可以有效地保障应用的稳定运行。
385 25
|
11月前
|
SQL 关系型数据库 MySQL
PHP与MySQL的高效交互:从基础到实践####
本文深入探讨了PHP与MySQL数据库之间的高效交互技术,涵盖了从基础连接到高级查询优化的全过程。不同于传统的摘要概述,这里我们直接以一段精简代码示例作为引子,展示如何在PHP中实现与MySQL的快速连接与简单查询,随后文章将围绕这一核心,逐步展开详细讲解,旨在为读者提供一个从入门到精通的实战指南。 ```php <?php // 数据库配置信息 $servername = "localhost"; $username = "root"; $password = "password"; $dbname = "test_db"; // 创建连接 $conn = new mysqli($se
308 31
|
12月前
|
安全 关系型数据库 MySQL
PHP与MySQL动态网站开发实战指南####
——深入探索LAMP栈下的高效数据交互与处理技巧 ####
|
关系型数据库 MySQL PHP
PHP与MySQL动态网站开发实战指南####
深入探索PHP与MySQL的协同工作机制,本文旨在通过一系列实战案例,揭示构建高效、稳定且用户友好的动态网站的秘诀。从环境搭建到数据交互,再到最佳实践分享,本文为开发者提供了一条清晰的学习路径,助力其在LAMP(Linux, Apache, MySQL, PHP/Perl/Python)栈上实现技术飞跃。 ####