欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

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

程序员文章站 2024-02-01 11:44:22
...

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

   

1、函数

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

    自定义函数

//函数function  函数名 

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

        echo
’;

         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 '
'; $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 '
'; echo self::$var; echo '
'; echo __METHOD__; } public static function redirect($url = '') { echo __METHOD__; } public static function getCurrentUrl() { echo __METHOD__; } } //把方法声明成静态方法,不需要每次都实例化(new)对象,操作方便,节省内存,效率更高 echo Url::createUrl($var='');
相关标签: php