Maison développement back-end tutoriel php php 命名空间使用使用有关问题

php 命名空间使用使用有关问题

Jun 13, 2016 am 11:54 AM
function nbsp php test use

php 命名空间使用使用问题

本帖最后由 potency 于 2014-03-20 09:46:47 编辑 test1.php:
namespace test1;
function test()
{
    echo __FUNCTION__;
}
[/code]

test2.php

<br /><?php<br />use test1;<br />function test2()<br />{<br />    echo __FUNCTION__;<br />}<br />echo test1();<br />
Copier après la connexion

这2个php文件都在同一个子目录 test 下面。
在浏览器里运行http://localhost/test/test2.php 出现如下错误:
----------

( ! ) Warning: The use statement with non-compound name 'test1' has no effect in E:\wamp\Apache\htdocs\robot\test\test2.php on line 6

( ! ) Fatal error: Call to undefined function test1() in E:\wamp\Apache\htdocs\robot\test\test2.php on line 11
Call Stack
# Time Memory Function Location
1 0.0020 134912 {main}( ) ..\test2.php:0

--------------
很奇怪。有人知道是什么问题吗?我php是5.4

------解决方案--------------------
include 'test1.php';<br />//use test1;<br />function test2()<br />{<br />    echo __FUNCTION__;<br />}<br />echo test1\test();
Copier après la connexion

------解决方案--------------------
namespace test1;<br />include 'test1.php';<br />function test2()<br />{<br />    echo __FUNCTION__;<br />}<br />echo test();
Copier après la connexion

------解决方案--------------------
函数和常量是不支持use导入规则的,只有类能支持导入规则。
而且use test1;这种写法本身就是不对的。
像use test1/classname 这种写法才行,下面实例化函数的时候
new classname; //php会在test1命名空间下找classname的类,如果没有找到就自动装载了。

------解决方案--------------------
正如版主的例子 在用use的时候要像下面这样:
use test1\test as test2; 
或者
use test1\test; 这个 其实相当与 use test1\test as test;

上面的test1是命名空间后面跟着的test是test1命名下的test类
然后实例化 new test() 等价与 new test1\test();
这个就是use的作用,就是别名的意思。
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Dec 24, 2024 pm 04:42 PM

Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian

La montre intelligente Huawei Watch GT 5 reçoit une mise à jour avec de nouvelles fonctionnalités La montre intelligente Huawei Watch GT 5 reçoit une mise à jour avec de nouvelles fonctionnalités Oct 03, 2024 am 06:25 AM

La montre intelligente Huawei Watch GT 5 reçoit une mise à jour avec de nouvelles fonctionnalités

Comment configurer Visual Studio Code (VS Code) pour le développement PHP Comment configurer Visual Studio Code (VS Code) pour le développement PHP Dec 20, 2024 am 11:31 AM

Comment configurer Visual Studio Code (VS Code) pour le développement PHP

Comment analysez-vous et traitez-vous HTML / XML dans PHP? Comment analysez-vous et traitez-vous HTML / XML dans PHP? Feb 07, 2025 am 11:57 AM

Comment analysez-vous et traitez-vous HTML / XML dans PHP?

Programme PHP pour compter les voyelles dans une chaîne Programme PHP pour compter les voyelles dans une chaîne Feb 07, 2025 pm 12:12 PM

Programme PHP pour compter les voyelles dans une chaîne

Le nouveau chauffe-huile en graphène Xiaomi Mijia avec HyperOS arrive Le nouveau chauffe-huile en graphène Xiaomi Mijia avec HyperOS arrive Oct 02, 2024 pm 09:02 PM

Le nouveau chauffe-huile en graphène Xiaomi Mijia avec HyperOS arrive

7 fonctions PHP que je regrette de ne pas connaître auparavant 7 fonctions PHP que je regrette de ne pas connaître auparavant Nov 13, 2024 am 09:42 AM

7 fonctions PHP que je regrette de ne pas connaître auparavant

Top 10 des plateformes CMS PHP pour les développeurs en 2024 Top 10 des plateformes CMS PHP pour les développeurs en 2024 Dec 05, 2024 am 10:29 AM

Top 10 des plateformes CMS PHP pour les développeurs en 2024

See all articles