电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

PHP命名空間概念解析

瀏覽:7日期:2022-09-13 15:58:11
1. PHP中的命名空間是什么?

什么是命名空間?“從廣義上來說,命名空間是一種封裝事物的方法。在很多地方都可以見到這種抽象概念。例如,在操作系統中目錄用來將相關文件分組,對于目錄中的文件來說,它就扮演了命名空間的角色。具體舉個例子,文件 foo.txt 可以同時在目錄/home/greg 和 /home/other 中存在,但在同一個目錄中不能存在兩個 foo.txt 文件。另外,在目錄 /home/greg 外訪問 foo.txt 文件時,我們必須將目錄名以及目錄分隔符放在文件名之前得到 /home/greg/foo.txt。這個原理應用到程序設計領域就是命名空間的概念。”——命名空間概述

2. PHP命名空間該如何理解?

從本質上講,命名空間就是一個容器,這個容器內我們可以放入類、函數和變量,他們在同一命名空間內可以無條件相互訪問。在命名空間之外,就必須引用或者導入其他命名空間,才能調用它們包含的這些項。

命名空間跟shell中的文件目錄的概念是一樣一樣的。在當前目錄下可以直接用文件名訪問所有文件,如果需要訪問其他目錄下的文件,就需要輸入相對路徑或絕對路徑。引用方式:

namespace foo; class Foo { public function foo() { return topnamespacebarBar::fuck(); } }

導入方式:

namespace foo; use topnamespacebarBar; class Foo {public function foo() {

return Bar::fuck(); } }

導入就相當于將目的類復制一份到當前命名空間中。

3. PHP命名空間有何實際應用?

命名空間的存在是為了解決下面兩個問題:

1. 用戶編寫的代碼與PHP內部的類/函數/常量或第三方類/函數/常量之間的名字沖突。

2. 為很長的標識符名稱(通常是為了緩解第一類問題而定義的)創建一個別名(或簡短)的名稱,提高源代碼的可讀性。

 4. 一些tips

1. 同一個空間下的類直接相互直接調用,屬于一家。例如 Laravel 中的 PageController 類中可以直接寫 Page::all() 這樣的代碼來調用 Page 這個model,因為他們倆都在頂級命名空間下。

2. 若一個類存在于非頂級命名空間中,那么它只能在調用同樣是當前命名空間下的其他類才不用“引用”或“導入”,它們屬于一家。任何子命名空間都是另一個命名空間,另一個容器,沒有除了容器之間關系之外的任何特殊關系。

3. Laravel 采用 classmap 方式進行自動加載(autoload),PHP雖然有了命名空間這個高級特性,但是這只是邏輯關系,require 文件還是要有的。這個類和文件的對應關系就存在 /vendor/composer/autoload_classmap.php ,每次 composer dump-autoload 都會重新編譯、生成。

標簽: PHP
相關文章:
主站蜘蛛池模板: 钢衬四氟管道_钢衬四氟直管_聚四氟乙烯衬里管件_聚四氟乙烯衬里管道-沧州汇霖管道科技有限公司 | 深圳公司注册-工商注册代理-注册公司流程和费用_护航财税 | 掺铥光纤放大器-C/L波段光纤放大器-小信号光纤放大器-合肥脉锐光电技术有限公司 | 实验室装修_实验室设计_实验室规划设计- 上海广建净化工程公司 | 广东泵阀展|阀门展-广东国际泵管阀展览会| 航空障碍灯_高中低光强航空障碍灯_民航许可认证航空警示灯厂家-东莞市天翔航天科技有限公司 | 出国劳务公司_正规派遣公司[严海]| 广州迈驰新GMP兽药包装机首页_药品包装机_中药散剂包装机 | 布袋除尘器-单机除尘器-脉冲除尘器-泊头市兴天环保设备有限公司 布袋除尘器|除尘器设备|除尘布袋|除尘设备_诺和环保设备 | 青岛美佳乐清洁工程有限公司|青岛油烟管道清洗|酒店|企事业单位|学校工厂厨房|青岛油烟管道清洗 插针变压器-家用电器变压器-工业空调变压器-CD型电抗器-余姚市中驰电器有限公司 | 全温恒温摇床-水浴气浴恒温摇床-光照恒温培养摇床-常州金坛精达仪器制造有限公司 | 机床主轴维修|刀塔维修|C轴维修-常州翔高精密机械有限公司 | 无缝方管|无缝矩形管|无缝方矩管|无锡方管厂家 | 亮点云建站-网站建设制作平台 | 老城街小面官网_正宗重庆小面加盟技术培训_特色面馆加盟|牛肉拉面|招商加盟代理费用多少钱 | 龙门加工中心-数控龙门加工中心厂家价格-山东海特数控机床有限公司_龙门加工中心-数控龙门加工中心厂家价格-山东海特数控机床有限公司 | 企业微信营销_企业微信服务商_私域流量运营_艾客SCRM官网 | 低浓度恒温恒湿称量系统,强光光照培养箱-上海三腾仪器有限公司 | 安徽合肥项目申报咨询公司_安徽合肥高新企业项目申报_安徽省科技项目申报代理 | 重庆网站建设,重庆网站设计,重庆网站制作,重庆seo,重庆做网站,重庆seo,重庆公众号运营,重庆小程序开发 | 杭州用友|用友软件|用友财务软件|用友ERP系统--杭州协友软件官网 | 打孔器,打孔钳厂家【温州新星德牌五金工具】 | 天然气分析仪-液化气二甲醚分析仪|传昊仪器 | 隔离变压器-伺服变压器--输入输出电抗器-深圳市德而沃电气有限公司 | 在线钠离子分析仪-硅酸根离子浓度测定仪-油液水分测定仪价格-北京时代新维测控设备有限公司 | 领先的大模型技术与应用公司-中关村科金| 喷砂机厂家_自动除锈抛丸机价格-成都泰盛吉自动化喷砂设备 | 哈尔滨京科脑康神经内科医院-哈尔滨治疗头痛医院-哈尔滨治疗癫痫康复医院 | 北京网站建设首页,做网站选【优站网】,专注北京网站建设,北京网站推广,天津网站建设,天津网站推广,小程序,手机APP的开发。 | 干粉砂浆设备-干粉砂浆生产线-干混-石膏-保温砂浆设备生产线-腻子粉设备厂家-国恒机械 | 警方提醒:赣州约炮论坛真的安全吗?2025年新手必看的网络交友防坑指南 | 室内室外厚型|超薄型|非膨胀型钢结构防火涂料_隧道专用防火涂料厂家|电话|价格|批发|施工 | 呼末二氧化碳|ETCO2模块采样管_气体干燥管_气体过滤器-湖南纳雄医疗器械有限公司 | 照相馆预约系统,微信公众号摄影门店系统,影楼管理软件-盟百网络 | 长沙中央空调维修,中央空调清洗维保,空气能热水工程,价格,公司就找维小保-湖南维小保环保科技有限公司 | 工程管道/塑料管材/pvc排水管/ppr给水管/pe双壁波纹管等品牌管材批发厂家-河南洁尔康建材 | 篮球架_乒乓球台_足球门_校园_竞技体育器材_厂家_价格-沧州浩然体育器材有限公司 | WTB5光栅尺-JIE WILL磁栅尺-B60数显表-常州中崴机电科技有限公司 | 热处理炉-退火炉-回火炉设备厂家-丹阳市电炉厂有限公司 | 焊锡丝|焊锡条|无铅锡条|无铅锡丝|无铅焊锡线|低温锡膏-深圳市川崎锡业科技有限公司 | 医学模型生产厂家-显微手术模拟训练器-仿真手术模拟训练系统-北京医教科技 |