Pregunta:
Fecha: 14-03-2020 17:23:40
(En Español)
Esto es lo que tengo en la clase autoload.
Esto es lo que tengo en la clase institución
Esto es lo que tengo en el index de la pagina.
Y por ultimo esté es el error que me arroja.
PHP Fatal error: Uncaught Error: Class 'Logica\Institucion' not found in /var/www/html/LaboratorioFis/index.php:6
Stack trace:
#0 {main}
thrown in /var/www/html/LaboratorioFis/index.php on line 6
Votos: 0 - Respuestas: 1 - Vistas: 7 Compartir en: Google Facebook Twitter LinkedIn Link
Problema con los namespaces y las rutas de mi programa[Resuelta]
Tengo esté código PHP y estoy tratando de implementar una función autoload, pero aunque la ruta la imprime correctamente el programa me dice que no encuentra el archivo.
<?php
namespace Config;
Class Autoload{
public static function run(){
spl_autoload_register(function($clase){
$ruta = "LaboratorioFis/".str_replace("\\", "/", $clase) . ".php";
print($ruta);
if(is_readable($ruta)){
require_once($ruta);
}else{
echo "El archivo no existe";
}
});
}
}
?>
Esto es lo que tengo en la clase autoload.
<?php
namespace Logica;
class Institucion{
private $nombre;
private $actEconomica;
private $jurisdiccion;
public function __construct(){
$this->nombre = "";
$this->actEconomica = "";
$this->jurisdiccion = false;
}
public function Hola(){
echo "Hola soy una institución";
}
public function setNombre($nombre){
$this->nombre = $nombre;
}
public function getNombre(){
return $this->nombre;
}
public function setActEconomica($actividad){
$this->actEconomica = $actividad;
}
public function getActEconomica(){
return $this->actEconomica;
}
public function setJurisdiccion($jurisdiccion){
$this->jurisdiccion = $jurisdiccion;
}
public function getJurisdiccion(){
return $this->getJurisdiccion;
}
}
?>
Esto es lo que tengo en la clase institución
<?php
require_once("Config/Autoload.php");
Config\Autoload::run();
$institucion = new Logica\Institucion();
$institucion->Hola();
?>
Esto es lo que tengo en el index de la pagina.
Y por ultimo esté es el error que me arroja.
PHP Fatal error: Uncaught Error: Class 'Logica\Institucion' not found in /var/www/html/LaboratorioFis/index.php:6
Stack trace:
#0 {main}
thrown in /var/www/html/LaboratorioFis/index.php on line 6
Votos: 0 - Respuestas: 1 - Vistas: 7 Compartir en: Google Facebook Twitter LinkedIn Link
Respuestas:
-
Fecha: 02-09-2020 05:41:59 ¿Será un problema de permisos? Nota que tu verificación es "is_readable" en el primer código línea 11.
Eso podría explicar que la ruta sea correcta (es decir, que el archivo exista) pero que de un error. Votos: 1 - Link respuesta
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
