OOP version to create a SQL insert statement

Code
<?php

use Laminas\Db\Adapter\Platform\Mysql;
use 
Laminas\Db\Sql\Insert;

$insert = new Insert('table_name');
$insert->columns(['id''name''start_date']);
$insert->values([1'year''2015-01-01']);

// use a adapter plattform to prevent security issues (escape)!
// Laminas\Db\Adapter\Platform\PlatformInterface
$plattform = new Mysql($pdo);
echo 
$insert->getSqlString($plattform) . PHP_EOL;

// assoc values are possible too
$values = [
    
'id' => 1,
    
'name' => 'year',
    
'start_date' => '2015-01-01',
];
$insert->values($values);
echo 
$insert->getSqlString($plattform);
Result
INSERT INTO `table_name` (`id`, `name`, `start_date`) VALUES ('1', 'year', '2015-01-01')
INSERT INTO `table_name` (`id`, `name`, `start_date`) VALUES ('1', 'year', '2015-01-01')
Used Versions
PHP 8.2, Laminas MVC 3.2, Symfony 5.2, Laravel 8.28, PHPUnit 9.5, Doctrine ORM 2.8