New question

Question:

Date: 14-03-2020 17:23:40 (In Spanish)

Problema con los namespaces y las rutas de mi programa[Resolved]

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
Tags: OOP - PHP - PHP Fatal error - Question - Web Votes: 0 - Answers: 1 - Views: 7 Share on: Google Facebook Twitter LinkedIn Link
 

Answers:

  • Date: 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.
      Votes: 1 - Link answer
     
To actively participate in the community first must authenticate, enter the system.Sign In
 
frjcbbae garagebible.com