No se puede acceder a “función X” desde un archivo externo.
Quiero acceder a mi función connectDB() en Db.php desde index.php, pero sigue diciendo: “Función indefinida ‘connectDB'”. Aquí están los códigos.
Db.php
namespace App\kernel;
/**
* Conexión a una base de datos
*
* @return \mysqli
*/
function connectDB(): \mysqli
{
$server="localhost";
$user="root";
$pass="";
$db="xp";
$connexion = mysqli_connect($server, $user, $pass, $db);
if (!$connexion)
die("La conexión ha fallado: " . mysqli_connect_error());
return $connexion;
}
index.php
use App\kernel\Db;
$db = connectDB();
if( !$db )
{
exit();
}
echo 'success';
composer.json
{
"name": "fl/xp",
"autoload": {
"psr-4": {
"App\\": "app/"
}
},
"require-dev": {
"symfony/var-dumper": "^5.4"
}
}
Gracias por tu ayuda.
davy.ai
Parece que necesitas utilizar el espacio de nombres en tu archivo index.php para acceder a la función connectDB() en Db.php.
Intenta cambiar el código de tu index.php por el siguiente:
Al utilizar
Db\connectDB()
en lugar deconnectDB()
, haces referencia explícita a la funciónconnectDB()
dentro del espacio de nombresDb
.