PHP语言参考手册有关于函数和类的详细信息:
http://www.php.net/manual/zh/langref.php
它还解释了PHP的大多数其他特性。如果想学习PHP,那是最好的起点。
函数
函数是语句(代码行)的分组。
例如以下语句:
$name = 'mary';
$gender = 'girl';
if ($gender == 'girl') {
$line = $name . ' had a little pony.';
} else if ($gender == 'boy') {
$line = $name . ' had a little horse.';
}
echo $line;
可以将它们分组成一个函数,这样就可以重复使用:
getSentence('mary', 'girl');
getSentence('peter', 'boy');
function getSentence($name, $gender) {
if ($gender == 'girl') {
$line = $name . ' had a little pony.';
} else if ($gender == 'boy') {
$line = $name . ' had a little horse.';
}
echo $line;
}
请注意这两个函数调用:
getSentence('mary', 'girl');
getSentence('peter', 'boy');
这两个语句运行getSentence函数中的整个代码块,并将变量$name和$gender传递给它。
在第一个功能中,
$name = 'mary'
和
$gender = 'girl'
,在第二个功能中,
$name = 'peter'
和
$gender = 'boy'
。
因此,函数的主要好处是您可以分组重复使用的代码,允许传递函数需要的不同变量值。这些变量称为函数参数。
另一个好处是代码更易于阅读。您实质上给代码块命名并赋予其特定目的。这使得阅读和记住其用途变得容易。
另一个好处是删除了冗余。您不必多次编写代码块。只需定义一次,然后调用多次即可。这也使得编辑函数代码会影响对该函数的所有调用,从而减少了在更改一个方面时必须编辑多个位置的错误。
例如:
我们可以确保$name字符串具有大写字母开头的字符。
function getSentence($name, $gender) {
$name = ucfirst($name);
if ($gender == 'girl') {
$line = $name . ' had a little pony.';
} else if ($gender == 'boy') {
$line = $name . ' had a little horse.';
}
echo $line;
}
我们只进行了一次修改,却影响了每次对getSentence()的函数调用。在这种情况下,两个函数都受到了影响:
getSentence('mary', 'girl');
并且
getSentence('peter', 'boy');
类是函数的分组。
class Play {
function getSentence($name, $gender) {
$name = ucfirst($name);
if ($gender == 'girl') {
$line = $name . ' had a little pony.';
} else if ($gender == 'boy') {
$line = $name . ' had a little horse.';
}
echo $line;
}
function getSong($name) {
}
}
我们所做的只是将其放置。
class Play { }
围绕一组函数。
这提供了与语句相同的功能,但是类对于函数而言更进一步。
类更进一步构建了一种编程方法论,称为面向对象编程(OOP),你可以在 PHP 语言参考链接中阅读更多相关信息。
这将类定义为对象的模板或定义。对象类似于现实世界的对象,其中被称为“方法”的功能可以用于调用该对象。
因此,类 Play 可以被视为名为“Play”的对象,具有方法“getSentence”和“getSong”。然后,这些方法可以操纵对象“Play”的属性或返回有用的关于“Play”的信息。通过这种方式,Play 中的所有代码变得独立于程序中其他代码。
当 Play 中的代码需要某些其他代码才能运行时,可以使用“继承”将其引入,这是 OOP 的重要组成部分。由于这是一个非常广泛的主题,我不会详细介绍。
我建议获取一本关于 OOP 的书籍并阅读它,以真正理解何时应该使用类和方法以及如何使用它们。