Как создать функцию PHP, только видимую внутри файла? Не отображается внешнему файлу. Другими словами, что-то эквивалентное статической функции в C
Как создать функцию PHP, только видимую внутри файла?
Ответ 1
Невозможно фактически сделать функцию видимой только внутри файла. Но вы можете делать подобные вещи.
Например, создайте лямбда-функцию, назначьте ее переменной и отмените ее при выполнении:
$func = function(){ return "yay" };
$value = $func();
unset($func);
Это обеспечивается тем, что ваш script является процедурным.
Вы также можете играть с пространствами имен.
Лучше всего создать класс и сделать метод private
Ответ 2
Создайте класс и сделайте метод приватным.
<?php
class Foo
{
private $bar = 'baz';
public function doSomething()
{
return $this->bar = $this->doSomethingPrivate();
}
private function doSomethingPrivate()
{
return 'blah';
}
}
?>
Ответ 3
Используйте namespace, чтобы применить свою собственную видимость.
В мире PHP пространства имен предназначены для решения двух проблем, которые авторы библиотек и приложений сталкиваются при создании повторно используемые текстовые элементы, такие как классы или функции:
- Сопоставляйте имена кодов, создаваемых вами, и внутренние классы/функции PHP/константы или сторонние классы/функции/константы.
- Возможность псевдонима (или сокращение) Extra_Long_Names, предназначенная для облегчения первой проблемы, улучшения читаемости исходного кода.