功能范围是PHP外的

时间:2014-04-01 05:46:31

标签: php

我想知道什么是失控的功能范围。它是私人的,公共的还是受保护的?

function abc {
   //code here
}

class xyz {
 function car () {
   // code here 
 }
}

现在什么是abc函数scop?

请帮帮我

2 个答案:

答案 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?