PHP中的所有声明是什么?

时间:2018-08-08 23:00:58

标签: php declaration

我不知道“声明”是否适合我的要求。可能是“定义”或其他内容。

PHP不声明变量。您只需通过分配值来定义它们。

但是有些关键字声明了新实体的存在:constfunctionclassinterface。它们都具有相同的语法:

keyword EntityName code

相同
const ConstantName = 1;
function FunctionName {...}
class ClassName {...}
interface InterfaceName {...}

我在PHP Manual中看不到一起讨论这些关键字的任何地方,但是它们显然在语言中起着顶级作用。它们每个都记录在手册的相应部分中,但是我想知道是否存在一种有用的方式来考虑它们所扮演的相似角色。除了这四个关键字之外,该类别中还有其他关键字吗?是否有关于它们的组合文档?

1 个答案:

答案 0 :(得分:0)

尽管PHP是一种“弱类型”语言(因此您不能声明变量类型),但PHP7加强了类型保护(如果strict_types设置为1)。

您不能在代码行中声明类型,但可以在函数声明中使用它们。

function myfunction(float $a, float $b) : int {
  return $a + $b;
}

请注意,我们声明了$ a,$ b类型和返回类型。

另一个允许您“声明”变量类型的功能是“新”运算符(与许多其他OOP语言一样)。使用“ new”,您将实例化您的类,除非您执行动态绑定或强制转换,否则它不会改变。

只是为了澄清您提到的概念:

  • const:声明一个类常量(从PHP 5.3开始,您还可以在类外部使用const)。
  • function:经典的PHP函数/方法声明。 PHP7允许您设置参数类型和返回类型。
  • class:类声明。
  • interface:接口声明(特殊的基类定义,没有继承就不能实现)。

一些对初学者有用的资源。

(PHP7 OOP) http://www.brainbell.com/tutorials/php/php7-oop-beginners.html http://php.net/manual/en/reserved.keywords.php(来自@Jacin评论)

(PHP7类型) https://www.tutorialspoint.com/php7/php7_returntype_declarations.htm http://blog.teamtreehouse.com/5-new-features-php-7