1. Go to this page and download the library: Download arkham-dev/framework library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
arkham-dev / framework example snippets
namespace App\Controllers;
use JosueIsOffline\Framework\Controllers\AbstractController;
use JosueIsOffline\Framework\Http\Response;
class WelcomeController extends AbstractController
{
public function index(): Response
{
return $this->render('welcome.html.twig', [
'message' => 'Hello from Arkham!'
]);
}
}
use JosueIsOffline\Framework\Database\DB;
// Select all users
$users = DB::table('users')->select()->get();
// Find a specific user
$user = DB::table('users')->where('id', 1)->first();
// Insert a new user
DB::table('users')->insert([
'name' => 'John Doe',
'email' => '[email protected]'
]);
// Update user
DB::table('users')
->where('id', 1)
->update(['name' => 'Jane Doe']);
// Delete user
DB::table('users')->where('id', 1)->delete();
namespace App\Models;
use JosueIsOffline\Framework\Model\Model;
class User extends Model
{
protected string $table = 'users';
protected array $fillable = ['name', 'email', 'password'];
}
// Usage
$users = User::all();
$user = User::find(1);
$activeUsers = User::where('status', 'active');
namespace App\Middleware;
use JosueIsOffline\Framework\Http\Request;
use JosueIsOffline\Framework\Http\Response;
class AuthMiddleware
{
public function handle(Request $request, callable $next): Response
{
// Authentication logic here
if (!$this->isAuthenticated($request)) {
return new Response('Unauthorized', 401);
}
return $next($request);
}
}
// In your controller
public function show(): Response
{
return $this->render('user/profile.html.twig', [
'user' => $user,
'posts' => $posts
]);
}
use PHPUnit\Framework\TestCase;
use JosueIsOffline\Framework\Database\QueryBuilder;
class QueryBuilderTest extends TestCase
{
public function testSelectQuery()
{
$qb = new QueryBuilder($this->connection);
$sql = $qb->table('users')->select('name', 'email')->toSql();
$this->assertEquals('SELECT name, email FROM users', $sql);
}
}