“Conocimiento Programación>Programación PHP /MySQL

¿Cómo se incluye el archivo PHP en la devolución de llamada de la página Drupal?

2014/12/21
No "incluye" un archivo PHP de la misma manera que lo haría en un script PHP estándar dentro de una devolución de llamada de la página Drupal. El sistema de temas y módulos de Drupal manejan la inclusión de archivos de una manera más estructurada y organizada. La inclusión directa de un archivo PHP que usa `include` o` requerir 'dentro de una página, generalmente se desaconseja porque omite los mecanismos de almacenamiento de almacenamiento de Drupal y puede conducir a inconsistencias y vulnerabilidades de seguridad.

Estas son las formas apropiadas de incorporar la funcionalidad de un archivo PHP dentro de una devolución de llamada de la página Drupal:

1. Uso de una función dentro de un módulo personalizado:

Este es el mejor y recomendado enfoque. Cree un módulo personalizado, coloque su código PHP (que contenga funciones) dentro de un archivo '.module` y luego llame a esas funciones desde su devolución de llamada de su página.

* `mymodule.module`:

`` `PHP

/**

* Implementa Hook_menu ().

*/

función mymodule_menu () {

$ Artículos ['mymodule/mypage'] =array (

'title' => 'mi página',

'Page Callback' => 'mymodule_mypage_callback',

'Argumentos de acceso' => Array ('Contenido de acceso'),

);

devolver $ artículos;

}

/**

* Página de devolución de llamada para mymodule/mypage.

*/

función mymodule_mypage_callback () {

$ output =mymodule_helper_function (); // llamar a una función de ayudante

return array ('#markup' => $ output);

}

/**

* Función auxiliar para manejar la lógica desde su archivo PHP original.

*/

función mymodule_helper_function () {

// Su código del archivo PHP original va aquí.

$ data =[1,2,3,4,5];

$ sum =array_sum ($ data);

devolver "

La suma de la matriz es:". $ Sum".

";

}

`` `` ``

* Explicación:

* Definimos un elemento de menú (`mymodule_menu ()`) que apunta a nuestra devolución de llamada de nuestra página (`mymodule_mypage_callback ()`).

* La devolución de llamada de la página utiliza una función de ayuda (`mymodule_helper_function ()`) para encapsular la lógica de su archivo PHP original. Esto mantiene la devolución de llamada de su página limpia y enfocada.

* El elemento de matriz de renderizado `'#Markup'` se usa para generar el resultado.

2. Uso de una función de tema (para aspectos de temas):

Si su archivo PHP trata principalmente de la lógica de presentación, considere colocar su código dentro de una función de tema.

* `mytheme.theme` (dentro de la carpeta de su tema):

`` `PHP

/**

* Implementa Hook_Process_Page ().

*/

función mytheme_preprocess_page (y $ variables) {

$ variables ['my_data'] =mytheme_get_data ();

}

/**

* Función auxiliar para obtener datos. Esta función contendría el código de su archivo original.

*/

función mytheme_get_data () {

// Su código del archivo PHP original va aquí (obteniendo datos, etc.).

devolver 'datos de mi función de tema';

}

`` `` ``

* Luego en su archivo de plantilla (por ejemplo, `page.tpl.php`):

`` `PHP

`` `` ``

3. Incluyendo código dentro de un bloque personalizado (menos recomendado):

Si bien es posible, crear un bloque personalizado para mantener el código desde su archivo PHP original generalmente es menos estructurado que usar un módulo. Es adecuado solo para casos muy simples. Todavía necesitaría usar la API de representación de Drupal dentro del bloque personalizado.

Consideraciones importantes:

* Seguridad: Siempre desinfecte y valida cualquier dato que esté utilizando del archivo incluido para evitar secuencias de comandos de sitios (XSS) y otras vulnerabilidades.

* API de Drupal: Utilice las API de Drupal (por ejemplo, funciones de acceso a la base de datos, API de formulario) en lugar de interactuar directamente con la base de datos o formularios en su archivo incluido. Esto garantiza la compatibilidad y la seguridad.

* almacenado en caché: El sistema de almacenamiento en caché de Drupal no funcionará correctamente si incluye directamente archivos dentro de la devolución de llamada de su página. El uso de funciones dentro de módulos o funciones de tema permite que los mecanismos de almacenamiento en caché de Drupal funcionen de manera efectiva.

El primer método (que usa un módulo personalizado con funciones auxiliares) es muy preferido para la mantenibilidad, la seguridad y la integración con el ecosistema Drupal. Evite la inclusión directa de los archivos PHP dentro de las devoluciones de llamada siempre que sea posible.

Programación PHP /MySQL
Cómo saber si MySQL es de 32 - o 64 - Bit
JavaScript: Cómo obtener una consulta MySQL PHP Via
Cómo cambiar los permisos de archivos mediante PHP
Cómo quitar clave principal de MySql
Cómo encontrar una lista de bases de datos en un servidor MySQL
Cómo subir imágenes con PHP a una base de datos
Cómo detectar si un cliente es móvil en PHP
MySQL Insertar es lento
Conocimiento de la computadora © http://www.ordenador.online