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

潍坊网站制作工具各大搜索引擎收录入口

潍坊网站制作工具,各大搜索引擎收录入口,wordpress备份百度云,网站视频下载方法文章目录 参考环境三种名称非限定名称限定名称完全限定名称举个栗子 useuse 关键字use ... as .. 命名冲突真假美猴王两个世界 参考 项目描述搜索引擎Bing、GoogleAI 大模型文心一言、通义千问、讯飞星火认知大模型、ChatGPTPHP 官方PHP ManualPHP 官方language.namespaces.ra…

文章目录

  • 参考
  • 环境
  • 三种名称
      • 非限定名称
      • 限定名称
      • 完全限定名称
      • 举个栗子
  • use
      • use 关键字
      • use ... as ..
  • 命名冲突
      • 真假美猴王
      • 两个世界

参考

项目描述
搜索引擎BingGoogle
AI 大模型文心一言通义千问讯飞星火认知大模型ChatGPT
PHP 官方PHP Manual
PHP 官方language.namespaces.rationale.php

环境

项目描述
PHP5.5.05.6.87.0.07.2.57.4.98.0.08.2.9
PHP 编辑器PhpStorm 2023.1.1(专业版)

三种名称

在 PHP 命名空间的上下文中,限定名称 (Qualified Name)、非限定名称 (Unqualified Name) 与完全限定名称 (Fully Qualified Name) 是 三种引用命名空间中的元素(类、接口、函数 与 常量)的方式

非限定名称

非限定名称是一个 不包含任何命名空间前缀的名称,如 ClassName 就是一个非限定名称。当使用非限定名称时,PHP 会 优先在当前命名空间中查找该元素。若该原始不存在于当前命名空间中,则将在全局命名空间中对其进行查找(仅当被查找元素为函数或常量时)

限定名称

限定名称包含 命名空间前缀,但没有开头的反斜线 \(该反斜线表示全局命名空间)。如 NamespaceName\ClassNameNamespaceName\functionName() 就是限定名称。当使用限定名称时,PHP 会 基于当前命名空间来解析该名称

完全限定名称

完全限定名称从反斜线 \(该反斜线表示全局命名空间) 开始,后接命名空间或元素的名称。如 \Full\NamespaceName\ClassName\Full\NamespaceName\functionName() 就是完全限定名称。当使用完全限定名称时,PHP 会 完全忽略当前命名空间的上下文,并从全局上下文解析名称

举个栗子

<?phpnamespace HOME\RedHeart {function saySelf() {# 通过魔术常量 __NAMESPACE 回当前所属的命名空间名称return __NAMESPACE__;}function saySon() {# 尝试访问当前命名空间中的子命名空间 BinaryMoon 中的 saySelf() 函数return BinaryMoon\saySelf();}
}namespace HOME\RedHeart\BinaryMoon {function saySelf() {return __NAMESPACE__;}
}# 全局命名空间
namespace {# 尝试访问 HOME\RedHeart\BinaryMoon 命名空间下的 saySelf() 函数var_dump(\HOME\RedHeart\BinaryMoon\saySelf());# 尝试访问 HOME\RedHeart 命名空间下的 saySelf() 函数var_dump(HOME\RedHeart\saySelf());# 尝试访问 HOME\RedHeart 命名空间下的 saySon() 函数var_dump(\HOME\RedHeart\saySon());
}

执行效果

string(24) "HOME\RedHeart\BinaryMoon"
string(13) "HOME\RedHeart"
string(24) "HOME\RedHeart\BinaryMoon"

use

use 关键字

在 PHP 中,use 关键字用于导入命名空间中的 接口函数常量,以便在当前命名空间中直接使用这些元素的 非限定名称,有助于提高开发体验😎。对此,请参考如下示例:

<?phpnamespace HOME\RedHeart\BinaryMoon {const CONSTANT = __NAMESPACE__;class MyClass{public $name = 'RedHeart';public $nation = 'China';public $age = 18;}function sayHello() {print("Hello World\n");}
}namespace {# 将 \HOME\RedHeart\BinaryMoon\ 命名空间下的# MyClass 类导入至当前命名空间,便可以使用非限定名称访问该类。use \HOME\RedHeart\BinaryMoon\MyClass;var_dump(new MyClass());# 将 \HOME\RedHeart\BinaryMoon\ 命名空间下的# 函数 sayHello 与常量 CONSTANT 导入当前命名空间use function HOME\RedHeart\BinaryMoon\sayHello;use const HOME\RedHeart\BinaryMoon\CONSTANT;sayHello();print(CONSTANT . "\n");
}

执行效果

在 PHP 中,use 关键字的默认操作对象是 。若您需要将 函数常量 导入至当前命名空间,请在 use 关键字后添加 functionconst 以告知 PHP 解释器。

object(HOME\RedHeart\BinaryMoon\MyClass)#1 (3) {["name"]=>string(8) "RedHeart"["nation"]=>string(5) "China"["age"]=>int(18)
}
Hello World
HOME\RedHeart\BinaryMoon

use … as …

在 PHP 中,use ... as ... 语句用于导入命名空间中的 接口函数常量并为它们创建一个 别名,以便可以在当前代码块中使用别名来引用相关的元素。对此,请参考如下示例:

<?phpnamespace HOME\RedHeart\BinaryMoon {const CONSTANT = __NAMESPACE__;class MyClass{public $name = 'RedHeart';public $nation = 'China';public $age = 18;}function sayHello() {print("Hello World\n");}
}namespace {use \HOME\RedHeart\BinaryMoon\MyClass as AnClass;use function HOME\RedHeart\BinaryMoon\sayHello as speakHello;use const HOME\RedHeart\BinaryMoon\CONSTANT as ANCONSTANT;var_dump(new AnClass());speakHello();print(ANCONSTANT . "\n");
}

执行效果

object(HOME\RedHeart\BinaryMoon\MyClass)#1 (3) {["name"]=>string(8) "RedHeart"["nation"]=>string(5) "China"["age"]=>int(18)
}
Hello World
HOME\RedHeart\BinaryMoon

命名冲突

真假美猴王

<?phpnamespace BinaryMoon {class BinaryMoon {}
}

在上述示例中,命名空间 BinaryMoon 与其 类元素 BinaryMoon 使用相同名称。按照正常情况,两者将发生 命名冲突,但上述示例却能够正常执行。这是由于,命名空间 BinaryMoon 的完全限定名称是 \BinaryMoon,而 类元素 BinaryMoon 的完全限定名称是 \BinaryMoon\BinaryMoon,两者的名称 并不真的相同

两个世界

实际上,命名空间与其他元素之间并不会产生命名冲突,即使两者的完全限定名称一模一样。对此,请参考如下示例:

<?phpnamespace BinaryMoon {}namespace {class BinaryMoon {}var_dump(new \BinaryMoon());
}

执行效果

在使用 class 关键字创建类 BinaryMoon 后,类与命名空间具有相同的完全限定名称 \BinaryMoon,这并不会导致两者发生 命名冲突,PHP 会 依据具体情景进行分析来确定如何解析该名称。但程序并非完美的,它无法应对所有可能的场景,鉴于此,请 尽可能不要尝试使用相同的名称

object(BinaryMoon)#1 (0) {
}

http://www.hrbkazy.com/news/19259.html

相关文章:

  • 黑龙江建设网官方网站监理查询销售培训课程一般有哪些
  • 梁山网站建设价格网络推广营销方法
  • 商品网站怎么做企业seo案例
  • 橱柜网站源码南通seo网站优化软件
  • 口碑好的镇江网站建设my77728域名查询
  • 怎么做网站平台教程天津百度快照优化公司
  • 有口碑的大连网站建设岳阳网站建设推广
  • 医院网站制作大数据查询平台
  • 专门做电商的网站有哪些如何刷seo关键词排名
  • 狠狠做网站推广手段有哪些
  • 网站建设要学会什么创建网页步骤
  • 证书查询甘肃建设网站优化人员配置
  • 政务系统网站建设东莞seo网站排名优化
  • 网站域名空间怎么弄啊西安seo哪家好
  • 零基础源码建设网站简述网站制作的步骤
  • 网站建设灯b站黄页推广
  • 成都网站建设公司有哪些百家港 seo服务
  • 3g网站app百度官网电话客服24小时
  • 帮我们公司做网站一键免费生成网页的网站
  • wordpress栏目加密网络优化工程师为什么都说坑人
  • 新野做网站武汉seo首页优化技巧
  • 国内十个免费自学网站域名解析ip
  • 网站做营销推广公司正规手游代理平台有哪些
  • 那些网站可做代购东莞最新消息今天
  • 网站开发 教程网站如何做推广
  • 怎么做才能把网站排名靠前windows优化大师免费版
  • 苏州塔维斯网站建设成都网络推广中联无限
  • 深圳网站建设服务介绍查询友情链接
  • 网站最初的索引量从何而来seo推广优化官网
  • 下列关于网站开发中网友上传1+x网店运营推广