PHP学习笔记4-类/命名空间/成员方法/类方法

时间:2023-03-09 07:06:18
PHP学习笔记4-类/命名空间/成员方法/类方法

命名空间 namespace   类 class
创建文件Hello.php,namespace是jikexueyuan:

 <?php
 /**
  * Created by PhpStorm.
  * User: Administrator
  * Date: 2015/6/28
  * Time: 13:41
  */
 //命名空间
 namespace jikexueyuan;

 class Hello {
     public function sayHello(){
         echo 'Hello jikexueyuan<br/>';
     }
 }

再创建文件Hello.php,namespace是jkxy:

 <?php
 /**
  * Created by PhpStorm.
  * User: Administrator
  * Date: 2015/6/28
  * Time: 13:44
  */
 //命名空间
 namespace jkxy;

 class Hello {
     public function sayHello(){
         echo 'Hello jkxy<br/>';
     }
 }

创建文件index.php:

 <?php
 /**
  * Created by PhpStorm.
  * User: Administrator
  * Date: 2015/6/28
  * Time: 12:43
  */
 header("Content-type: text/html; charset=utf-8");
 require_once 'jkxy/Hello.php';//require_once:调用一个文件
 require_once 'jikexueyuan/Hello.php';

 $h = new \jkxy\Hello();//创建类的实例
 $h->sayHello();//通过实例访问内部功能

 $d = new \jikexueyuan\Hello();
 $d->sayHello();

require_once调用文件jkxy/Hello.php和jikexueyuan/Hello.php,在通过实例化类访问类的内部功能

构造方法:会在创建类的实例的时候执行

创建文件Man.php

 <?php
 /**
  * Created by PhpStorm.
  * User: Administrator
  * Date: 2015/6/28
  * Time: 13:56
  */

 class Man {

     /**
      * @param int $age 年龄//传入参数的类型
      * @param string $name 名字
      */
     public function __construct($age,$name){
 //        echo 'Construct a man';
         $this->_age = $age;//通过this记录下来
         $this->_name = $name;
         }
     }
     public function getAge(){//外界可以访问
         return $this->_age;
     }

     public function getName(){
         return $this->_name;
     }

     private $_age,$_name;
 }

在index.php中用下面方式使用:

 require_once 'Man.php';
 $m = new Man(20,"Vito");//会在创建类的实例的时候执行
 echo $m->getName();
 echo $m->getAge();

成员方法 举例:

 public function getAge(){//成员方法
         return $this->_age;
     }

静态方法/静态常量/静态变量  在Man.php中添加如下代码:

 public static function say_Hello(){//静态方法:主要用来描述类属性
         echo "Hello PHP";
     }
     private static $NUM = 0;//静态变量
     const MAX_MAN_NUM = 200;//静态常量

在index.php中执行静态方法:

 Man::say_Hello();//执行静态方法

在Man.php中添加代码,在index.php中用到静态变量和静态常量:

 Man::$NUM++;//每创建一次就自加
         if(Man::$NUM>Man::MAX_MAN_NUM){
             throw new Exception("不能创建更多");
         }

在index.php中使用静态变量和静态常量

 for($i=0;$i<Man::MAX_MAN_NUM;$i++){
     new Man(10,"Vito");
 }