gpt4 book ai didi

PHP:将函数范围限制在当前文件内

转载 作者:可可西里 更新时间:2023-11-01 13:28:15 25 4
gpt4 key购买 nike

有什么方法可以限制 php 文件中非类函数的范围,并使它们只能在它所在的 php 文件中访问?就像 C 如何使用带有函数的 static 关键字来实现这一点。在 php 中,static 似乎只适用于类。我想隐藏只能由文件中的函数访问的辅助函数。谢谢。

最佳答案

我能想到的最接近的解决方案是:

<?php
call_user_func( function() {
//functions you don't want to expose
$sfunc = function() {
echo 'sfunc' . PHP_EOL;
};

//functions you want to expose
global $func;
$func = function() use ($sfunc) {
$sfunc();
echo 'func' . PHP_EOL;
};
} );

$func();
?>

但是你必须调用像 $func() 这样的函数而不是 func()。问题是当您将 $func 重新分配给其他值时它会中断。

$func = 'some other value';
$func(); //fails

当然你可以创建包装函数:

function func() {
$func();
}

这样可以像func()那样调用,但是重赋值问题依然存在:

$func = 'some other value';
func(); //fails

关于PHP:将函数范围限制在当前文件内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18092387/

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