Php 在函数中定义类
我正在学习php,脑海中出现了一个问题,我可以在函数中定义如下类:Php 在函数中定义类,php,Php,我正在学习php,脑海中出现了一个问题,我可以在函数中定义如下类: public class test{ public function newtest(){ // defining a class here like this: public class funclass{ ..... } } } 是的,你可以 function a(){ class A { } } var_dump(class_exists('A'
public class test{
public function newtest(){
// defining a class here like this:
public class funclass{
.....
}
}
}
是的,你可以
function a(){
class A {
}
}
var_dump(class_exists('A')); //bool(false)
a();
var_dump(class_exists('A')); //bool(true)
但是,请记住,类是全局的。您不能仅将类绑定到函数作用域。是的,您可以
function a(){
class A {
}
}
var_dump(class_exists('A')); //bool(false)
a();
var_dump(class_exists('A')); //bool(true)
但是,请记住,类是全局的。您不能仅将类绑定到函数作用域。您可以而不能
删除那些public
s后运行代码,您将得到以下结果:
致命错误:类声明不能嵌套在第6行
你可以而不是
删除那些public
s后运行代码,您将得到以下结果:
致命错误:类声明不能嵌套在第6行
你试过了吗?你会知道它是干什么的你为什么要这么做?该类可以动态创建,但仅限于该函数问题与代码不匹配。您尝试过吗?你会知道它是干什么的你为什么要这么做?该类可以动态创建,但它的作用域仅限于该函数问题与代码不匹配。您不能这样做。将该函数
a()
像它们那样放入类中,然后重试。答案是明确的“否”。请看他们的代码。@Hanky웃答案很清楚:不能只将类绑定到函数作用域。所以我接受这个答案。你可以接受这个答案,这不是问题。但是这个答案不适用于您的代码。无论您试图在代码中做什么,都是不可能的。在这个解决方案中没有外部类,这就是它工作的原因。@Hanky웃潘奇,你当然是对的。但问题的标题与代码不匹配。简历:内部函数你可以,内部方法你不能。这是正确的。误解只是基于这种差异。我根据他们的代码继续回答,你根据他们的标题回答。这两个答案都是正确的,这取决于实际情况+你不能这样做。将该函数a()
像它们那样放入类中,然后重试。答案是明确的“否”。请看他们的代码。@Hanky웃答案很清楚:不能只将类绑定到函数作用域。所以我接受这个答案。你可以接受这个答案,这不是问题。但是这个答案不适用于您的代码。无论您试图在代码中做什么,都是不可能的。在这个解决方案中没有外部类,这就是它工作的原因。@Hanky웃潘奇,你当然是对的。但问题的标题与代码不匹配。简历:内部函数你可以,内部方法你不能。这是正确的。误解只是基于这种差异。我根据他们的代码继续回答,你根据他们的标题回答。这两个答案都是正确的,这取决于实际情况+1.