otro llamar incluir include_once funcion desde conexion archivo php include set-include-path

llamar - ¿Por qué usar set_include_path() en PHP y cómo autocargar clases desde diferentes carpetas?



incluir archivo php en html (1)

Q1: http://php.net/manual/en/ini.core.php#ini.include-path

P2: Como se menciona en el manual, PHP itera sobre cada ruta e intenta encontrar su archivo.

Q3: Utilizando la funcionalidad SPL Autoloader más moderna, puede definir tantos cargadores automáticos como desee.

Tengo un par de preguntas sobre la ruta de inclusión en PHP e incluye archivos y / o clases.

A continuación se muestra un fragmento de código simple en el que estamos configurando varias rutas de inclusión. Vi esto en otro proyecto, pero no estoy seguro de por qué?

Nunca he tenido que usar set_include_path () en ninguno de mis proyectos durante los últimos 5 años más o menos.

Q1)
Entonces, ¿cuál es exactamente el propósito de establecer una ruta de inclusión? Siempre acabo de incluir el camino en mi llamada include ().

Q2)
En el siguiente ejemplo, establece más de 1 ruta. ¿Cómo funciona esto para incluir archivos en múltiples ubicaciones, estoy confundido sobre el propósito o lo que hace exactamente?

<?php // Define App path define(''APPLICATION_PATH'', realpath(''../'')); // Build array of 3 different paths $paths = array( APPLICATION_PATH, APPLICATION_PATH . ''/com'', get_include_path() ); /* Result of array above... Array ( [0] => E:/Web Server/xampp/htdocs/test [1] => E:/Web Server/xampp/htdocs/test/com [2] => .;C:/php5/pear ) */ // Set include path from array above // http://us3.php.net/manual/en/function.set-include-path.php set_include_path(implode(PATH_SEPARATOR, $paths)); ?>

Q3)
Esta es una pregunta ligeramente diferente, pero todavía se refiere a incluye. A continuación se muestra una función de autocarga automática para las clases. Solía ​​tener una carpeta de clases y autocargar TODOS mis archivos de clase. En mi proyecto actual, tengo una biblioteca de clases para autocargar como lo hace a continuación, pero también tengo otra sección donde podría necesitar cargar automáticamente los archivos de clase desde un directorio de módulos.

Así que tendré que cargar automáticamente mis clases de biblioteca ubicadas en un lugar como este ...

root / includes / library / classes / library_class_files.php

+++ plus +++

cargar clases para diferentes módulos (cuenta, mensajes, amigos, fotos, blogs, foros, etc.) ubicados en un lugar como este ....

root / modules / forums / modules_class_files.php

Puede que no necesite muchos archivos de clase de las 2 ubicaciones diferentes, pero si lo hago, ¿cómo voy a hacer eso?

<?php //auto include class files that we need on a per page basis function __autoload($class_name){ include(''library/classes/'' .$class_name . ''.class.php''); } ?>