Red de conocimiento informático - Aprendizaje de programación - php set_include_path descripción súper detallada

php set_include_path descripción súper detallada

Primero,

Echemos un vistazo a esta variable global:

Representa la ruta completa del archivo (incluido el nombre del archivo, por supuesto)

Eso es decir, según el archivo Tiene diferentes valores según el directorio, por supuesto, cuando se usa para archivos de paquetes de líneas, es la ruta incluida;

Entonces:

Echemos un vistazo a esta función:

string dirname (ruta de cadena)

Esta es una función PHP incorporada, su función es devolver un directorio distinto al nombre del archivo. , por ejemplo

Supongamos que su página de inicio utiliza la variable _FILE_:

(). Suponiendo que su página web está ubicada en el directorio http://localhost/web/index.php), entonces:

El valor de _FILE_ es http://localhost/web/index.php (ruta absoluta ). El nombre del directorio (_FILE_) en este momento representa http://localhost/web/, lo que significa que no hay ningún nombre de archivo index.php.

Y dirname (dirname(_FILE_)) representa el directorio anterior, y así sucesivamente.

Finalmente

Mire la función define(), en realidad es; a Funciones que definen constantes, por ejemplo: define('MEN', 'ooooooo');

Entonces puedes usar MEN para representar la cadena oooooooo

Si has aprendido C idioma, sabrá que hay un #define MEN "oooooooo" similar (de hecho, debe decirse que php es similar al lenguaje C, porque php está escrito en lenguaje C

Entonces); escribe así ¿Cuáles son los beneficios? Variable, solo necesita modificarla, lo cual es bastante conveniente, ¡especialmente para cadenas como rutas!

Después de una copa, te explicaré este código:

define('__TYPECHO_ROOT_DIR__', dirname(__FILE__));

Este es _ _TYPECHO_ROOT_DIR__ es. definido como el directorio donde se encuentra el archivo!

define('__TYPECHO_PLUGIN_DIR__', '/usr/plugins'); ¡No necesito decir más sobre esto!

En cuanto a lo que significa set_include_path(get_include_path() .PATH_SEPARATOR . $path); creo que no es tan complicado como crees: es la ruta de inclusión

Supongamos que; tiene una carpeta llamada include, que contiene

el archivo de conexión de la base de datos: conn.php...,

Puedes configurarlo así: set _include_path("/include")

Entonces podrás usarlo directamente en otras páginas en el futuro

include("conn.php")

¿No sucede esto con frecuencia? Esto es solo una cadena, pero, por supuesto, puedes establecer varias rutas y usar ;

Y tu única línea es:

set_include_path(get_include_path() .path_separator .

__TYPECHO_ROOT_DIR__ .'/var' .path_separator .

__TYPECHO_ROOT_DIR__ .__TYPECHO_PLUGIN_DIR__);

Por ejemplo, esto significa:

Tienes una página:

include('/inc/sql.php');

include('/inc/conn.php');

Entonces de repente te diste cuenta de que había cambiado. todas estas cosas.

De repente descubres que no es seguro para mí colocar estos archivos en el directorio inc para incluirlos. ¿Qué debo hacer si quiero cambiarlos, tengo que incluirlos? Bien, tantas páginas no son agotadoras. La muerte es algo extraño: ¡no hay una buena manera! tener ! ! ! ! ! ! !

En config.inc.php escribí:

set_include_path(get_include_path() .' /include').

/include'), eso es todo, sí, ¡eso es todo! Modificación dinámica!

No quieres leer esto: get_include_path() .path_separator .$path ¿Qué es? Es solo una cadena de ruta, donde "." es un operador de concatenación de cadenas, es decir, la combinación de las constantes que acaba de definir se combina en una cadena. ¡Creo que no debe poder ver los parámetros!

¡Una función muy sencilla, nada que explicar!

En otras palabras, ¡puede establecer dinámicamente la ruta incluida! Si es correcto, devolverá la ruta que lo contiene, si no es correcto, devolverá falso;

¡Escribí tanto de una vez que estoy agotado! ¡No sé si esta es la respuesta que estás buscando!