php函数、类和对象以及类的封装、继承、类的静态方法、静态属性

简介: 原文:php函数、类和对象以及类的封装、继承、类的静态方法、静态属性 1、函数     php内置函数可以直接使用,如果没有安装php扩展即可     自定义函数 //函数function 函数名 function dump($var = null...
原文: php函数、类和对象以及类的封装、继承、类的静态方法、静态属性

1、函数

    php内置函数可以直接使用,如果没有安装php扩展即可

    自定义函数

//函数function  函数名 

    function dump($var = null){    //支出默认参数值

        echo ‘<pre/>’;

         var_dump($var);

    }

2、类(class)和对象( new Obj)

<?php 
//定义一个人的类,现在还不是对象

 class Person
{
 //私有属性 
    private $eye = '大眼睛';
    private $mouth = '小嘴巴';
    private $leg = '大长腿';
             
    //构造方法 new 对象的时候自定调用
    public function __construct()
    {
        echo __CLASS__;
    }    
    public function run()
    {
        echo  $this->leg;
    } 
    //学习 会用到 腿(走路)、眼睛(看书)、嘴(念书)
    public function study()
    {
        echo $this->leg, $this->eye, $this->mouth;

    }                 


}

//使用类 new以后就变成了对象

$person = new Person();          //输出 Person
$person -> run();                //输出  大长腿
$person -> study();             //输出  大长腿 大眼睛 小嘴唇

3、类的封装(public, protected, private)和继承(extends)

//类的继承  
class A
{
    public function help()
    {
        echo __METHOD__;
    }
    //声明一个吃的方法 私有的
    private function eat()
    {
        echo  __METHOD__;
    }

}


//子类可以继承父类所有的公共方法和属性、受保护的方法和属性,私有方法除外
//如果想使用,重写即可
class B extends  A
{
    public function doSomething()
    {
        $this -> help();   //继承了父类的方法   前提是声明为public 
        echo '<hr/>';
        $this -> eat();    //因为吃是私有的,子类不能使用, 这里在子类中写了一个eat方法.

    }
    //子类的吃
    public function eat()
    {
        echo __METHOD__;
    }

}
$b = new B;
$b->doSomething();
//输出结果

A::help


B::eat

4、类的静态方法和静态属性

<?php

//定义一个Url 相关的类
class Url
{
    public static function createUrl($arr = [])
    {
        echo __METHOD__;
    }
    public static function redirect($url = '')
    {
        echo __METHOD__;
    }
    public static function getCurrentUrl()
    {
        echo __METHOD__;
    }
}
//把方法声明成静态方法,不需要每次都实例化(new)对象,操作方便,节省内存,效率更高
echo  Url::createUrl($var='');
echo  Url::redirect($url='');
echo  Url::getCurrentUrl();

5、类的静态属性

<?php

//定义一个Url 相关的类
class Url
{
    //声明为类常量
    const URL = 'http://www.baidu.com'; //从5.3以后可以直接在类外部使用 const
    //声明为静态变量
     public static $var = 'it is very good';
    public static function createUrl($arr = [])
    {
        echo self::URL;
        echo '<br/>';
        echo self::$var;
        echo '<br/>';
        echo __METHOD__;
    }
    public static function redirect($url = '')
    {
        echo __METHOD__;
    }
    public static function getCurrentUrl()
    {
        echo __METHOD__;
    }
}
//把方法声明成静态方法,不需要每次都实例化(new)对象,操作方便,节省内存,效率更高
echo  Url::createUrl($var='');
目录
相关文章
|
5月前
|
缓存 安全 PHP
PHP中的魔术方法与对象序列化
本文将深入探讨PHP中的魔术方法,特别是与对象序列化和反序列化相关的__sleep()和__wakeup()方法。通过实例解析,帮助读者理解如何在实际应用中有效利用这些魔术方法,提高开发效率和代码质量。
|
6月前
|
PHP
php常见问题,php.ini文件不存在或者找不到,mb_strlen()函数未定义系列问题,dll模块找不到的解决
本文介绍了解决PHP常见问题的步骤,包括定位和创建`php.ini`文件,以及解决`mb_strlen()`函数未定义和DLL模块加载错误的具体方法。
php常见问题,php.ini文件不存在或者找不到,mb_strlen()函数未定义系列问题,dll模块找不到的解决
|
3月前
|
PHP
PHP中如何比较两个对象
在 PHP 中,比较两个对象可依据状态(属性值)或身份(内存地址)。常用方法包括:1. 使用 `==` 比较属性值;2. 使用 `===` 比较身份和属性;3. 实现 `__equals()` 方法自定义比较逻辑;4. 使用 `spl_object_hash()` 比较对象身份;5. 手动比较属性。选择方法依需求而定。
|
4月前
|
关系型数据库 MySQL 数据库连接
PHP内置函数
PHP内置函数
53 5
|
6月前
|
Java PHP 数据安全/隐私保护
PHP 面向对象,构造函数,析构函数,继承,方法的重写,接口抽象类,static,final,this,parent,self的异同和作用
本文详细介绍了PHP面向对象编程的一系列核心概念和用法,包括构造函数、析构函数、继承、方法重写、访问控制、接口、抽象类、静态成员、final关键字、以及this、self、parent这三个关键字的异同和作用。通过具体示例代码,展示了如何在PHP中使用这些面向对象的特性,以及它们在实际开发中的应用。
PHP 面向对象,构造函数,析构函数,继承,方法的重写,接口抽象类,static,final,this,parent,self的异同和作用
|
6月前
|
存储 API PHP
php学习笔记-php数组的创建和使用,数组常用函数-day03
关于PHP数组的创建、使用以及常用函数的详细学习笔记。
php学习笔记-php数组的创建和使用,数组常用函数-day03
|
5月前
|
设计模式 SQL 安全
PHP中的设计模式:单例模式的深入探索与实践在PHP开发领域,设计模式是解决常见问题的高效方案集合。它们不是具体的代码,而是一种编码和设计经验的总结。单例模式作为设计模式中的一种,确保了一个类仅有一个实例,并提供一个全局访问点。本文将深入探讨单例模式的基本概念、实现方式及其在PHP中的应用。
单例模式在PHP中的应用广泛,尤其在处理数据库连接、日志记录等场景时,能显著提高资源利用率和执行效率。本文从单例模式的定义出发,详细解释了其在PHP中的不同实现方法,并探讨了使用单例模式的优势与注意事项。通过对示例代码的分析,读者将能够理解如何在PHP项目中有效应用单例模式。
|
5月前
|
Unix PHP 数据库
PHP日期和时间Date()函数获取当前时间
通过灵活运用 `date()`函数及其丰富的格式选项,PHP开发者可以轻松地在应用程序中处理和展示日期及时间信息。无论是需要精确到秒的完整时间戳,还是仅仅展示日期或时间的某一部分,`date()`函数都能胜任。理解并熟练应用这些格式化技巧,对于提升代码的可读性和维护性至关重要。
110 1
|
6月前
|
设计模式 SQL 安全
PHP中的设计模式:单例模式的深入探索与实践在PHP的编程实践中,设计模式是解决常见软件设计问题的最佳实践。单例模式作为设计模式中的一种,确保一个类只有一个实例,并提供全局访问点,广泛应用于配置管理、日志记录和测试框架等场景。本文将深入探讨单例模式的原理、实现方式及其在PHP中的应用,帮助开发者更好地理解和运用这一设计模式。
在PHP开发中,单例模式通过确保类仅有一个实例并提供一个全局访问点,有效管理和访问共享资源。本文详细介绍了单例模式的概念、PHP实现方式及应用场景,并通过具体代码示例展示如何在PHP中实现单例模式以及如何在实际项目中正确使用它来优化代码结构和性能。
83 2
|
6月前
|
PHP
PHP中如何比较两个对象
PHP中如何比较两个对象