我想知道什么是失控的功能范围。它是私人的,公共的还是受保护的?
function abc {
//code here
}
class xyz {
function car () {
// code here
}
}
现在什么是abc函数scop?
请帮帮我
答案 0 :(得分:1)
任何类之外的函数都是全局的,可以从任何地方调用。与变量相同..只记得使用全局变量......
e.g
<?php
function abc() { }
$foo = 'bar';
class SomeClass {
public function tada(){
global $foo;
abc();
echo 'foo and '.$foo;
}
}
?>
功能在全球范围内定义;所以,你不需要做任何事情来从你的班级方法中使用它们。
有关更多信息,请参阅function page in the manual,其中说明(引用):
PHP中的所有函数和类都具有全局范围 - 即使它们是在内部定义的,也可以在函数外部调用它们,反之亦然。
如果在类中定义了“function”,它就不再被称为“函数”,即使它仍然是使用的函数:它被称为“方法”
方法可以静态使用:
MyClass::myMethod();
或动态:
$obj = new MyClass();
$obj->myMethod();
取决于它们是否被定义为静态。
答案 1 :(得分:-1)
function abc {
//code here
}
这是一个公共函数,因为函数范围主要在类中,在您的情况下abc
不在一个类中,所以它表现为一个公共函数
public
范围使得该变量/函数可以从任何地方,其他类和
对象的实例。
private
范围,当您希望变量/函数仅在其自己的类中可见时。
protected
范围当你想让你的变量/函数在扩展当前类(包括父类)的所有类中都可见时。
参考What is the difference between public, private, and protected?