php基础:命名空间

ops/2025/1/1 23:26:50/

1.PHP 命名空间可以解决以下两类问题:

1.用户编写的代码与PHP内部的类/函数/常量或第三方类/函数/常量之间的名字冲突。

2.为很长的标识符名称(通常是为了缓解第一类问题而定义的)创建一个别名(或简短)的名称,以提高源代码的可读性。

php"><?php
const  NAME='1234';
$name='abcd';
include 'demo5.php';
echo NAME;
echo $name;//常量不会被覆盖,变量会被覆盖,所以常量会出现冲突

命名空间(可以理解为创建文件夹)

定义:命名空间namespace,是指人为的将内存进行分隔,让不同内存区域的同名结构共存,从而解决在大型项目中可能出现的重名结构的问题

语法:namespace 空间名

作用:不同的空间可以有同名的结构,如:类

空间元素:函数,常量,类,不包括变量!!

子空间(子文件夹)

语法:

 namespace 空间名

 namespace 空间名\子空间

        命名空间访问 (url)

非限定名称访问:直接访问空间元素的名字(只访问自己命名空间的元素)

限定名称访问:使用自己当前的子空间名字+ \ + 元素名字

完全限定名称访问:\ + 全局空间 + \  +  元素名字

注:1.任何空间元素访问,只针对函数,类,常量       2.全局空间(C盘)

3.如果定义了命名空间,非限定名称的寻找系统常量的方式:

首先:在自己的空间内找

然后:如果找不到元素

系统常量-->进入全局空间寻找

系统类 --> 不会自动进入全局空间寻找,而是会报错

php"><?php
namespace mydemo;
const  NAME='123';function getname(){return 'getNAME';
}
class Dog{static function dog(){return 'dog';}
}
//他的子命名空间 namespace mydemo\b
echo NAME;//非限定名称访问
echo b/NAME;//限定名称访问
echo \mydemo\NAME ;//完全限定名称访问
echo \mydemo\b\NAME ;
echo \mydemo\b\Dog::dog() ;

2.命名空间的引入

1.空间引入方式:use关键字

1. 引入类:use 空间名\类名

2. 引入函数:use function 空间名\函数名

3. 引入常量:use const 空间名\常量名

2.当引入元素时重名,通过 as 来起别名

    use 空间名\类名 as 别名

3.引入多个元素

use 空间名\{

类名,

function 函数名,

const 常量

}   

4. 引入空间 

    use 空间名

php">ues mydemo\b as a;
echo a\NAME;

文章来源:https://blog.csdn.net/qq_52957703/article/details/144275463
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ppmy.cn/ops/143374.html

相关文章

华纳云:如何实现tomcat自动化部署?

实现 Tomcat 自动化部署 可以大大提高开发和运维效率&#xff0c;尤其是在频繁更新应用、管理多个服务器或部署多个环境时。下面是一些常见的方式来实现 Tomcat 自动化部署&#xff0c;包括使用 CI/CD 工具(如 Jenkins、GitLab CI)、脚本化部署、自动化配置管理工具(如 Ansible…

在 MacOS 上安装 MongoDB Community Edition(Homebrew 版本)

在 macOS 上安装 MongoDB Community Edition 安装 Homebrew macOS does not include the Homebrew brew package by default. 使用官方 Homebrew 安装说明安装 brew。 安装 MongoDB 8.0 MongoDB Community Edition 按照以下步骤使用 brew 软件包管理器安装 MongoDB Commun…

CSS3新特性——字体图标、2D、3D变换、过渡、动画、多列布局

目录 一、Web字体 二、字体图标 三、2D变换 1.位移 &#xff08;1&#xff09;浮动 &#xff08;2&#xff09;相对定位 &#xff08;3)绝对定位和固定定位 &#xff08;4&#xff09;位移 用位移实现盒子的水平垂直居中 2.缩放 利用缩放调整字体到12px以下&#xff…

OkHttp源码分析:分发器任务调配,拦截器责任链设计,连接池socket复用

目录 一&#xff0c;分发器和拦截器 二&#xff0c;分发器处理异步请求 1.分发器处理入口 2.分发器工作流程 3.分发器中的线程池设计 三&#xff0c;分发器处理同步请求 四&#xff0c;拦截器处理请求 1.责任链设计模式 2.拦截器工作原理 3.OkHttp五大拦截器 一&#…

LAVE——基于大语言模型的新型代理辅助视频编辑工具允许用户根据自己的编辑风格进行调整

概述 论文地址&#xff1a;https://arxiv.org/abs/2402.10294 视频是一种非常强大的交流和讲述故事的媒介。随着社交媒体和视频共享平台的出现&#xff0c;视频的受欢迎程度直线上升&#xff0c;许多人都在制作和分享自己的内容。然而&#xff0c;对于初学者来说&#xff0c;视…

STT语音识别转文字工具 - 离线运行的本地语音识别服务

STT - 强大的离线语音识别转文字工具 STT是一款功能强大的本地语音识别转文字工具,基于fast-whisper开源模型开发,可以将视频和音频中的人声识别并转换为文字。它支持多种输出格式,包括JSON、带时间戳的SRT字幕以及纯文本格式,为用户提供了灵活的选择。 主要特点 完全离线运…

HarmonyOS——认证服务开发

AGC平台提供了与项目绑定认证服务&#xff0c;可以让开发者更加轻松的进行应用的用户登录认证相关功能进行开发&#xff0c;在笔者之前进行华为账号登陆认证的时候&#xff0c;需要层层递进&#xff0c;访问三个华为官方的接口&#xff0c;才能拿到用户的唯一身份标识&#xff…

AI人工智能面试系统哪家最好?

随着AI技术的快速发展&#xff0c;AI人工智能面试系统已经逐渐成为了企业招聘流程中的重要工具。AI人工智能面试系统通过自然语言处理、机器学习等技术&#xff0c;能够自动化地完成简历筛选、初步面试等环节&#xff0c;大大提高了招聘效率&#xff0c;降低了人力成本。那么&a…