Tengo el hábito de usar include() mucho en mis scripts php. Me gustaría saber si es un buen enfoque. Solo uso incluir mucho porque hace que el código se vea mejor para una programación a prueba de futuro.Usando demasiado include() en php
Respuesta
hacer uso de la función de carga automática php
ejemplo:
function __autoload($class_name) {
include $class_name . '.php';
}
cada vez que se instancia una nueva clase. PHP automaticamente llama a la función __autoload con un argumento, es decir, el nombre de la clase. considerar el siguiente ejemplo
$user = new User():
cuando se instancia el objeto de usuario aquí la función de carga automática se llama, se intenta incluir el archivo desde el mismo directorio. (con referencia a la función de autocarga anterior). ahora puedes implementar tu propia lógica para autocargar clases. no importa en qué directorio resida. Para obtener más información, consulte este enlace http://in.php.net/autoload.
Actualización: @RepWhoringPeeHaa, lo dijo correcto amigo. hay más beneficios en el uso de spl_autoload que en la función de carga automática simple. El mayor beneficio que veo es que se puede usar o registrar más de una función.
por ejemplo
function autoload_component($class_name)
{
$file = 'component/' . $class_name . '.php';
if (file_exists($file)) {
include_once($file);
}
}
function autoload_sample($class_name)
{
$file = 'sample/' . $class_name . '.php';
if (file_exists($file)) {
include_once($file);
}
}
spl_autoload_register('autoload_component');
spl_autoload_register('autoload_sample');
En lugar de utilizar include es posible que desee consultar autoloading.
Si está desarrollando orientado a objetos y tener un archivo para cada clase, considerar la implementación de una función de cargador automático que llama automáticamente include
cuando se utiliza una clase, pero aún no se ha cargado:
$callback = function($className) {
// Generate the class file name using the directory of this initial file
$fileName = dirname(__FILE__) . '/' . $className . '.php';
if (file_exists($fileName)) {
require_once($fileName);
return;
}
};
spl_autoload_register($callback);
Nunca lo he usado. Para eso tengo que aprender primero. Entonces, ¿dónde puedo aprender? Un enlace puede ser útil. Gracias por adelantado – yusufiqbalpk
- 1. PHP Include para HTML?
- 2. SSI o PHP Include()?
- 3. Usando include() dentro de ob_start()
- 4. php include de otro dominio
- 5. PHP include file strategy needed
- 6. PHP catch a failed include
- 7. PHP Include: Long Path Issue
- 8. php include file en la clase
- 9. JSP equivalente a la función PHP include()?
- 10. memoria php cuánto es demasiado
- 11. PHP: scandir() es demasiado lento
- 12. php gd pixelado demasiado fuerte
- 13. PHP include(): Tamaño y rendimiento del archivo
- 14. PHP Namespace e Include() con las clases
- 15. php include y etiqueta de cierre
- 16. PHP Netbeans: xdebug se detiene en cada include() o require()
- 17. Usando #include para cargar el código OpenCL
- 18. LINQ a Entidades - carga ansiosos usando include()
- 19. ¿Cómo atrapar el error de require() o include() en PHP?
- 20. ¿Cómo puedo mejorar el rendimiento de 'include() s' en PHP?
- 21. Entidad de solicitud demasiado grande PHP
- 22. Las sesiones de PHP caducan demasiado pronto
- 23. ¿Cuál es la diferencia entre PHP require e include?
- 24. Usando Include en Entity Framework 4 con expresiones lambda
- 25. ¿Buscar múltiples elementos en la matriz usando .include? - Rubí Principiante
- 26. Twig: render vs include
- 27. ¿Incluye un directorio completo en PHP o comodín para usar en PHP Include?
- 28. cómo #include en javascript?
- 29. #include iostream en C?
- 30. include, include_once, require or require_once?
@yusufiqbalpk, si desea obtener más información. Te sugiero que comiences por aprender los conceptos de OOPS en PHP. aquí está el enlace para que comiences http://net.tutsplus.com/tutorials/php/object-oriented-php-for-beginners/ –
Todas las respuestas fueron buenas pero yo elijo tu enlace tutorial. El mejor chico. – yusufiqbalpk
@yusufiqbalpk es posible que desee considerar la 'nueva' 'spl_autoload' en lugar de la anterior. – PeeHaa