前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >PHP 命名空间元素访问及use的使用

PHP 命名空间元素访问及use的使用

作者头像
很酷的站长
发布于 2023-01-05 00:20:08
发布于 2023-01-05 00:20:08
1.4K00
代码可运行
举报
运行总次数:0
代码可运行
1. 命名空间的访问分为三种模式

非限定名称访问、限定名称访问、完全限定名称访问

非限定名称访问

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var_dump();// 不加空间名前缀访问空间元素

限定名称访问

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
\think\var_dump();// 加空间名前缀访问空间元素

完全限定名称访问

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
\app\think\var_dump();//从根命名空间开始访问
<?php
namespace app\think;
function var_dump()
{
    echo 'this is one data <br>';
}
var_dump();//非限定名称访问
namespace app;
think\var_dump();//限定名称访问
\app\think\var_dump();//完全限定名称访问
2. 通过 use 关键字访问空间元素

use 语法规则

使用 as 时空间元素名称则被新名称取代, 原名称不能用了, 故不能称之为起别名, 应该是起新名

use 引入空间元素是从根命名空间引入的, 也就是 完全限定名称访问

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
use [元素类型] [命名空间\]类名 [as 新名称];

空间元素都可以通过 use 引入, 但是对于不同类型的空间元素引入方式

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
use 空间名称\类名;//引入类
use function 空间名称\函数名;//引入函数
use const 空间名称\常量名;//引入常量

使用示例

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
use app\A; // 类
use const app\PI;//常量
use function app\var_dump;//函数

PHP7 开始支持使用 {} 一次引入多个相同命名空间下的多个空间元素 (PHP7之前需要使用多次 use)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
use app\{
    A,//类
    const PI,//常量
    function var_dump,//函数
};
3. 系统默认的空间元素访问规则

系统内置的函数、常量、类都属于全局空间

函数和类在空间内访问时系统会先在当前空间找, 找不到再去全局空间找; 而类不会去全局空间下找, 当前空间下类找不到时将抛出 Fatal error

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Kubernetes K8S之Helm部署、使用与示例 helm源地址helm常见应用操作helm常用命令chart文件信息生成releasecurl访问chart更
没有使用Helm之前,在Kubernetes部署应用,我们要依次部署deployment、service等,步骤比较繁琐。况且随着很多项目微服务化,复杂的应用在容器中部署以及管理显得较为复杂。
踏歌行
2020/12/22
2.1K0
Kubernetes K8S之Helm部署、使用与示例
    




        helm源地址helm常见应用操作helm常用命令chart文件信息生成releasecurl访问chart更
【K8s】Kubernetes 常用命令、对象名称缩写汇总
笔者在之前的文章中已经陆续介绍过 Kubernetes 的部分命令,本文将专题介绍 Kubernetes 的常用命令,处理日常工作基本够用了。
行者Sun
2024/09/02
5280
【K8s】Kubernetes 常用命令、对象名称缩写汇总
Rancher2 & K8S部署踩坑记录
如果服务器上下载不了kubectl可去github release页面下载最新版kubectl,再上传至服务器
Ewdager
2020/07/14
3.8K0
Rancher2 & K8S部署踩坑记录
4. 死磕 k8s系列之安装包管理工具(Helm)
Helm可以看作是k8s集群的包管理工具,通过Helm可以快速安装很多软件,比如mysql,nginx等,当然,也可以把自己的应用交给Helm来管理和安装。
彤哥
2020/02/10
3.4K0
使用Kustomize管理K8S的YAML清单
将应用部署到Kubernetes中的方式有很多,目前主流是就是使用kubectl和Helm,不过其先决条件都需要YAML清单文件。
没有故事的陈师傅
2020/12/02
1.7K0
使用Kustomize管理K8S的YAML清单
TKE中使用helm搭建Rancher并搭建prometheus+grafana
由于目前TKE已经集成了helm,用户只需在控制台点击安装便会下发tiller、swift
马凌鑫
2019/05/08
4.3K2
Harbor-hlem镜像库重新部署后PV数据恢复
解决方案 之前Harbor-helm部署镜像库文档可以回顾链接https://minminmsn.com/middleware/698/ 1.首先新建新证书的secret
三杯水Plus
2020/07/16
1.3K0
Harbor-hlem镜像库重新部署后PV数据恢复
利用 Helm部署 Ingress
Ingress 是一种 Kubernetes 资源,也是将 Kubernetes 集群内服务暴露到外部的一种方式。
菲宇
2019/06/12
3.1K0
外包精通--手撸Rancher从入门到笔记
本文主要目的在于记录rancher ha集群搭建步骤,内容包括系统配置、docker安装、k8s安装、rancher ha安装等。
Godev
2023/06/25
9630
基于K3S构建高可用Rancher集群
详情见:https://rancher2.docs.rancher.cn/docs/installation/_index
没有故事的陈师傅
2020/05/27
6.1K11
kubernetes1.13.1集群集成harbor-helm
https://github.com/goharbor/harbor-helm https://www.hi-linux.com/posts/14136.html https://github.com/kubernetes-incubator/external-storage/tree/master/ceph/rbd https://github.com/kubernetes-incubator/external-storage/tree/master/ceph/rbd/deploy/rbac https://github.com/helm/helm/issues/3130 https://www.kancloud.cn/huyipow/kubernetes/531999 https://www.hi-linux.com/posts/14136.html https://li-sen.github.io/2018/10/08/k8s%E9%83%A8%E7%BD%B2%E9%AB%98%E5%8F%AF%E7%94%A8harbor/
三杯水Plus
2019/03/14
1.6K0
kubernetes1.13.1集群集成harbor-helm
kubernetes集群全栈监控报警方案kube-prometheus
注意:This will be the last release supporting Kubernetes 1.13 and before. The next release is going to support Kubernetes 1.14+ only. 后续版本只支持k8s1.14+,所以后续要下载release版本,目前只有一个版本所以可以直接git clone
三杯水Plus
2019/06/11
2K0
再战 k8s(15):Ingress和Ingress Controller
从前面的学习,我们可以了解到Kubernetes暴露服务的方式目前只有三种:LoadBlancer Service、ExternalName、NodePort Service、Ingress;而我们需要将集群内服务提供外界访问就会产生以下几个问题:
看、未来
2022/05/06
1.7K0
再战 k8s(15):Ingress和Ingress Controller
kubenetes-rancher多集群管理(二十二)
Rancher是一套容器管理平台,它可以帮助组织在生产环境中轻松快捷的部署和管理容器。 Rancher可以轻松地管理各种环境的Kubernetes,满足IT需求并为DevOps团队提供支持。
yuezhimi
2020/09/30
9660
kubenetes-rancher多集群管理(二十二)
Rancher部署并导入K8S集群
1)这里我将Rancher部署到k8s集群的其中一个node节点172.16.60.234上。
洗尽了浮华
2021/04/09
4.8K0
Rancher部署并导入K8S集群
K8S(V1.10.1)高可用集群超详细版本(包含Dashboard、Rancher)
六台主机配置、停防火墙、关闭Swap、关闭Selinux、设置内核、安装依赖包、配置ntp(配置完后建议重启一次)
全栈程序员站长
2022/06/29
3370
K8S(V1.10.1)高可用集群超详细版本(包含Dashboard、Rancher)
Rancher 2.4.3 - HA 部署高可用k8s集群
对于生产环境,需以高可用的配置安装 Rancher,确保用户始终可以访问 Rancher Server。当安装在Kubernetes集群中时,Rancher将与集群的 etcd 集成,并利用Kubernetes 调度实现高可用。
py3study
2020/06/03
5.5K1
k8s 实践经验(七)ingress 详解
采用 NodePort 方式暴露服务面临问题是,服务一旦多起来,NodePort 在每个节点上开启的端口会及其庞大,而且难以维护;这时,我们可以能否使用一个Nginx直接对内进行转发呢?众所周知的是,Pod与Pod之间是可以互相通信的,而Pod是可以共享宿主机的网络名称空间的,也就是说当在共享网络名称空间时,Pod上所监听的就是Node上的端口。那么这又该如何实现呢?简单的实现就是使用 DaemonSet 在每个 Node 上监听 80,然后写好规则,因为 Nginx 外面绑定了宿主机 80 端口(就像 NodePort),本身又在集群内,那么向后直接转发到相应 Service IP 就行了,如下图所示:
看、未来
2022/05/09
2.3K0
k8s 实践经验(七)ingress 详解
mac 上学习k8s系列(1)安装kubernetes-dashboard
在mac上学习k8s,minikube 和docker for mac 是不错的选择,二者环境搭建相对简单,都是一个单节点的最小系统,方便大家快速学习。在https://mp.weixin.qq.com/s/0kOa1SXsUKoaYuCvlsli-w 中介绍了如何在mac(m1 也可以)上搭建docker for mac,下面我们学习下如何安装kubernetes-dashboard。
golangLeetcode
2022/08/02
1.5K0
mac 上学习k8s系列(1)安装kubernetes-dashboard
快速安装k3s kubernetes集群
K3s 是 Rancher 发布的经过完全认证的 Kubernetes 发行版。K3s 易于使用且更轻量,全部组件都打包在了一个二进制文件里。并且这个二进制文件小于 100 MB。
从大数据到人工智能
2022/02/27
2.5K0
快速安装k3s kubernetes集群
推荐阅读
相关推荐
Kubernetes K8S之Helm部署、使用与示例 helm源地址helm常见应用操作helm常用命令chart文件信息生成releasecurl访问chart更
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验