【发布时间】:2016-11-13 12:30:31
【问题描述】:
我无法理解 PHP 中类型提示的重要性。
显然 PHP 中的“类型提示”可以定义如下:
“类型提示”强制您只传递特定类型的对象。 这可以防止您传递不兼容的值,并创建一个 如果您与团队等合作,则为标准。
那么在最基本的层面上进行类型提示,不需要真正让代码工作吗?
我有以下代码来尝试了解发生了什么......
Index.php
<?php
include 'Song.php';
$song_object = new Song;
$song_object->title = "Beat it!";
$song_object->lyrics = "It doesn't matter who's wrong or right... just beat it!";
function sing(Song $song)
{
echo "Singing the song called " . $song->title;
echo "<p>" . $song->lyrics . "</p>";
}
sing($song_object);
Song.php
<?php
class Song
{
public $title;
public $lyrics;
}
无论有没有函数 sing() 中的小类型提示,代码都会执行其操作;
所以,这让我相信类型提示只是一种编码约定,以确保只使用某些类而不需要生成功能代码,这是正确的吗?
如上所述,类型提示是否可以在您与团队合作时创建标准。
我错过了什么吗?
【问题讨论】:
-
哇,在这里我试图让它变得更复杂。谢谢!
-
类型提示可以帮助您快速捕获错误,方法是在您向它传递一个它不能接受的参数时抱怨,而不是让它接受它,然后在它试图将它用作类型对象时抛出神秘错误X 而实际上它是 Y 类型的对象。
-
咳咳,依赖注入也是。事实上,您不必在方法内实例化一个类。
-
类型提示和返回类型,可以帮助智能编辑器。
标签: php oop type-hinting