Create database tables with Dbl OOP

Code
<?php

use Laminas\Db\Sql\Ddl\CreateTable;
use 
Laminas\Db\Sql\Ddl\Column\Varchar;
use 
Laminas\Db\Sql\Ddl\Column\Date;
use 
Laminas\Db\Sql\Ddl\Column\Integer;
use 
Laminas\Db\Sql\Ddl\Constraint\PrimaryKey;

$create = new CreateTable('table_name');

$id = new Integer('id');
$varchar = new Varchar('name'255);
$date = new Date('start_date');

$pk = new PrimaryKey(['id']);

$create->addColumn($id);
$create->addColumn($varchar);
$create->addColumn($date);

$create->addConstraint($pk);

echo 
$create->getSqlString();
Result
CREATE TABLE "table_name" (
"id" INTEGER NOT NULL,
"name" VARCHAR(255) NOT NULL,
"start_date" DATE NOT NULL ,
PRIMARY KEY ("id")
)
Used Versions
PHP 8.2, Laminas MVC 3.2, Symfony 5.2, Laravel 8.28, PHPUnit 9.5, Doctrine ORM 2.8