php学习

这篇具有很好参考价值的文章主要介绍了php学习。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

php基础语法

一 php程序

1.php标记

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

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

2.php代码


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

<?php
    echo 111,222;
    print 345;
?>

php学习,php,学习,开发语言

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,学习,开发语言

php标量类型介绍

一 php标量数据类型

php学习,php,学习,开发语言

echo 输出数据值,开发时使用
var_dump 可以打印数据类型和值,测试时使用 

1.布尔型

布尔型通常用于条件判断

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

php学习,php,学习,开发语言

2.整型

  • 整数不能包含逗号或空格
  • 整数是没有小数点的
  • 整数可以是正数或负数
  • 整型可以用三种格式来指定: 十进制、十六进制、八进制
    <?php
    $number = 0;
    var_dump($number);
    echo '<hr>';
    $number = 67;
    var_dump($number);
    echo '<hr>';
    $number = -322;
    var_dump($number);
    ?>

    php学习,php,学习,开发语言

3.浮点型

带小数部分的数字

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

php学习,php,学习,开发语言

4 字符串

  • 引号内的数据可以是单引号或双引号
  • 字符串不用引号会报错
  • 数字、浮点型、布尔型,用引号也属于字符串
<?php
    $str ='我是欧阳';
    var_dump($str);
    echo '<hr>';
    $str = 'My name is ou yang';
    var_dump($str);
?>

 php学习,php,学习,开发语言

一个汉字三个长度

ps

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

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

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

发现显示出的还是$str

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

php学习,php,学习,开发语言

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

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

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

php学习,php,学习,开发语言

二 php复合数据类型

php学习,php,学习,开发语言

三 php特殊数据类型

php学习,php,学习,开发语言

<?php
    $null;
    var_dump($null);
    echo  '<hr>';
    $null ='';
    var_dump($null);
    echo  '<hr>';
    $null = null;
    var_dump($null);
?>

 php学习,php,学习,开发语言

php数组类型

一 数组

1.空数组

<?php
    $arr = array();
    var_dump($arr);
    $arr = [];
    var_dump($arr);
?>

php学习,php,学习,开发语言

2.索引数组

<?php
    $arr = array(
        'ooii',
        'ww',
        'y'

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

php学习,php,学习,开发语言

输出键为0的值

<?php
    $arr = array(
        'ooii',
        'ww',
        'y'

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

php学习,php,学习,开发语言

3.关联数组

自定义键

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

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

php学习,php,学习,开发语言

输出一整个数组

print_r

<?php
    $arr = array(
        'qwe'=>'ooii',
        'ww',
        'y'

    );
    print_r($arr);
?>

php学习,php,学习,开发语言

看下print_r与var_dump的区别

第一行是print_r

第二行是var_dump

php学习,php,学习,开发语言

4.连接符

.

可以连接多个数据

    echo 'wy is:' . $arr[qwe];

php学习,php,学习,开发语言

二.php多维数组

1.二维数组

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

php学习,php,学习,开发语言

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)
?>

php学习,php,学习,开发语言

输出某一键值

    echo $arr[0]['name'];

php学习,php,学习,开发语言

三.php 数组循环

1.foreach

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

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

php学习,php,学习,开发语言

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>';
    }
?>

php学习,php,学习,开发语言

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

这里需要=>

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

php学习,php,学习,开发语言

3.循环多维数组

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

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

php学习,php,学习,开发语言

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

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

 php学习,php,学习,开发语言

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

<?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学习,php,学习,开发语言

php条件判断

1、三元运算符 ? :

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

否则error

    $str='ooii';
    echo $str ? 'i am ooii' : 'error';

php学习,php,学习,开发语言

    $str='';
    echo $str ? 'i am ooii' : 'error';

 php学习,php,学习,开发语言

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

php学习,php,学习,开发语言

4. if elseif else

wyy有值,则返回yes

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

php学习,php,学习,开发语言

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

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

php学习,php,学习,开发语言

5.switch default

进行条件匹配

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

php学习,php,学习,开发语言

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' => '踩踩踩'
    };
?>

php学习,php,学习,开发语言

与swtich区别

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

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

match 只支持单行表达式

match 匹配进行严格比较

php函数

一 函数介绍

1.函数判断

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

php学习,php,学习,开发语言

2.什么是函数

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

3.函数分类

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

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

二 系统函数

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

php学习,php,学习,开发语言

1.string字符串函数

php学习,php,学习,开发语言

<?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);
?>

php学习,php,学习,开发语言

2.array数组函数

php学习,php,学习,开发语言

<?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学习,php,学习,开发语言

三 php自定义函数

1.函数的自定义语法

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

2.调用函数

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

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

php学习,php,学习,开发语言

3.函数参数

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

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

php学习,php,学习,开发语言

  • 方法参数可以有默认值,有默认值可以不传值
  • 方法必须以返回的方式,不要用echo 输出的方式 
<?php
// 创建函数
function fun_name($name, $school = 'PHP中文网')
{
    return '我是:' . $name . ' from ' . $school;
}

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

 php学习,php,学习,开发语言

4.作用域

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

运算符

一.php运算符

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学习,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,学习,开发语言

三 php比较运算符

php学习,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>';

 php学习,php,学习,开发语言

1.==等于

<?php
var_dump( 100== 100 );
echo '<hr>';
var_dump( true =='true');
echo '<hr>';

php学习,php,学习,开发语言

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

2.===恒等于

<?php
var_dump( 100=== 100 );
echo '<hr>';
var_dump( true ==='true');
echo '<hr>';

php学习,php,学习,开发语言

判断类型 判断值

四 php逻辑运算符

php学习,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/>';

php学习,php,学习,开发语言

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/>';

php学习,php,学习,开发语言

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/>';

php学习,php,学习,开发语言

4 !取反

一个真、返回真。

两个真,返回假。

两个假,也返回假。

循环

1.while

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

php学习,php,学习,开发语言

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);

php学习,php,学习,开发语言

 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);

php学习,php,学习,开发语言

因为while先执行

do while先判断

3.for

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

php学习,php,学习,开发语言

4。continue

  • 结束当前循环,进入下次循环
  • 在循环语句中使用 while for
<?php
for( $int=1; $int<10;$int++){
    if($int == 5){
    //结束当前循环,进入下次循环
        continue;
    }
    var_dump($int);
    echo '<hr>';
}

 php学习,php,学习,开发语言

5、break

  • 结束循环
  • 在循环语句中使用 while forswitch
  • 可以跳出多层循环 
    <?php
    for( $int=1;$int<10;$int++){
        if($int == 5){
            //结束当前循环,进入下次循环
            break;
        }
        var_dump($int);
        echo '<hr>';
    }

    php学习,php,学习,开发语言

 类与对象

1、创建类

<?php
# 创建类
class Teacher{

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

2、复合数据类型

php学习,php,学习,开发语言

<?php
# 创建类
class Teacher{

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

php学习,php,学习,开发语言

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 '<hr/>';
  echo $ouyang->school;

 php学习,php,学习,开发语言

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();

php学习,php,学习,开发语言 

  • 类里成员有两种:属性(变量)和行为(方法)

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学习,php,学习,开发语言

析构方法

<?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();

php学习,php,学习,开发语言

类的三大特性

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

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();

    php学习,php,学习,开发语言

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中文网<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 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();

 php学习,php,学习,开发语言

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();

 php学习,php,学习,开发语言

命名空间

1、命名空间

  • 解决全局成员的命名冲突问题
    <?php
    function php(){
    
    }
    function php(){
    
    }

php学习,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();
}

php学习,php,学习,开发语言

 4、子命名空间

就跟windows目录一样\文章来源地址https://www.toymoban.com/news/detail-818832.html

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{
		
	}
}

到了这里,关于php学习的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • day4 驱动开发 c语言学习

    不利用系统提供的register_chrdev,自己实现字符设备的注册 底层代码 led.c 应用层代码 app.c 头文件 head.h

    2024年02月14日
    浏览(39)
  • 一般开发Unity 使用什么语言,需要学习什么知识

    一般来说,开发Unity使用的是C#语言。要学习Unity开发,你需要学习的知识包括: C#语言的基础知识 Unity的基本使用方法 常用的游戏编程模式,如游戏循环、场景切换、碰撞检测等 了解游戏对象、资源、动画、物理等概念 了解常用的游戏开发插件和工具,如脚本编辑器、版本

    2024年02月13日
    浏览(55)
  • HarmonyOS北向开发(软件开发方向)基于ArkTS 入门学习 (1) - 开发语言及环境配置

            建议快速阅读一遍,不要求记住。知道一个大概框架即可,方便以后查阅开发文档 开发语言 - ArkTS          HarmonyOS主要的开发语言                 未来版本的HarmonyOS的主要开发语言将会是ArkTS,在Devco Studio创建项目的时候,选择API 9 开发的情况下,只能使

    2024年01月21日
    浏览(49)
  • HarmonyOS学习路之方舟开发框架—学习ArkTS语言(基本语法 五)

    如果每个组件的样式都需要单独设置,在开发过程中会出现大量代码在进行重复样式设置,虽然可以复制粘贴,但为了代码简洁性和后续方便维护,我们推出了可以提炼公共样式进行复用的装饰器@Styles。 @Styles装饰器可以将多条样式设置提炼成一个方法,直接在组件声明的位

    2024年02月17日
    浏览(53)
  • HarmonyOS学习路之方舟开发框架—学习ArkTS语言(基本语法 一)

    ArkTS是HarmonyOS优选的主力应用开发语言。ArkTS围绕应用开发在 TypeScript (简称 TS )生态基础上做了进一步扩展,继承了 TS 的所有特性,是 TS 的超集。因此,在学习 ArkTS 语言之前,建议开发者具备 TS 语言开发能力。 当前, ArkTS 在 TS 的基础上主要扩展了如下能力: 基本语法:

    2024年02月16日
    浏览(66)
  • HarmonyOS学习路之方舟开发框架—学习ArkTS语言(基本语法 四)

    当创建了自定义组件,并想对该组件添加特定功能时,例如在自定义组件中添加一个点击跳转操作。若直接在组件内嵌入事件方法,将会导致所有引入该自定义组件的地方均增加了该功能。为解决此问题,ArkUI引入了@BuilderParam装饰器,@BuilderParam用来装饰指向@Builder方法的变量

    2024年02月17日
    浏览(52)
  • HarmonyOS学习路之方舟开发框架—学习ArkTS语言(基本语法 二)

    在ArkUI中,UI显示的内容均为组件,由框架直接提供的称为系统组件,由开发者定义的称为自定义组件。在进行 UI 界面开发时,通常不是简单的将系统组件进行组合使用,而是需要考虑代码可复用性、业务逻辑与UI分离,后续版本演进等因素。因此,将UI和部分业务逻辑封装成

    2024年02月04日
    浏览(53)
  • HarmonyOS学习路之方舟开发框架—学习ArkTS语言(基本语法 三)

    在开始之前,先明确自定义组件和页面的关系: 自定义组件: @Component 装饰的 UI 单元,可以组合多个系统组件实现 UI 的复用。 页面:即应用的 UI 页面。可以由一个或者多个自定义组件组成, @Entry 装饰的自定义组件为页面的入口组件,即页面的根节点,一个页面有且仅能有

    2024年02月16日
    浏览(59)
  • HarmonyOS学习路之方舟开发框架—学习ArkTS语言(状态管理 二)

    @Prop装饰的变量可以和父组件建立单向的同步关系。@Prop装饰的变量是可变的,但是变化不会同步回其父组件。 @Prop装饰的变量和父组件建立单向的同步关系: @Prop变量允许在本地修改,但修改后的变化不会同步回父组件。 当父组件中的数据源更改时,与之相关的@Prop装饰的变

    2024年02月14日
    浏览(45)
  • HarmonyOS学习路之方舟开发框架—学习ArkTS语言(状态管理 六)

    AppStorage是应用全局的UI状态存储,是和应用的进程绑定的,由UI框架在应用程序启动时创建,为应用程序UI状态属性提供中央存储。 和LocalStorage不同的是,LocalStorage是页面级的,通常应用于页面内的数据共享。而对于AppStorage,是应用级的全局状态共享。 AppStorage是在应用启动

    2024年02月20日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包