当前位置: 首页 > news >正文

东莞麻涌网站建设网站建设工作的函

东莞麻涌网站建设,网站建设工作的函,品牌推广多少钱,怎么模仿别人做网站文章目录 参考环境命名空间概念版本支持影响范围 全局命名空间概念魔术常量 \_\_NAMESPACE\_\_声明全局命名空间 声明命名空间为空间命名命名规则核心命名空间 子命名空间的声明在同一文件中定义多个命名空间无括号命名空间声明有括号命名空间声明禁止混合使用推荐使用有括号命… 文章目录 参考环境命名空间概念版本支持影响范围 全局命名空间概念魔术常量 \_\_NAMESPACE\_\_声明全局命名空间 声明命名空间为空间命名命名规则核心命名空间 子命名空间的声明在同一文件中定义多个命名空间无括号命名空间声明有括号命名空间声明禁止混合使用推荐使用有括号命名空间声明 注意事项命名空间之外命名空间之间不允许嵌套 参考 项目描述搜索引擎Bing、GoogleAI 大模型文心一言、通义千问、讯飞星火认知大模型、ChatGPTPHP 官方PHP ManualPHP 官方language.namespaces.rationale.phpPHP 官方control-structures.declare.php 环境 项目描述PHP5.5.0、5.6.8、7.0.0、7.2.5、7.4.9、8.0.0、8.2.9PHP 编辑器PhpStorm 2023.1.1专业版 命名空间 概念 如何理解 PHP 中的命名空间PHP 官方文档 对此有一个很好的描述难得通俗易懂 什么是命名空间从广义上来说命名空间是一种封装事物的方法。在很多地方都可以见到这种抽象概念。例如在操作系统中目录用来将相关文件分组对于目录中的文件来说它就扮演了命名空间的角色。具体举个例子文件 foo.txt 可以同时在目录 /home/greg 和 /home/other 中存在但在同一个目录中不能存在两个 foo.txt 文件。另外在目录 /home/greg 外访问 foo.txt 文件时我们必须将目录名以及目录分隔符放在文件名之前得到 /home/greg/foo.txt。这个原理应用到程序设计领域就是命名空间的概念。 在 PHP 中命名空间 用来解决在编写类库或应用程序时创建可重用的代码如类或函数时碰到的两类问题 用户编写的代码与 PHP 内部或第三方的类、函数、常量等之间的 命名冲突。为 很长的标识符名称通常是为了缓解第一类问题而定义的 创建一个 别名简短的名称 的名称提高源代码的可读性。 版本支持 PHP 对命名空间的支持从 5.3 版本开始在此前的 PHP 版本中命名空间机制处于不可用状态。 影响范围 PHP 中并不是所有组成部分都将受到命名空间的影响。在 PHP 官方文档中 记录了受命名空间影响的类型具体如下 类包括抽象类和 trait接口函数常量 全局命名空间 概念 在 PHP 中全局命名空间是一个 特殊的命名空间该命名空间 没有具体的名称。全局命名空间是 PHP 脚本使用的 默认命名空间当你在 PHP 脚本中没有显式地定义命名空间时所有的类、函数、常量等都处于全局命名空间中。 魔术常量 __NAMESPACE__ __NAMESPACE__ 是 PHP 提供的一个魔术常量用于获取当前命名空间的名称。您可以在任何命名空间内使用魔术常量 __NAMESPACE__它将返回 一个包含当前命名空间名称的字符串。 举个栗子 ?phpfunction func() {return __NAMESPACE__; }var_dump(__NAMESPACE__); var_dump(func());执行效果 由于 全局命名空间没有具体的名称故在全局命名空间中访问 __NAMESPACE__ 常量将获得一个空字符串。 string(0) string(0) 声明全局命名空间 在 PHP 中使用 namespace 关键字用于命名空间的定义。定义全局命名空间可参考如下示例 ?phpnamespace {# 括号范围内即全局命名空间。var_dump(__NAMESPACE__); }执行效果 string(0) 声明命名空间 为空间命名 在定义命名空间的过程中可在 namespace 关键字后指定被定义命名空间的名称。对此请参考如下示例 ?php# 定义一个名为 RedHeart 的命名空间 namespace RedHeart {var_dump(__NAMESPACE__); }# 定义一个名为 BinaryMoon\RedHeart 的命名空间 namespace BinaryMoon\RedHeart {var_dump(__NAMESPACE__); }执行效果 string(8) RedHeart string(19) BinaryMoon\RedHeart命名规则 命名空间的名称 只能包含字母、数字和下划线并且不能以数字开头。需要注意的是命名空间的名称的大小写并不敏感\RedHeart 与 \REDHEART 将被视为同一命名空间。对此请参考如下示例 ?phpnamespace RedHeart {# 名为 RedHeart 的命名空间中定义一个名为 HOME 的常量const HOME BinaryMoon; }namespace REDHEART {# 尝试在名为 REDHEART 的命名空间中对 HOME 常量进行访问var_dump(HOME); }执行效果 在 RedHeart 命名空间中的常量被 REDHEART 命名空间中的语句成功访问这说明两者为同一命名空间命名空间的名称是 不区分大小写的。 string(10) BinaryMoon核心命名空间 在 PHP 中以 PHP 作为名称开头的命名空间通常用于表示 PHP 本身的 核心命名空间。这些命名空间用于组织 PHP 语言 内置的类、接口、函数和常量。虽然您可以在自己的代码中创建以 PHP 开头的命名空间但最好不要这样做以 避免混淆和冲突。 子命名空间的声明 在 PHP 中子命名空间是指在一个已存在的命名空间内创建 更具体或更深层次的命名空间。子命名空间是一种用于更好组织和分类代码的方式允许您 在一个已有的命名空间下创建更多的子级命名空间。子级命名空间与父级命名空间之间使用斜杠 \ 进行分隔。对此请参考如下内容 ?phpnamespace RedHeart {# 创建一个位于全局命名空间下名为 RedHeart 的子命名空间 }namespace RedHeart\BinaryMoon {# 创建一个位于 \RedHeart\ 下的子空间# \RedHeart 前的 \ 表示全局命名空间在为命名空间命名时不需要添加# 该符号。否则PHP 将抛出 Parse error 异常。 }在同一文件中定义多个命名空间 无括号命名空间声明 无括号命名空间声明 使用分号 ; 结束命名空间的声明。当您使用这种方式定义命名空间时命名空间的影响将持续到文件的结束或下一个命名空间声明。也就是说此声明之后的所有代码都将被认为是在这个命名空间内。 有括号命名空间声明 有括号命名空间声明 使用大括号 {} 来明确地定义命名空间的范围。在这对大括号内的代码都将被认为是在这个命名空间内而大括号外的代码则不在此命名空间内。 禁止混合使用 在同一 PHP 脚本文件中有括号命名空间声明与无括号命名空间声明 不能混用。否则PHP 将为此抛出 Fatal error 异常并立即停止运行。对此请参考如下示例 ?php# 使用无括号命名空间声明 namespace RedHeart;# 使用有括号命名空间声明 namespace BinaryMoon {}执行效果 Fatal error: Cannot mix bracketed namespace declarations with unbracketed namespace declarations in C:\demo.php on line 8 PHP Fatal error: Cannot mix bracketed namespace declarations with unbracketed namespace declarations in C:\demo.php on line 8推荐使用有括号命名空间声明 在 PHP 中定义命名空间的过程中推荐使用有括号命名空间声明。理由有如下三点 可读性 使用有括号命名空间声明 可以明确指示命名空间的开始和结束使代码更易于阅读。全局命名空间 全局命名空间的声明 仅能够通过有括号命名空间声明这一方式进行声明若在 PHP 脚本文件中使用无括号命名空间声明则 无法声明全局命名空间有括号命名空间声明与无括号命名空间声明不可混用。 注意事项 命名空间之外 当您在 PHP 脚本中 声明任意命名空间 后仅能够在所有命名空间前使用 declare 语句及 PHP 起始标签 ?php。除此之外不允许在名称空间范围外使用任何非空白字符。否则PHP 将抛出 Fatal error 并立即停止运行。对此请参考如下示例 产生 Fatal error 异常 !DOCTYPE html html langen headmeta charsetUTF-8titleNamespace/title /head body?phpnamespace BinaryMoon;? /body /html正常运行 ?php# declare 的功能不必在意此处仅仅为了表达 # 仅有 PHP 起始标签与 declare 语句可以出现在所有命名空间之前之外。 declare(ticks1); namespace BinaryMoon {}命名空间之间不允许嵌套 使用有括号命名空间会让人尝试进行命名空间嵌套但这是不被 PHP 允许的若您尝试这样做PHP 将抛出 Fatal Error 异常。对此请参考如下示例 ?phpnamespace RedHeart {# 尝试在 RedHeart 命名空间内部声明 BinaryMoon 命名空间namespace BinaryMoon {} }执行效果 PHP Fatal error: Namespace declarations cannot be nested in C:\test.php on line 6
http://www.tj-hxxt.cn/news/224332.html

相关文章:

  • 网站seo优化技巧宁夏建设工程造价网
  • 如何做网站管理维护wordpress主题付费
  • 网站下方一般放什么原因固始做网站的公司
  • 个旧做网站哪家公司好专业的标志设计公司
  • wordpress付费剧集网站怎么做网站的关键词库
  • 服装网站建设的技术可行性网络策划是什么意思
  • 上海网站制作网站建设vps如何放置网站
  • 做推广网站公司wordpress怎么获取数据库名
  • 请人做软件开发的网站h5移动网站开发
  • 建网站有多少种方式江苏工程信息网
  • 高端网站开发怎么选傻瓜式网页制作网站
  • 沈阳网站制作系统网站开发找公司好还是个人
  • 网站建设php实验报告山东做网站建设公司
  • 做网站的会什么建设阿里巴巴网站
  • wordpress网站生成app网站运营是什么
  • 网站研发公司app推广工作室
  • 企业网站的推广方式网站建设需求单
  • 深圳网站设计 商城app网站建设 - 百度
  • 凡科网站是什么做的做网站需要宽带
  • wap手机网站制作可以做问卷的网站
  • 电子商务网站建站目的网页设计找什么工作
  • 大连城市建设管理局网站现在的网络推广怎么做
  • 怎么创一个网站爱站seo
  • 什么样的网站是php网站怎么查看网站是否被收录
  • 卫计网站建设工作总结wordpress微博图床怎么用
  • 音乐播放网站怎么做wordpress怎么加站点图标
  • 品牌网吴为简介seo内部优化方案
  • 企业手机网站建设报价手机网站模版免费下载
  • 申请免费网站企业建设网站能否报销
  • 网站开发房源岗位西安免费网络