Открытые функции предназначены для выполнения операций с экземпляром этого класса.Скажем, Save()
.
Внутренняя работа Save()
не интересует вызывающего;он просто хочет сохранить его, и ему все равно, как это происходит.
Как стиль, вы можете или не хотите выполнять сохранение в этом методе.Это может зависеть от выбора дизайна или свойств объекта.См .:
class FooObject
{
private $_source;
public function Save()
{
if ($this->_source == "textfile")
{
$this->saveToTextfile();
}
elseif ($this->_source == "database")
{
$this->saveToDatabase();
}
}
private function saveToTextfile()
{
// Magic
}
private function saveToDatabase()
{
// Magic
}
}
Вы не хотите, чтобы кто-либо вызывал приватные методы напрямую, потому что они предназначены только для внутреннего использования.Однако открытый метод может косвенно вызывать закрытый метод.