在 PHP 中,如何将过程代码包装在类中?

2023-12-24

我有一大块遗留的 php 代码,我需要与之交互,如下所示:

//legacy.php

function foo() {
}

function bar() {
}

我希望能够将这些遗留函数包装在一个类中或以某种方式 require_once ,而不污染该全局命名空间或更改原始文件。


您可以使用名称空间 http://www.php.net/manual/en/language.namespaces.rationale.php或类中的静态方法:

// original file: foo.php
class Foo
{
  public static function foo() { }
  public static function bar() { }
}

// new file:
require 'foo.php';

class MyNewClass
{
  public function myfunc()
  {
    Foo::foo();
  }
}

$x = new MyNewClass();
$x->myfunc();

两者都需要对文件进行轻微修改。例如,致电bar()必须改为Foo::bar()与上面的示例(具有静态方法的类)。

或者,使用命名空间:

namespace foo;

use \Exception;
// any other global classes

function foo() { }
function bar() { }

在你的文件中:

require 'foo.php';

foo\foo();
foo\bar();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 PHP 中,如何将过程代码包装在类中? 的相关文章

随机推荐