DEV Community

Cover image for High speed-dev: A minute to be up & running

Posted on

High speed-dev: A minute to be up & running

No, it doesn't run on PHP 7.2!

The neoan-core Lenkrad doesn't play the compatibility game. Being backward compatible to older PHP versions or playing nicely with a plethora of ecosystems is a challenge that not only slows down development, but results in verbose usage and unoptimized core code.

I wanted to have a framework for the next generation. I wanted to finally have a framework that let's me write business logic the way I want it to behave.

Let's compare:

In Laravel, I need a migration and a model to make the Eloquent ORM work:

the migration

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

return new class extends Migration

    public function up()
        Schema::create('users', function (Blueprint $table) {

    public function down()

Enter fullscreen mode Exit fullscreen mode

And the model

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class User extends Model

    protected $table = 'users';
Enter fullscreen mode Exit fullscreen mode

We might be used to this, but what we really want to write is:

class User extends Model
   public readonly int $id;
   public string $name;

   public string $password;

   public string $email;

   use Timestamps;

Enter fullscreen mode Exit fullscreen mode

The advantage is not only easier reference and less verbose code. Your IDE will be able to better help you with navigating objects through auto-completion:

$user = new User();
$user->name = 'Adam'; // name was suggested, as it's a property of the model class

Enter fullscreen mode Exit fullscreen mode


If you have PHP8.1 and interested in seeing how a framework could actually make your life easier, try it out:

composer create-project [my-app]

The package is light in dependencies and up & running in seconds. Feedback highly appreciated!

Top comments (0)