Вы не можете хранить произвольный PHP в CSV-файле, а затем ожидать, что он будет работать без вызова eval
(или схожей функциональности).
Безопасный способ сделать то, что вы просите, - это обработатьфайл как data , а не код.
Вот почему существуют такие языки, как BBCode: у вас не может быть инертного языка, запускающего активные функции напрямую, поэтому вы создаете простой для интерпретации мини-scripting-language, который позволяет вам достичь того, что вы хотите.
Другими словами, вы не можете хранить активные «правила» в файле, не интерпретируя их каким-либо образом, и вы не можете одновременно позволить им содержать произвольный PHP и быть «безопасный".Таким образом, вы можете либо попытаться разобрать и ограничить PHP (не надо, это сложно!), Либо вы можете дать им приятный легкий маленький язык и интерпретировать это.Или, что еще лучше, не храните логику в файлах данных.