博客
关于我
PHP学习(二)
阅读量:134 次
发布时间:2019-02-26

本文共 1490 字,大约阅读时间需要 4 分钟。

魔术变量

魔术变量是PHP中一种特殊的变量,它们可以从代码中消失或改变其值,具体取决于它们的使用环境。这些变量在开发中非常有用,因为它们可以提供关于代码执行环境的信息。

以下是常见的魔术变量及其作用:

  • LINE

    表示当前文件的行号。

  • FILE

    表示文件的完整路径和文件名。

  • DIR

    表示文件所在的目录。

  • FUNCTION

    表示当前函数的名称。

  • CLASS

    表示当前类的名称。

  • TRAIT

    表示当前trait的名称。

  • METHOD

    表示当前方法的名称。

  • NAMESPACE

    表示当前命名空间的名称。

命名空间

在PHP中,命名空间用于组织代码,避免全局冲突。命名空间必须在文件的最开始部分定义,不能有其他代码出现在其前面。

如何定义命名空间

namespace MyProject {    const CONNECT_OK = 1;    class Connection {        /* ... */    }    function connect() {        /* ... */    }}

如果需要定义多个命名空间,可以使用如下方式:

namespace MyProject {    // ... }namespace {    session_start();    $a = MyProject\connect();    echo MyProject\Connection::start();}

注意:在定义命名空间之前,唯一允许的代码是declare语句,用于定义编码方式或包含非命名空间代码。

declare(encoding='UTF-8');namespace MyProject;

面向对象

PHP支持面向对象编程,通过类、Trait和Interface定义对象。

类的定义

abstract class fruits {    const ft = "水果";    protected $name;    public static $amount;    abstract protected function buying;    function __construct() {        self::$amount = 6;    }    function eaten() {        self::$amount++;        echo self::$amount . "
"; } function __destruct() { echo "fruits被销毁" . "
"; }}final class apple extends fruits { function __construct() { self::$amount = 6; } protected function buying() { return "I buy an apple"; } function eaten() { parent::eaten(); echo "我吃了一个苹果" . "
"; }}$apple = new apple();echo $apple::$amount . "
";echo apple::$amount . "
";echo $apple::ft . "
";echo apple::ft . "
";$apple->eaten();

转载地址:http://gtkf.baihongyu.com/

你可能感兴趣的文章
Openlayers高级交互(8/20):选取feature,平移feature
查看>>
Openlayers高级交互(9/20):编辑图形(放缩、平移、变形、旋转),停止编辑
查看>>
Openlayers:DMS-DD坐标形式互相转换
查看>>
openlayers:圆孔相机根据卫星经度、纬度、高度、半径比例推算绘制地面的拍摄的区域
查看>>
OpenLDAP(2.4.3x)服务器搭建及配置说明
查看>>
OpenLDAP编译安装及配置
查看>>
Openmax IL (二)Android多媒体编解码Component
查看>>
OpenMCU(一):STM32F407 FreeRTOS移植
查看>>
OpenMCU(三):STM32F103 FreeRTOS移植
查看>>
OpenMCU(三):STM32F103 FreeRTOS移植
查看>>
OpenMCU(二):GD32E23xx FreeRTOS移植
查看>>
OpenMCU(五):STM32F103时钟树初始化分析
查看>>
OpenMCU(四):STM32F103启动汇编代码分析
查看>>
OpenMetadata 命令执行漏洞复现(CVE-2024-28255)
查看>>
OpenMMLab | AI玩家已上线!和InternLM解锁“谁是卧底”新玩法
查看>>
OpenMMLab | S4模型详解:应对长序列建模的有效方法
查看>>
OpenMMLab | 【全网首发】Llama 3 微调项目实践与教程(XTuner 版)
查看>>
OpenMMLab | 不是吧?这么好用的开源标注工具,竟然还有人不知道…
查看>>
OpenMMLab | 如何解决大模型长距离依赖问题?HiPPO 技术深度解析
查看>>