• php从入门到放弃系列-03.php函数和面向对象


    php从入门到放弃系列-03.php函数和面向对象

    一、函数

      php真正的威力源自它的函数,内置了1000个函数,可以参考PHP 参考手册

      自定义函数: 

    1 function functionName()
    2 {
    3 要执行的代码;
    4 }

      函数命名的准则:

    • 函数的名称应该提示出它的功能
    • 函数名称以字母或下划线开头(不能以数字开头)

    二、面向对象

      1、类基础语法:

     1 <?php
     2 class Site {
     3   /* 成员变量 */
     4   var $url;
     5   var $title;
     6   
     7   /* 成员函数 */
     8   function setUrl($par){
     9      $this->url = $par;
    10   }
    11   
    12   function getUrl(){
    13      echo $this->url . PHP_EOL;
    14   }
    15   
    16   function setTitle($par){
    17      $this->title = $par;
    18   }
    19   
    20   function getTitle(){
    21      echo $this->title . PHP_EOL;
    22   }
    23 }
    24 ?>

    解析如下:

    • 类使用 class 关键字后加上类名定义。

    • 类名后的一对大括号({})内可以定义变量和方法。

    • 类的变量使用 var 来声明, 变量也可以初始化值。

    • 函数定义类似 PHP 函数的定义,但函数只能通过该类及其实例化的对象访问

    • $this 代表自身的对象,访问对象成员使用->访问,不再是.
    • PHP_EOL 为换行符

      2、创建使用对象

      类创建后,我们可以使用 new 运算符来实例化该类的对象,访问对象成员使用->访问,不再是.,使用new Site调用无参构造函数,可以不带括号

    1 $runoob = new Site;
    2 $taobao = new Site;
    3 $google = new Site;
    1 $runoob->setTitle( "菜鸟教程" );

      3、构造函数

      使用_construct命名构造函数

    1 function __construct( $par1, $par2 ) {
    2    $this->url = $par1;
    3    $this->title = $par2;
    4 }

      4、析构函数

      与构造函数相反,当对象结束其生命周期时(例如对象所在的函数已调用完毕),系统自动执行析构函数

     1 <?php
     2 class MyDestructableClass {
     3    function __construct() {
     4        print "构造函数
    ";
     5        $this->name = "MyDestructableClass";
     6    }
     7 
     8    function __destruct() {
     9        print "销毁 " . $this->name . "
    ";
    10    }
    11 }
    12 
    13 $obj = new MyDestructableClass();
    14 ?>

      执行结果为:

    构造函数
    销毁 MyDestructableClass

      5、继承

      单根继承,继承使用关键字extends,实现接口使用implements 

    三、结束语

      ok,php函数和对象已经学习完毕。注意,本教程属于快速学习教程,只关注一些语法重点和特殊、不同点。

  • 相关阅读:
    Manthan, Codefest 19 (open for everyone, rated, Div. 1 + Div. 2) D
    HDU 2036 求任意多边形面积板子题
    HDU 6703 array(主席树)
    2019牛客暑期多校训练营(第九场)H Cutting BamboosO(二分、主席树)
    lintcode-425-电话号码的字母组合
    lintcode-81-数据流中位数
    lintcode-424-逆波兰表达式求值
    lintcode-423-有效的括号序列
    lintcode-422-最后一个单词的长度
    lintcode-421-简化路径
  • 原文地址:https://www.cnblogs.com/MarkRao/p/php03.html
Copyright © 2020-2023  润新知