加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP后备全局函数指的是什么,写法和应用是怎样的?

发布时间:2023-06-05 13:43:33 所属栏目:PHP教程 来源:
导读:今天我们来学习关于“PHP后备全局函数是什么,写法和应用是怎样的?”的内容,下文有详解方法和实例,内容详细,逻辑清晰,有需要的朋友可以参考,希望大家阅读完这篇文章后能有所收获,那么下面就一起来了
今天我们来学习关于“PHP后备全局函数是什么,写法和应用是怎样的?”的内容,下文有详解方法和实例,内容详细,逻辑清晰,有需要的朋友可以参考,希望大家阅读完这篇文章后能有所收获,那么下面就一起来了解一下吧。
 
在一个命名空间中,当 PHP 遇到一个非限定的类、函数或常量名称时,它使用不同的优先策略来解析该名称。类名称总是解析到当前命名空间中的名称。因此在访问系统内部或不包含在命名空间中的类名称时,必须使用完全限定名称,例如:
 
Example #1 在命名空间中访问全局类
 
<?php
 
    namespace A\B\C;
 
    class Exception extends \Exception {}
 
    $a = new Exception('hi'); // $a 是类 A\B\C\Exception 的一个对象
 
    $b = new \Exception('hi'); // $b 是类 Exception 的一个对象
 
    $c = new ArrayObject; // 致命错误, 找不到 A\B\C\ArrayObject 类
 
?>
 
对于函数和常量来说,如果当前命名空间中不存在该函数或常量,PHP 会退而使用全局空间中的函数或常量。
 
Example #2 命名空间中后备的全局函数/常量
 
<?php
 
    namespace A\B\C;
 
    const E_ERROR = 45;
 
    function strlen($str)
 
    {
 
        return \strlen($str) - 1;
 
    }
 
    echo E_ERROR, "\n"; // 输出 "45"
 
    echo INI_ALL, "\n"; // 输出 "7" - 使用全局常量 INI_ALL
 
    echo strlen('hi'), "\n"; // 输出 "1"
 
    if (is_array('hi')) { // 输出 "is not array"
 
        echo "is array\n";
 
    } else {
 
        echo "is not array\n";
 
    }
 
?>
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!