php - 在包含的文件中使用 PHP 命名空间

标签 php namespaces

我尝试对包含的文件使用命名空间:

<?php
  namespace MyNamespace;

  function foo() {
    echo 'Test';
  }

  include( 'otherfile.php' );
?>

otherfile.php 里面是一个 <?php foo(); ?>;我也希望看到 "Test" 作为它的输出。

有没有机会在不修改其他文件的情况下实现这一点?

我的愿望:我想替换外部库代码中的现有文件。我不想修改该代码,因为我希望在那里获得进一步的更新。

最佳答案

不,这不可能。您正在定义函数 MyNamespace\foo。包含的文件正在调用函数 foo。如果不更改该文件中的代码,就无法更改 foo() 所指的含义。如果您想替换函数 foo,您唯一真正的希望是定义您自己的 function foo(无 namespace )并避免加载该函数的其他实现。如果不是这个,那就是runkit之类的东西,您真的不想求助于此。

关于php - 在包含的文件中使用 PHP 命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56731868/

相关文章:

php - 从 php if 语句运行 JavaScript 函数

php - 只有主页可以在本地主机版本的 Wordpress 上运行

Javascript:当它包含一个点时获取构造函数名称

r - 为什么调用指定命名空间的函数会更慢?

WCF 休息 : Is it possible to remove the namespace added to my response XML?

c++ - 为什么禁止一次打开多个命名空间?

PHP代码没有被执行,但是代码显示在浏览器源代码中

php - PHP 中的 MongoDB - 如何将项目插入集合中的数组?

PHP ORM - Redbean 的安全性?

css - 可扩展的全局变量赋值@mixin for Sass