Code in Connection.php
<?php
    class Connection{
        private $conn;
        function connect(){
            include_once dirname(__FILE__) . '/Constants.php';
            $this->conn = new mysqli($DB_HOST, $DB_USER, $DB_PASSWORD, $DB_NAME, $DB_PORT);
            if (mysqli_connect_errno()){
                echo "Failed to connect " . mysqli_connect_error();
                return null;
            }
            return $this->conn;
        }
    }
Using direct php code would work:
<?php
    require __DIR__ . '/../includes/Connection.php';
    $db = new Connection;
    if ($db->connect() != null) {
        echo 'Connection successful';
    }
?> 
However, following code would generate '500 Internal Error'
<?php
use Psr\Http\Message\ResponseInterface as Response;
use Psr\Http\Message\ServerRequestInterface as Request;
use Slim\Factory\AppFactory;
require __DIR__ . '/../vendor/autoload.php';
require __DIR__ . '/../includes/Connection.php';
$app = AppFactory::create();
$app->get('/hello/{name}', function (Request $request, Response $response, array $args) {
    $name = $args['name'];
    $response->getBody()->write("Hello, $name");
    $db = new Connection;
    if ($db->connect() != null) {
        echo 'Connection successful';
    }
    return $response;
});
$app->run();
Log Stacktrace
PHP Fatal error:  Uncaught Error: Class 'mysqli' not found in C:\xampp\htdocs\EctApi\includes\Connection.php:9
php.ini has enabled the extension for mysqli. Now I am totally confused! Please help.
