·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> 网站建设开发 >> php网站开发 >> php函数、类和对象以及类的封装、继承、类的静态方法、静态属性

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

作者:佚名      php网站开发编辑:admin      更新时间:2022-07-23
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='');