Como uma solução alternativa para os vários problemas especificados acima - dificuldade de manutenção de código, controle de versão, localização de erros, você tem essa possibilidade "klugey":
Crie funções (nomeie-as com cuidado, de acordo com o que elas fazem) em algum arquivo sempre incluído - se você tiver um módulo personalizado que está escrevendo para o site, é um ótimo lugar para colocar essas funções. O php que você digita então é simplesmente: return my_specialfunc($somevar);
- $somevar
aqui sendo potencialmente o objeto do nó trabalhado, ou quaisquer outras variáveis relevantes aqui.
Acho que ainda quero a flexibilidade, em alguns lugares, de chamar meu próprio código. Ao usar essa técnica, é fácil manter o código, pois é simplesmente uma questão de modificar a função no arquivo. A detecção de erros é fácil, pois a função será exibida em um backtrace.
Observe, no entanto, que isso não resolve os possíveis problemas de segurança. Estes são amplamente dependentes da segurança do núcleo Drupal. Em geral, o código contido no banco de dados geralmente é o ponto alto da segurança - as funcionalidades que usam o código contido no banco de dados tendem a ser muito mais propensas à exploração, e a segurança ao seu redor precisa ser muito rígida. No entanto, o Drupal em geral tem sido muito bom em manter a segurança desses problemas - eles surgiram e rapidamente foram corrigidos / resolvidos com os novos lançamentos.