gpt4 book ai didi

php需要从内部方法调用类

转载 作者:可可西里 更新时间:2023-10-31 22:07:20 24 4
gpt4 key购买 nike

根据我的理解,require 将代码粘贴到调用的 php 文件中。

如果您从方法内部请求怎么办...它会将整个代码/类粘贴到方法中,从而阻止方法中的下一条语句。

例如。

  function test() {

require 'pathtosomeclasscode';
somestatement; // any code after the require is blocked.

}

我该如何解决这个问题,以便能够在任何地方都需要代码,而无需将其粘贴到那个确切的位置?

最佳答案

有点令人惊讶的是,这似乎工作得很好。包含的代码将在 Baz::bork() 的范围内执行——但代码只是定义了一个类,并且类是全局的。所以你最终得到了一个定义好的类。

文件:Foo.php:

<?PHP
class Foo{
function bar(){
echo "Hello from Foo::bar()!\n";
}
}

文件:Baz.php:

<?PHP
class Baz{

function bork(){
require_once "Foo.php";
$f = new Foo();
$f->bar();
}
}

echo "testing internal definition:\n";
$b = new Baz();
$b->bork();

echo "\ntesting in global scope:\n";

$f = new Foo();
$f->bar();
echo "\nall done\n";

输出:

$ php Baz.php
testing internal definition:
Hello from Foo::bar()!

testing in global scope:
Hello from Foo::bar()!

all done

现在,我想不出有多少地方您想以这种方式做事。人们通常 require_once() 在类文件的顶部,在类定义之外的任何可能的依赖项。

关于php需要从内部方法调用类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2755500/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com