php 引入类_PHP 如何引入同一文件下多个class类
同一文件下多个类,直接new第一个类有效,其他类无效。其实是new其他类,不执行自动载入,解决方式是,
1、手动载入,require引入这个类文件
2、new这个文件的第一个类或同文件名的类,让其自动载入
新建2个文件index.php与app/a.php
app/a.php
namespace App;
class A{
public function __construct() {
echo 'a';
}
}
class B{
public function __construct() {
echo 'b';
}
}
index.php
define('BASEDIR',__DIR__);
include BASEDIR.'/Common/Loader.php';
spl_autoload_register('\\Common\\Loader::autoload'); //类的自动载入,前文有介绍
以下index.php都省略如上这段
注意use并不会执行Common\Loader::autoload,实例化或静态使用才会执行
//这是载入B.php,不存在报错
use App\A;
new A; //a;loading:App\A
new B; //报错;loading:B
//这是载入App/B.php,不存在报错
use App\A;
use App\B;
new B; //报错;loading:App\B
//载入了A,并use了名称,找到了class B 所以使用正确。同一文件下多个class类,实例化A类,即载入了A.php
use App\A;
use App\B;
new A; //a; loading:App\A
new B; //b
原理同上,不new A一样报错
use App\A;
new A; //a; loading:App\A
new App\B; //b
其实原因就是没有载入A.php文件,使用手动载入可以避免必须new A的情况
require 'App/a.php';
new APP\B; //b
php 引入类_PHP 如何引入同一文件下多个class类相关推荐
- thinkphp mysql类_PHP封装类似thinkphp连贯操作数据库的Db类(简单版)
为了方便操作Mysql数据库, 封装类似thinkphp连贯操作数据库的Db类<?php header("Content-Type:text/html;charset=utf-8&qu ...
- php如何引入jquery文件路径问题,php引入文件_PHP 自动引入一个目录的所有 PHP 文件...
摘要 腾兴网为您分享:PHP 自动引入一个目录的所有 PHP 文件,中国体育,永安期货,伪装定位,围棋宝典等软件知识,以及修改文件时间,cf准星,希沃,初中英语语法,浦发村镇银行,通化大嘴,日语翻译软 ...
- php引入目录外面,php引入文件_PHP 自动引入一个目录的所有 PHP 文件
摘要 腾兴网为您分享:PHP 自动引入一个目录的所有 PHP 文件,篆刻字典,永辉生活,幸福一百,心视界等软件知识,以及襄阳同城,捡漏网,一里路,迅雷迷你,dpk750打印机驱动,ko电玩城,多可知识 ...
- python怎么导入文件-Python文件如何引入?详解引入Python文件步骤
python基本语法--引入Python文件 1.新建python文件 :在同目录lib下创建mylib.py和loadlib.py两个文件 2.在mylib.py文件中创建一个Hello的类 并且给 ...
- php phar包require报错,php,_很奇怪,php 引入了phar,但是报错,说Predis\Client类找不到?,php - phpStudy...
很奇怪,php 引入了phar,但是报错,说Predis\Client类找不到? require 'Predis.phar'; use Predis\Client; ini_set('session. ...
- vue项目html引入css,vue项目引入自定义.css的样式文件
ES6的引入方式: .vue文件中 css文件引入 @import "../assets/common/common.css";//自定义.css的样式路径 js文件的引入 在ma ...
- webpack引入iview.css,解决webpack+Vue引入iView找不到字体文件的问题
原因: css-loader后面带了参数modules(打包报错) url-loader后面带了参数name(引入报错) { test: /\.css$/, use: ExtractTextPlugi ...
- python导入自定义文件_python引入导入自定义模块和外部文件的实例
项目中想使用以前的代码,或者什么样的需求致使你需要导入外部的包 如果是web 下,比如说django ,那么你新建一个app,把你需要导入的说用东东,都写到这个app中,然后在setting中的app ...
- springmvc测试类中如何引入controller与service,request,respon
使用的引入注解不同 (引入controller的时候有时候会拿不到,那是因为controller类的最上面,没有引入@Controller注解:) @RunWith(SpringJUnit4Class ...
最新文章
- iphone连上wifi却上不了网_必收藏为什么手机信号满格,却上不了网,4招为你解决...
- 无法解析的外部符号 class boost::system::error_category const __cdecl boost::system::system_category(void)
- Session机制二(简易购物车案例)
- Visual Studio 添加.props属性表文件,以intel.realsense.props为例(附手动配置方法)
- 新兴机器学习算法:从无监督降维到监督降维
- Struts2 学习系列 (2) 访问web资源
- lock.lock_HibernateCascadeType.LOCK陷阱
- 从数学优化到视觉设计
- 识别物体是否存在_【科学实践Vol.1】带你玩转“人脸识别”
- 解决:安装R包时,经常提示“package ‘readr’ is not available (for R version 3.5.1)”的问题
- Windows 和 Ubuntu双系统时间同步设置方法
- spark reduceByKey源码解析
- lazarus中截取整个屏幕画面并保存为指定文件
- Spark一系列入门流程
- 惠普打印机墨盒更换教程_hp打印机墨盒怎么安装 hp打印机墨盒安装方法【详解】...
- 应用程序-特定权限设置_在您的应用程序中管理付款:设置网站-代码
- 易语言API获取进程程序路径
- 国产32层堆栈3D闪存2019年量产 2020年赶超国际
- 无需外设实现电脑远程开机
- Python中使用遍历在列表中添加字典的坑
热门文章
- Castle.MVC框架介绍
- Ubuntu下 MySQL安装
- 自定义ServicesLoader来实现根据配置使用不通的SPI实现从而实现项目扩展
- 手动实现Promise
- OS X快捷键小技巧
- Docker学习总结(6)——通过 Docker 化一个博客网站来开启我们的 Docker 之旅
- 引用的定义、使用及其和指针的区别与联系
- [轉]MS SQL Server启用AWE用查看内存使用情况
- [转发] 【GRT安智网】HTC安致手机ROM国内首个中文定制教程goapk首发[最新厨房V0......
- LINQ TO XML练习