PHP自己的框架2.0设置常量并绑定容器(重构篇三)

目录

1、设置常量并绑定容器

2、容器增加设置当前容器的实例和绑定一个类实例当容器

3、将常量绑定到容器中

4、运行效果


1、设置常量并绑定容器

2、容器增加设置当前容器的实例和绑定一个类实例当容器

 //设置当前容器的实例public static function setInstance($instance){static::$instance = $instance;}//绑定一个类实例当容器public function bandInstance($abstract, $instance){if ($instance instanceof \Closure) {$this->bind[$abstract] = $instance;} else {if (isset($this->bind[$abstract])) {$abstract = $this->bind[$abstract];}$this->instances[$abstract] = $instance;}return $this;}

3、将常量绑定到容器中

<?php
namespace fm;
class core extends Di{protected $corePath;//核心目录路径protected $rootPath;//项目根目录public function __construct($appPath = ''){}public  function run(){$this->_int();//初始化常量echo '框架运行中';}public function _int(){//获取框架核心路径 都替换/以便兼容linux$path=str_replace("\\","/",__FILE__);//定义常量$this->corePath=dirname(dirname($path));$this->rootPath=dirname($this->corePath);static::setInstance($this);$this->bandInstance('core', $this);var_dump( $this->getInstance());exit;}}

4、运行效果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/78984.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SW的stp文件转成CAD格式文件学习笔记

SW的stp文件转成CAD格式文件 文章目录 SW的stp文件转成CAD格式文件另存为part文件&#xff08;零件图&#xff09;另存为CAD文件 另存为part文件&#xff08;零件图&#xff09; 如图一个STP文件&#xff0c;右上角标注是什么文件呢 另存为零件图&#xff0c;即另存为part …

Python语言概述

​ 视频版教程 Python3零基础7天入门实战视频教程 Python作为一门非常流行的高级编程语言&#xff0c;自从22年开始&#xff0c;TIOBE编程语言排行榜Python一直排第一。 Python简洁高效&#xff0c;丰富的应用场景&#xff0c;受到广大程序员&#xff0c;科研工作者的喜爱。 …

为什么浮点数不能和0直接比较

在嵌入式软件中&#xff0c;一般不建议将浮点数和0直接做比较&#xff0c;例如&#xff1a; float a; exp1. if (a 0) exp2. if (a > 0) exp3. if (a < 0) exp4. if (a - 1 0)诸如此类&#xff0c;都是不可取的&#xff0c;这里就和浮点数在计算机内存中的表示方法有关…

基于图像形态学处理和边缘提取算法的路面裂痕检测matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 [Rr,Cc] size(Image1);% 获取 Image1 矩阵的大小&#xff08;行数和列数&#xff09; % 创…

哨兵1号(Sentinel-1)SAR卫星介绍

1. 哥白尼计划 说起欧空局的哨兵1号&#xff0c;就不得不先说一下欧空局的“哥白尼计划”。 欧空局的哥白尼计划&#xff08;Copernicus Programme&#xff09;是欧空局与欧盟合作的一项极其重要的地球观测计划。该计划旨在提供免费开放的、可持续的地球观测数据&#xff0c…

合宙Air724UG LuatOS-Air lvgl字库

目录 LVGL 简介1. lvgl自带字库 特点使用场景2. lvgl加载外部字体 软件接口使用场景3. lvgl 矢量字体 软件接口硬件外接SPI字库芯片详细使用示例使用场景常见问题 LVGL 简介 LVGL字库有3种方式可以使用&#xff0c;刚接触的客户可能不太了解怎样选用&#xff0c;以下对这3种…

服务器时间正确,Java程序时区不对问题解决

服务器执行date命令显示时间正确 执行timedatectl status命令结果如下&#xff1a; 看起来是Time zone没有设置好&#xff0c;但是登录另外一台正常的服务器&#xff0c;执行timedatectl status也是一样的 直接写一个简单的Java程序TestTimeZone.java&#xff1a; import ja…

Tomcat安装与配置(详细教程)

Tomcat安装与配置&#xff08;详细教程&#xff09;_tomcat安装及配置教程_蒋洋大盗的博客-CSDN博客

【linux基础(六)】Linux中的开发工具(中)--gcc/g++

&#x1f493;博主CSDN主页:杭电码农-NEO&#x1f493;   ⏩专栏分类:Linux从入门到开通⏪   &#x1f69a;代码仓库:NEO的学习日记&#x1f69a;   &#x1f339;关注我&#x1faf5;带你学更多操作系统知识   &#x1f51d;&#x1f51d; Linux中的开发工具 1. 前言2.…

适合初学者的云服务器——观星云

一款适合初学者的云服务器 官方网址&#xff1a;[观星云](https://www.guanxingyun.com/)活动地址&#xff1a;[观星云免费计划](https://www.guanxingyun.com/act/freecloud.html)B站官方&#xff1a;[酷友玩官方](https://space.bilibili.com/1906135621?spm_id_from333.337…

selenium 网页自动化-在访问一个网页时弹出的浏览器窗口,我该如何处理?

前言 相信大家在使用selenium做网页自动化时&#xff0c;会遇到如下这样的一个场景&#xff1a; 在你使用get访问某一个网址时&#xff0c;会在页面中弹出如上图所示的弹出框。 首先想到是利用Alert类来处理它。 然而&#xff0c;很不幸&#xff0c;Alert类处理的结果就是没…

基于YOLOv7算法的混凝土结构表面裂缝自主识别

Autonomous surface crack identification of concrete structures based on the YOLOv7 algorithm 1、模型接受1.1 yolov7架构:1.2 骨干网中增加一个Aatten模块1.3 加入Myswin模块的YOLOv7网络1.3 加入FEEM模块YOLOv7网络2、实验在本研究中,我们使用了一个改进的网络,名为Y…

LeetCode——动态规划篇(二)

刷题顺序及思路来源于代码随想录&#xff0c;网站地址&#xff1a;https://programmercarl.com 343. 整数拆分 - 力扣&#xff08;LeetCode&#xff09; 给定一个正整数 n &#xff0c;将其拆分为 k 个 正整数 的和&#xff08; k > 2 &#xff09;&#xff0c;并使这些整…

【转存】从 JMM 透析 volatile 与 synchronized 原理

在面试、并发编程、一些开源框架中总是会遇到 volatile 与 synchronized 。synchronized 如何保证并发安全&#xff1f;volatile 语义的内存可见性指的是什么&#xff1f;这其中又跟 JMM 有什么关系&#xff0c;在并发编程中 JMM 的作用是什么&#xff0c;为什么需要 JMM&#…

ArcGIS 10.2安装教程!

软件介绍&#xff1a;ArcGIS是一款专业的电子地图信息编辑和开发软件&#xff0c;提供一种快速并且使用简单的方式浏览地理信息&#xff0c;无论是2D还是3D的信息。软件内置多种编辑工具&#xff0c;可以轻松的完成地图生产全过程&#xff0c;为地图分析和处理提供了新的解决方…

PPT 生成整数序列字典序的r-组合算法

生成整数序列字典序的r-组合算法 一、PPT效果展示二、问题2.1 简述2.2 算法简述2.3 例子 三、PPT实现 一、PPT效果展示 二、问题 2.1 简述 给定一个整数序列 (1&#xff0c;2&#xff0c;3&#xff0c;…n)&#xff0c;输出其所有字典序的r-组合&#xff0c;注意事项&#xf…

2023-09-14力扣每日一题

链接&#xff1a; 1222. 可以攻击国王的皇后 题意 皇后可以攻击与它在同一条线上的棋子&#xff08;同行/同列/主副对角线&#xff09;&#xff0c;但是中途不能有遮挡 给定一个局面&#xff0c;多个皇后和一个国王&#xff0c;求有几个皇后能攻击到国王 解&#xff1a; …

关于wParam和lParam

在VC的函数参数中常出现WPARAM和LPARAM,这两个有什么特殊意义么?它们的含义是不是要事先定义? WPARAM和LPARAM一般在消息里面用的很多,其实没有特殊的含义的。 是两普通的变量 。 是怎样通过wParam,lParam传参数的呢?有时候表示点的坐标,有时表示…

QT子线程或自定义类操作访问主界面UI控件的几种方法

前言 QT创建窗体工程&#xff0c;一般在MainWindow或Dialog类里可以直接通过ui指针访问控件&#xff0c;但是添加新的类后又如何访问呢&#xff0c;可以通过以下几种方式&#xff1a; 将ui指针公开后直接访问 &#xff08;1&#xff09;例如有个自己定义的类CustomCl…

代码随想录训练营第52天|300.最长递增子序列,674.最长连续递增子序列,718.最长重复子序列

代码随想录训练营第52天|300.最长递增子序列&#xff0c;674.最长连续递增子序列&#xff0c;718.最长重复子序列 300.最长递增子序列文章思路代码 674.最长连续递增序列文章思路代码 718.最长重复子数组文章思路代码 总结 300.最长递增子序列 文章 代码随想录|0300.最长上升…