В качестве обходного пути для различных проблем, указанных выше - сложности сопровождения кода, контроля версий, поиска ошибок, у вас есть немного «клугейная» возможность:
Создайте функции (назовите их внимательно, в соответствии с тем, что они делают) в некотором файле, который всегда включен - если у вас есть собственный модуль, который вы пишете для сайта, это отличное место для размещения этих функций. В таком случае php, который вы вводите, просто: return my_specialfunc($somevar);
- $somevar
здесь, возможно, объект узла, над которым работали, или любые другие переменные, которые здесь важны
Я нахожу, что я все еще обычно хочу гибкость, в некоторых местах, для вызова моего собственного кода. Используя эту технику, поддерживать код легко, так как это просто вопрос изменения функции в файле. Обнаружение ошибок легко, так как функция будет отображаться в обратном направлении.
Однако обратите внимание, что это не решает потенциальные проблемы безопасности. Это во многом зависит от безопасности ядра Drupal. Вообще, код, содержащий базу данных, часто является пятой безопасности ахиллеев - функциональные возможности, использующие код, содержащийся в базе данных, имеют тенденцию быть гораздо более подверженными эксплуатации, и безопасность вокруг них должна быть очень жесткой. Тем не менее, Drupal в целом неплохо поддерживал безопасность для этих проблем - они возникли, а затем быстро исправлены / решены с помощью новых выпусков.