php命名空间类的使用疑惑
写了一个类且使用了命名空间:`
namespace a\b;
class Demo extends XXX{
<code>……</code>
}`
在另一个文件中使用:`
use a\b\Demo;
$d = new Demo();
`
提示:XXX类找不到。
我自己的类使用了命名空间,继承的XXX类是属于第三方的类库,第三方类库并没有使用命名空间,使用的是require_once文件包含。
我不知道这个问题怎么去解决,把第三方类库全改成命名空间形式的不太现实,总不能每当使用到第三方时都这么做吧,工程量很大。
回复内容:
写了一个类且使用了命名空间:`
namespace a\b;
class Demo extends XXX{
<code>……</code>
}`
在另一个文件中使用:`
use a\b\Demo;
$d = new Demo();
`
提示:XXX类找不到。
我自己的类使用了命名空间,继承的XXX类是属于第三方的类库,第三方类库并没有使用命名空间,使用的是require_once文件包含。
我不知道这个问题怎么去解决,把第三方类库全改成命名空间形式的不太现实,总不能每当使用到第三方时都这么做吧,工程量很大。
a.php
<code><?php namespace a\b; class Demo extends \C { public function __construct() { echo 'This is Demo obj<br />'; } }</code>
c.php
<code><?php class C { public function out() { echo 'This is C obj<br />'; } }</code>
b.php
<code><?php require 'c.php'; require 'a.php'; use a\b\Demo; $d = new Demo(); $d->out();</code>
大概是这个意思吧?
如果第三方类没有设置命名空间,PHP默认会加上一个顶级命名空间'\'的
顺便注意文件的加载顺序
<code>class Demo extends \XXX</code>
1.XXX 类以及这个类里面需要用到的类必须加namespace
2.代码必须修改:
<code>namespace a\b; use 路径/路径/XXX; //此处必须将XXX继承的class 使用use操作符导入进来 class Demo extends XXX{ …… }` </code>
这两个条件缺一不可!!!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

PHP 8.4 带来了多项新功能、安全性改进和性能改进,同时弃用和删除了大量功能。 本指南介绍了如何在 Ubuntu、Debian 或其衍生版本上安装 PHP 8.4 或升级到 PHP 8.4

CakePHP 是 PHP 的开源框架。它的目的是使应用程序的开发、部署和维护变得更加容易。 CakePHP 基于类似 MVC 的架构,功能强大且易于掌握。模型、视图和控制器 gu

登录 CakePHP 是一项非常简单的任务。您只需使用一项功能即可。您可以记录任何后台进程(如 cronjob)的错误、异常、用户活动、用户采取的操作。在 CakePHP 中记录数据很容易。提供了 log() 函数

Visual Studio Code,也称为 VS Code,是一个免费的源代码编辑器 - 或集成开发环境 (IDE) - 可用于所有主要操作系统。 VS Code 拥有针对多种编程语言的大量扩展,可以轻松编写

CakePHP 是一个开源MVC 框架。它使开发、部署和维护应用程序变得更加容易。 CakePHP 有许多库可以减少大多数常见任务的过载。
