PHP требует ТОЛЬКО определенной функции из файла

Могу ли я потребовать/включить/импортировать определенную функцию, объявленную в другом файле .php, без требования/включения/импорта всего файла, как в Java? Например что-то вроде этого:

файл1

function test(){echo "OK";}

function test2(){echo "Not OK";}

файл2

require "file1.php test"
test();

person ndelucca    schedule 15.08.2017    source источник
comment
Нет, если вы хотите разделить функции, поместить их в классы?   -  person ʰᵈˑ    schedule 15.08.2017
comment
Я так не думаю.   -  person Rafael Barros    schedule 15.08.2017
comment
Я думаю, вам это нужно, потому что, возможно, в file1.php есть какой-то другой код, который будет выполняться, если вы включите file1.php, а вы этого не хотите. Я прав?   -  person Nima    schedule 15.08.2017
comment
@ Нима, да, именно в этом суть.   -  person ndelucca    schedule 15.08.2017
comment
Так что переместите нужную вам функцию в отдельный файл и требуйте этот файл везде, где он нужен.   -  person iainn    schedule 15.08.2017
comment
Я не знаю, почему люди так быстро голосуют против ... Это правильный вопрос.   -  person MJ Khan    schedule 15.08.2017
comment
@ndelucca Было бы неплохо поместить определения и исполняемый код в разные файлы. Например, создайте новый файл function_definitions.php и добавьте определения функций в этот файл, а в file1.php включите этот новый файл и используйте эти функции. Эта проблема возникает из-за размещения определений и остального кода в одном файле.   -  person Nima    schedule 15.08.2017
comment
@ Нима, я понимаю, но это не совсем мой код, и я не могу изменять вещи по своему усмотрению, поэтому я искал решение, которое не требовало разрешения у кого-то другого.   -  person ndelucca    schedule 15.08.2017


Ответы (1)


Во-первых, даже при использовании Java весь файл включен, вы просто не видите, что происходит за кулисами.

Простой ответ: добавьте свою функцию в собственный файл, также известный как ООП.

person DrRoach    schedule 15.08.2017
comment
что я имею в виду в Java, так это то, что вы можете импортировать отдельные методы класса, не импортируя весь класс. - person ndelucca; 15.08.2017
comment
Добавление функции в собственный файл не является ООП, кстати. - person u_mulder; 15.08.2017
comment
Нет, но создание класса для объекта, содержащего все его методы. - person DrRoach; 15.08.2017