php学习

php基础语法

一 php程序

1.php标记

开始标记<?php 和结束标记 ?>中间写 PHP 代码

当解析一个文件时,PHP 会寻找起始和结束标记,也就是告诉php 开始和停止解析二者之间的代码。此种解析方式使得PHP 可以被嵌入到各种不同的文档中去,而任何起始和结束标记之外的部分都会被 PHP 解析器忽略

2.php代码

echo ----->可以输出一个或多个字符串,用逗号(,)隔开

print ----->只允许输出一个字符串

复制代码
<?php
    echo 111,222;
    print 345;
?>

3.语句结束符 ;

4.注释

// ----->单行注释

/*

*/ ------>多行注释

二 php变量

1、声明变量

复制代码
<?php
    $a='ooii';
    echo $a;
?>

2.赋值运算符

=

3.变量命名规则

  • 开头不能用数字

  • 中间不能有空格

    <?php $a_new='ooii'; //下划线命名法 echo $a_new; $a_New='ooi'; //小驼峰命名法 echo $a_New; $A_New='oo'; //大驼峰命名法 echo $A_New; ?>

php标量类型介绍

一 php标量数据类型

echo 输出数据值,开发时使用

var_dump 可以打印数据类型和值,测试时使用

1.布尔型

布尔型通常用于条件判断

复制代码
<?php
    $x = true;
    var_dump($x);
    echo '<hr>';
    $y = false;
    var_dump($y);
?>

2.整型

  • 整数不能包含逗号或空格

  • 整数是没有小数点的

  • 整数可以是正数或负数

  • 整型可以用三种格式来指定: 十进制、十六进制、八进制

    复制代码
    <?php
    $number = 0;
    var_dump($number);
    echo '<hr>';
    $number = 67;
    var_dump($number);
    echo '<hr>';
    $number = -322;
    var_dump($number);
    ?>

3.浮点型

带小数部分的数字

复制代码
<?php
    $number = 10.03;
    var_dump($number);
    echo '<hr>';
    $number = -88.23;
    var_dump($number);
?>

4 字符串

  • 引号内的数据可以是单引号或双引号

  • 字符串不用引号会报错

  • 数字、浮点型、布尔型,用引号也属于字符串

    <?php $str ='我是欧阳'; var_dump($str); echo '
    '; $str = 'My name is ou yang'; var_dump($str); ?>

一个汉字三个长度

ps

这里说明一下单引号和双引号的区别

简而言之 就是双引号可以解析变量

在单引号的情况下,我们在第二个str变量中引入第一个str变量

发现显示出的还是$str

复制代码
<?php
    $str ='我是欧阳';
    var_dump($str);
    echo '<hr>';
    $str = '$str My name is ou yang';
    var_dump($str);
?>

但是我们如果使用双引号来包裹第二个变量

复制代码
<?php
    $str ='我是欧阳';
    var_dump($str);
    echo '<hr>';
    $str = "$str My name is ou yang";
    var_dump($str);
?>

就可以发现第一个变量被引入了

二 php复合数据类型

三 php特殊数据类型

复制代码
<?php
    $null;
    var_dump($null);
    echo  '<hr>';
    $null ='';
    var_dump($null);
    echo  '<hr>';
    $null = null;
    var_dump($null);
?>

php数组类型

一 数组

1.空数组

复制代码
<?php
    $arr = array();
    var_dump($arr);
    $arr = [];
    var_dump($arr);
?>

2.索引数组

复制代码
<?php
    $arr = array(
        'ooii',
        'ww',
        'y'

    );
    var_dump($arr);
    echo '<hr>';
    $arr = [
        'ooii',
        'ww',
        'y'
    ];
    var_dump($arr);
?>

输出键为0的值

复制代码
<?php
    $arr = array(
        'ooii',
        'ww',
        'y'

    );
    var_dump($arr[0]);
?>

3.关联数组

自定义键

复制代码
<?php
    $arr = array(
        'qwe'=>'ooii',  //ooii这一值的键定义为qwe
        'ww',
        'y'

    );
    var_dump($arr['qwe']);   
?>

输出一整个数组

print_r

复制代码
<?php
    $arr = array(
        'qwe'=>'ooii',
        'ww',
        'y'

    );
    print_r($arr);
?>

看下print_r与var_dump的区别

第一行是print_r

第二行是var_dump

4.连接符

.

可以连接多个数据

复制代码
    echo 'wy is:' . $arr[qwe];

二.php多维数组

1.二维数组

复制代码
<?php
    $arr = array(
        array(
            'ooii'
        ),
        array(
            'ww'
        ),
        array(
            'yy'
        ),
    );
    print_r($arr);
    echo '<hr>';
    var_dump($arr);
?>

2.三维数组

复制代码
<?php
    $arr = [
        [
            'name' => '欧阳',
            'school' => 'PHP中文网',
            'gongfu' => [
                'PHP',
                '小程序',
                'layui',
                'Thinkphp'
            ]
        ],
        [
            'name' => '西内',
            'school' => 'PHP中文网',
            'gongfu' => [
                'PHP',
                'Thinkphp',
                'Laravel',
                '实战项目'
            ]
        ],
        [
            'name' => '强灭绝',
            'school' => 'PHP中文网',
            'gongfu' => [
                'HTML',
                'PHP',
                'layui',
                'Thinkphp'
            ]
        ]
    ];
    print_r($arr)
?>

输出某一键值

复制代码
    echo $arr[0]['name'];

三.php 数组循环

1.foreach

复制代码
<?php
    $arr = array(
        'ouyang' => '欧阳',
        'ximen' => '西门',
        'miejue' => '强灭绝'
    );

    foreach ($arr as $v) {  //as 是给予 $v是循环每次value的值
        echo $v;
        echo '<hr>';
    }
?>

2.key value的循环

我们可以通过num循环来体现一下

复制代码
<?php
    $arr = array(
        'ouyang' => '欧阳',
        'ximen' => '西门',
        'miejue' => '强灭绝'
    );
    $num=1;
    foreach ($arr as $v) {  
        echo $v;
        $num=$num+1;
        echo $num;
        echo '<hr>';
    }
?>

那么刚才循环的是值 我们看看能不能循环key

这里需要=>

复制代码
<?php
    $arr = array(
        'ouyang' => '欧阳',
        'ximen' => '西门',
        'miejue' => '强灭绝'
    );
    foreach ($arr as $k =>$v) {
        echo $k.$v;
        echo '<hr>';
    }
?>

3.循环多维数组

复制代码
<?php
    $arr = [
        [
            'name' => '强欧阳',
            'school' => 'PHP中文网'
        ],
        [
            'name' => '西门',
            'school' => 'PHP中文网'
        ],
        [
            'name' => '强灭绝',
            'school' => 'PHP中文网'
        ]
    ];

    foreach ($arr as $k => $v) {
        print_r($v);
        echo '<hr>';
    }
?>
复制代码
<?php
    $arr = [
        [
            'name' => '强欧阳',
            'school' => 'PHP中文网'
        ],
        [
            'name' => '西门',
            'school' => 'PHP中文网'
        ],
        [
            'name' => '强灭绝',
            'school' => 'PHP中文网'
        ]
    ];

    foreach ($arr as $k => $v) {
        echo $v['name'].$v['school'];
        echo '<hr>';
    }
?>

这里可以看出循环先从外层数组开始

复制代码
<?php
    $arr = [
        [
            'name' => '强欧阳',
            'school' => 'PHP中文网'
        ],
        [
            'name' => '西门',
            'school' => 'PHP中文网'
        ],
        [
            'name' => '强灭绝',
            'school' => 'PHP中文网'
        ]
    ];

    foreach ($arr as $k => $v) {
        foreach($v as $vv){
            echo $vv;
            echo '<hr>';
        }
    }
?>

php条件判断

1、三元运算符 ? :

若str变量有值 则返回 i am ooii

否则error

复制代码
    $str='ooii';
    echo $str ? 'i am ooii' : 'error';
复制代码
    $str='';
    echo $str ? 'i am ooii' : 'error';

2.if

复制代码
<?php
    $wy='ooii';
    if($wy){
        echo 'i am ooii';
    }

如果wy变量有值,则返回i am ooii

3. if else

复制代码
<?php
    $wy='';
    if($wy){
        echo 'i am ooii';
    }else{
        echo 'error';
    }

wy变量为空,则返回 error

4. if elseif else

wyy有值,则返回yes

复制代码
<?php
    $wy='';
    $wyy='ooii';
    if($wy){
        echo 'i am ooii';
    }elseif($wyy){
        echo 'yes';
    }else{
        echo'error';
    }

如果wy wyy的值都为空,则返回error

复制代码
<?php
    $wy='';
    $wyy='';
    if($wy){
        echo 'i am ooii';
    }elseif($wyy){
        echo 'yes';
    }else{
        echo'error';
    }

5.switch default

进行条件匹配

复制代码
<?php
    $wy='ooii';
    switch($wy){
        case 'ooii':
            echo 'i am ooii';
            break;
        case 'oi':
            echo 'error';
            break;
        default:
            echo $wy;
    }

6.php8新特性 match

这里php版本需要到8

复制代码
<?php
    $wy = 'aaa';
    switch ($wy) {
        case 'ooii':
            echo 'i am ooii';
            break;
        case 'oi':
            echo 'error';
            break;
        default:
            echo $wy;
    }

    echo match ($wy) {
        'aaa' => '啊啊啊',
        'bbb' => '不不不',
        'ccc' => '踩踩踩'
    };
?>

与swtich区别

match 是表达式 要增加结束符号

match 可以返回给变量 或者直接输出

match 只支持单行表达式

match 匹配进行严格比较

php函数

一 函数介绍

1.函数判断

复制代码
<?php
if($wy){
    echo 'ooii';
}
if(isset($wy)){
    echo 'ooi';
}
if(empty($wy)){
    echo 'oo';
}
?>

2.什么是函数

  • 函数是一段可以重复执行的代码片断
  • 函数是实现代码复用的重要手段。
  • 函数是现代编程语言最重要的基本单元
  • 函数永远是编程的核心工作

3.函数分类

根据函数的提供者(编写者),分为二类

  • 系统函数: 编程语言开发者事先写好提供给开发者直接使用的
  • 自定义函数: 用户根据自身需求,对系统功能进行扩展

二 系统函数

PHP 的真正力量来自它的函数:它拥有超过 1000个内建的函数

1.string字符串函数

复制代码
<?php
//将宇符串转化为小写
$ouyang ='OUYANGKE';
echo strtolower($ouyang);
echo '<hr>';
//将字符串转化为大写
$miejue ='miejueshitai';
echo strtoupper($miejue);
echo '<hr>';
//将字符串分割为数组
$php='欧阳克,灭绝师太,西门大官人,天';
print_r(explode(',',$php));
echo '<hr>';
//将字符串进行md5加密
$ximen ='西门大官人';
echo md5($ximen);
?>

2.array数组函数

复制代码
<?php
$arr=[
    '欧阳克',
    '灭绝师太',
    '西门大官人',
    '天'
];
//数组中元素的数量
echo count($arr);
echo '<hr>';
// 把数组元素组合为字符串
echo implode(',',$arr);
echo '<hr>';
//数组中是否存在指定的值
echo in_array('天',$arr);
echo '<hr>';
//删除数组中的最后一个元素
array_pop($arr);
print_r($arr);
?>

三 php自定义函数

1.函数的自定义语法

复制代码
//创建函数
function fun_name(参数列表)
{
//函数体:由一条或多条语句组成,可以为空
}
  • 必须使用关键字: function 声明
  • 函数名称不区分大小写,多个单词推荐使用下划线连接

2.调用函数

复制代码
<?php
//创建函数
function fun_name()
{
    return'我是wy';
}

// 调用函数
echo fun_name();
?>

3.函数参数

复制代码
<?php
//创建函数
function fun_name($name)
{
    return'我是:'.$name ;
}

//调用函数
echo fun_name('ooii');
?>
  • 方法参数可以有默认值,有默认值可以不传值

  • 方法必须以返回的方式,不要用echo 输出的方式

    <?php // 创建函数 function fun_name($name, $school = 'PHP中文网') { return '我是:' . $name . ' from ' . $school; }

    // 调用函数
    echo fun_name('ooii', '过去');
    ?>

4.作用域

  • php中,只有函数作用域和全局作用域
  • 所有函数作用域中的变量,外部不可见
  • 全局作用域声明变量,在函数中是可见的

运算符

一.php运算符

复制代码
<?php
var_dump(120+80);
echo '<hr>';
var_dump(120-80);
echo '<hr>';
var_dump( 120*80);
echo '<hr>';
var_dump(120/80);
echo '<hr>';
var_dump( 120%80);
echo '<hr>';
$num = 120;
var_dump( $num++);
echo '<hr>';
var_dump( $num--);
echo '<hr>';
var_dump( ++$num);
echo '<hr>';
var_dump(--$num);
echo '<hr>';
var_dump(120.80);
echo '<hr>';
$var1 ='PHP讲师:';
$var2 ='欧阳';
var_dump( $var1 .$var2);
  • 两个变量连接,没问题
  • 一个变量和字符串,没问题
  • 一个变量连接整型,必须在整型前加个空格

二 php赋值运算符

复制代码
<?php
$int = 120;
var_dump($int);
echo '<hr>';
$int += 30;
var_dump( $int);
echo '<hr>';
$int = $int + 30;
var_dump($int);
echo '<hr>';
$int -= 30;
var_dump( $int);
echo '<hr>';
$int *= 30;
var_dump( $int);
echo '<hr>';
$int /= 30;
var_dump( $int);
echo '<hr>';
$int %= 30;
var_dump( $int);
echo '<hr>';
$int .= 30;
var_dump( $int);

三 php比较运算符

复制代码
<?php
var_dump( 100 >100 );
echo '<hr>';
var_dump(100>90);
echo '<hr>';
var_dump( 100 >110 );
echo '<hr>';
var_dump( true >false );
echo '<hr>';
var_dump('php'>'php');
echo '<hr>';

1.==等于

复制代码
<?php
var_dump( 100== 100 );
echo '<hr>';
var_dump( true =='true');
echo '<hr>';

这是不判断类型的 只判断值

2.===恒等于

复制代码
<?php
var_dump( 100=== 100 );
echo '<hr>';
var_dump( true ==='true');
echo '<hr>';

判断类型 判断值

四 php逻辑运算符

1. and和&&

两个真 返回真

一个假 返回假

复制代码
<?php
var_dump( 100 && 30);
echo '<hr/>';
var_dump( true && true );
echo '<hr/>';
var_dump( true and false );
echo '<hr/>';
var_dump( false and false );
echo '<hr/>';

2.or和||

一个真,返回真。

两个真,返回真。

两个假,返回假

复制代码
<?php
var_dump( 120||80 );
echo '<hr/>';
var_dump( true||true );
echo '<hr/>';
var_dump( true or false );
echo '<hr/>';
var_dump( false or false );
echo '<hr/>';

3.xor

一个真、返回真。

两个真,返回假。

两个假,也返回假

复制代码
<?php
var_dump(0 xor 1);
echo '<hr/>';
var_dump( true xor true );
echo '<hr/>';
var_dump( true xor false );
echo '<hr/>';
var_dump(false xor false );
echo '<hr/>';

4 !取反

一个真、返回真。

两个真,返回假。

两个假,也返回假。

循环

1.while

复制代码
<?php
$int = 1;
while($int<10 ){
    echo $int;
    echo '<hr/>';
    $int ++;
}

2.do while

复制代码
<?php
$int = 1;
while($int<10 ){
    echo $int;
    echo '<hr/>';
    $int ++;
}

$int = 1;
do{
    $int ++;
    echo $int;
    echo '<hr/>';
}while($int<10);

while与do while的区别

我们把条件改成int<1 显而易见条件不满足

但是结果有2

我们看下是谁执行的

复制代码
<?php
$int = 1;
while($int<1 ){
    echo $int;
    echo '<hr/>';
    $int ++;
    echo 'while执行';
}

$int = 1;
do{
    $int ++;
    echo $int;
    echo '<hr/>';
    echo 'do while执行';
}while($int<1);

因为while先执行

do while先判断

3.for

复制代码
<?php
for( $int=1;$int<10; $int++){
    echo $int;
    echo '<hr>';
}

4。continue

  • 结束当前循环,进入下次循环

  • 在循环语句中使用 while for

    <?php for( $int=1; $int<10;$int++){ if($int == 5){ //结束当前循环,进入下次循环 continue; } var_dump($int); echo '
    '; }

5、break

  • 结束循环

  • 在循环语句中使用 while forswitch

  • 可以跳出多层循环

    复制代码
    <?php
    for( $int=1;$int<10;$int++){
        if($int == 5){
            //结束当前循环,进入下次循环
            break;
        }
        var_dump($int);
        echo '<hr>';
    }

类与对象

1、创建类

复制代码
<?php
# 创建类
class Teacher{

}
# 调用类(实例化)
$ouyang = new Teacher();
$miejue = new Teacher();
$ximen = new Teacher();

2、复合数据类型

复制代码
<?php
# 创建类
class Teacher{

}
# 调用类(实例化)
$ouyang = new Teacher();
$miejue = new Teacher();
$ximen = new Teacher();
var_dump($ouyang);
var_dump($miejue);
var_dump($ximen);

3、对象

复制代码
var_dump($ouyang == $miejue);
echo '<hr/>';
var_dump($miejue == $ximen);
echo '<hr/>';
var_dump($ouyang == $ximen);

4、成员变量

  • 成员变量,也叫: 类属性

    <?php # 创建类 class Teacher{ public $name = 'aa'; public $school = 'PHP中文网'; } $ouyang = new Teacher(); echo $ouyang->name; echo '
    '; echo $ouyang->school;

5、成员方法

复制代码
<?php
class Teacher{
    public $name = 'ooii';
    public $school = 'PHP中文网';
    
    public function fun1(){
      echo '姓名:ooii,学校:PHP中文网<hr/>';
    }
    public function fun2(){
      return '姓名:ooii,学校:PHP中文网<hr/>';
    }
    public function fun3(){
      // 在类中使用伪变量: "$this" 引用当前类的成员变量
      return '姓名:'.$this->name.',学校:'.$this->school.'<hr/>';
    }
    public function fun4(){
      // 在类中使用伪变量: "$this" 引用当前类的成员方法
      return $this->fun3();
    }
  }
  // 类实例化
  $yangmi = new Teacher();
  $yangmi->fun1();
  echo $yangmi->fun2();
  echo $yangmi->fun3();
  echo $yangmi->fun4();
  • 类里成员有两种:属性(变量)和行为(方法)

4、魔术方法

构造方法

复制代码
<?php
class Teacher{
    public $name;
    public $school;
    // 构造方法
    public function __construct($name, $school){
      $this->name = $name;
      $this->school = $school;
    }
    public function fun1(){
      echo '姓名:灭绝师太,学校:PHP中文网<hr/>';
    }
    public function fun2(){
      return '姓名:灭绝师太,学校:PHP中文网<hr/>';
    }
    public function fun3(){
      // 在类中使用伪变量: "$this" 引用当前类的成员变量
      return '姓名:'.$this->name.',学校:'.$this->school.'<hr/>';
    }
    public function fun4(){
      // 在类中使用伪变量: "$this" 引用当前类的成员方法
      return $this->fun3();
    }
  }
  // 实例化
  $obj = new Teacher('aa','bb');
  echo $obj->fun4();

析构方法

复制代码
<?php
class Teacher{
    public $name;
    public $school;
    // 构造方法
    public function __construct($name, $school){
      $this->name = $name;
      $this->school = $school;
    }
    public function fun1(){
      echo '姓名:灭绝师太,学校:PHP中文网<hr/>';
    }
    public function fun2(){
      return '姓名:灭绝师太,学校:PHP中文网<hr/>';
    }
    public function fun3(){
      // 在类中使用伪变量: "$this" 引用当前类的成员变量
      return '姓名:'.$this->name.',学校:'.$this->school.'<hr/>';
    }
    public function fun4(){
      // 在类中使用伪变量: "$this" 引用当前类的成员方法
      return $this->fun3();
    }
    // 析构方法
    public function __destruct(){
      echo '类执行完毕,要关闭了';
    }
  }
  // 实例化
  $obj = new Teacher('aa','bb');
  echo $obj->fun3();

类的三大特性

  • 继承:可以让某个类型的对象获得另一个类型的对象的属性和方法
  • 封装:指将客观事物抽象成类,每个类对自身的数据和方法实行保护
  • 多态:指同一个实体同时具有多种形式,它主要体现在类的继承体系

1.继承

  • extends 关键词继承父类

    复制代码
    <?php
    class Teacher{
        public $name;
        public $school;
        // 构造方法
        public function __construct($name, $school){
          $this->name = $name;
          $this->school = $school;
        }
        public function fun1(){
          echo '姓名:灭绝师太,学校:PHP中文网<hr/>';
        }
        public function fun2(){
          return '姓名:灭绝师太,学校:PHP中文网<hr/>';
        }
        public function fun3(){
          // 在类中使用伪变量: "$this" 引用当前类的成员变量
          return '姓名:'.$this->name.',学校:'.$this->school.'<hr/>';
        }
        public function fun4(){
          // 在类中使用伪变量: "$this" 引用当前类的成员方法
          return $this->fun3();
        }
        // 析构方法
        public function __destruct(){
          echo '类执行完毕,要关闭了';
        }
      }
    // 子类代码复用
    class PHPTeacher extends Teacher{
    
    }
      // 实例化
      $obj = new PHPTeacher('aa','bb');
      echo $obj->fun3();

2、封装

  • public 默认的, 关键词定义类内、类外、子类都可见

  • protected 关键词定义类内、子类可见,类外不可见

  • private 关键词定义类内可见, 子类、类外不可见

    <?php class Teacher{ protected $name; private $school; // 构造方法 public function __construct($name, $school){ $this->name = $name; $this->school = $school; } protected function fun1(){ echo '姓名:灭绝师太,学校:PHP中文网
    '; } private function fun2(){ return '姓名:灭绝师太,学校:PHP中文网
    '; } public function fun3(){ // 在类中使用伪变量: "$this" 引用当前类的成员变量 return '姓名:'.$this->name.',学校:'.$this->school.'
    '; } public function fun4(){ // 在类中使用伪变量: "$this" 引用当前类的成员方法 return $this->fun3(); } // 析构方法 public function __destruct(){ echo '类执行完毕,要关闭了'; } } // 子类代码复用 class PHPTeacher extends Teacher{ public function fun5(){ $this->fun1(); } public function fun6(){ $this->fun2(); } public function fun7(){ return $this->name; } public function fun8(){ return $this->school; } } // 实例化 $obj = new Teacher('西门大官人','PHP中文网'); echo $obj->fun1(); echo $obj->fun2(); echo $obj->name; echo $obj->school; $obj2 = new PHPTeacher('西门大官人','PHP中文网'); echo $obj2->fun1(); echo $obj2->fun2(); echo $obj2->fun5(); echo $obj2->fun6(); echo $obj2->fun7(); echo $obj2->fun8();

3、多态

  • 实现多态的前提是要先继承,在重写父类方法

    复制代码
    <?php
    class Teacher{
        protected $name;
        private $school;
        // 构造方法
        public function __construct($name, $school){
          $this->name = $name;
          $this->school = $school;
        }
        protected function fun1(){
          echo '姓名:灭绝师太,学校:PHP中文网<hr/>';
        }
        private function fun2(){
          return '姓名:灭绝师太,学校:PHP中文网<hr/>';
        }
        public function fun3(){
          // 在类中使用伪变量: "$this" 引用当前类的成员变量
          return '姓名:'.$this->name.',学校:'.$this->school.'<hr/>';
        }
        public function fun4(){
          // 在类中使用伪变量: "$this" 引用当前类的成员方法
          return $this->fun3();
        }
        // 析构方法
        public function __destruct(){
          echo '类执行完毕,要关闭了';
        }
      }
      // 子类代码复用
      class PHPTeacher extends Teacher{
        public function fun5(){
          $this->fun1();
        }
        public function fun6(){
          $this->fun2();
        }
        public function fun4(){
          return '我是重写的方法';
        }
      }
      $obj2 = new PHPTeacher('西门大官人','PHP中文网');
      echo $obj2->fun4();

命名空间

1、命名空间

  • 解决全局成员的命名冲突问题

    复制代码
    <?php
    function php(){
    
    }
    function php(){
    
    }

2、创建命名空间

  • 命名空间使用 "namespace" 关键字声明

    <?php namespace one{ function php(){
    复制代码
      }

    }
    namespace two{
    function php(){

    复制代码
      }

    }

3、常量、函数、类

复制代码
<?php
namespace one{
	const NAME = '灭绝师太';
	$name = '灭绝师太';
	function php(){

	}
	class phpcn{

	}
}
namespace two{
	const NAME = '西门大官人';
	$name = '西门大官人';
	function php(){

	}
	class phpcn{
		
	}
}
namespace three{
	echo $name;
	echo NAME;
	php();
	new phpcn();
}

4、子命名空间

就跟windows目录一样\

复制代码
namespace{
	const NAME = '灭绝师太';
	function php(){

	}
	class phpcn{

	}
}
namespace one{
	const NAME = '西门大官人';
	function php(){

	}
	class phpcn{
		
	}
}
namespace one\two{
	const NAME = '西门大官人';
	function php(){

	}
	class phpcn{
		
	}
}
namespace one\two\three{
	const NAME = '西门大官人';
	function php(){

	}
	class phpcn{
		
	}
}
相关推荐
ServBay26 分钟前
垃圾堆里编码?真的不要怪 PHP 不行
后端·php
用户962377954483 小时前
CTF 伪协议
php
BingoGo2 天前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php
JaguarJack2 天前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php·服务端
BingoGo3 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php
JaguarJack3 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php·服务端
JaguarJack4 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
后端·php·服务端
BingoGo4 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
php
JaguarJack5 天前
告别 Laravel 缓慢的 Blade!Livewire Blaze 来了,为你的 Laravel 性能提速
后端·php·laravel
郑州光合科技余经理6 天前
代码展示:PHP搭建海外版外卖系统源码解析
java·开发语言·前端·后端·系统架构·uni-app·php