Are there any best practices for handling user authentication in PHP applications that do not involve querying a database for login credentials?

One way to handle user authentication in PHP applications without querying a database for login credentials is to use JSON Web Tokens (JWT). JWTs allow you to securely transmit information between parties as a JSON object. This method eliminates the need to store user credentials in a database and can provide a secure way to authenticate users.

<?php

// Include the JWT library
require_once 'vendor/autoload.php';

use Firebase\JWT\JWT;

// Set your secret key
$secret_key = 'your_secret_key';

// Create a token for the user
$user_data = array(
    'user_id' => 123,
    'username' => 'john_doe'
);

$token = JWT::encode($user_data, $secret_key);

// Verify the token
try {
    $decoded = JWT::decode($token, $secret_key, array('HS256'));
    print_r((array) $decoded);
} catch (Exception $e) {
    echo 'Invalid token';
}