php laravel drupal drupal-7 laravel-5

php - Error de redeclación de función cuando se usa la API de Drupal en el proyecto Laravel



drupal-7 laravel-5 (1)

Intenté reiniciar API drupal dentro de mi proyecto laravel colocando este código dentro del archivo (public / index.php) en el directorio del proyecto laravel:

$DOCUMENT_ROOT = $_SERVER[''DOCUMENT_ROOT'']; define(''DRUPAL_ROOT'', $DOCUMENT_ROOT.''drupal738''); require_once DRUPAL_ROOT . ''/includes/bootstrap.inc''; drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);

el código de arranque se toma del sitio web de drupal:

https://api.drupal.org/api/drupal/includes!bootstrap.inc/function/drupal_bootstrap/7

pero cuando abro la página de inicio de sesión en mi proyecto laravel aparece el siguiente error:

Fatal error: Cannot redeclare url() (previously declared in C:/wamp/www/laravelTest/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php:566) in C:/wamp/www/drupal738/includes/common.inc on line 2333

y eso es porque hay algunas funciones con los mismos nombres que se definen en laravel y drupal tales como url() y base_path() .

Entonces, ¿hay alguna forma de resolver esto sin romper nada en laravel o en Drupal?


Esta es la razón por la cual las funciones globales son malas prácticas. Eventualmente puede profundizar en el código drupal y eliminar la función con los mismos nombres como en laravel si no afectan el resto del código o puede refactorizar (renombrar) la función en la base de código drupal con algún IDE inteligente.