Using Symfony validator with annotations

Code
<?php

use Symfony\Component\Validator\ValidatorBuilder;
use 
Symfony\Component\Validator\Constraints as C;
use 
Symfony\Component\Validator\ConstraintViolationList;
use 
Doctrine\Common\Annotations\AnnotationRegistry;

$projectRootPath '/path/to/project';

class 
Foo
{
    
/**
     * @C\Range(min="1", max="100")
     * @C\Type(type="int")
     */
    
public $number;
    
    
/**
     * @C\Type(type="string")
     */
    
public $word;
}

// Validator uses Doctrine Annotation library
AnnotationRegistry::registerAutoloadNamespace(
    
'Symfony\Component\Validator\Constraints',
    
$projectRootPath '/vendor/symfony/symfony/src'
);

$validator = (new ValidatorBuilder())
    ->
enableAnnotationMapping()
    ->
getValidator();

// create a valid Foo object
$validFoo = new Foo();
$validFoo->number 5;
$validFoo->word 'budgie';

// create an invalid Foo object
$invalidFoo = new Foo();
$invalidFoo->number '105';
$invalidFoo->word = new ArrayObject();

$violationList $validator->validate($validFoo);
echo 
get_violations($violationList);

$violationList $validator->validate($invalidFoo);
echo 
get_violations($violationList);

function 
get_violations(ConstraintViolationList $violations) {
    
$out '<pre>violation count: ' count($violations) . PHP_EOL;
    foreach(
$violations as $v) {
        
$out .= print_r($v->getMessage(), true) . PHP_EOL;
    }
    
$out .= '</pre>';
    
    return 
$out;
}
Result
violation count: 0
violation count: 3
This value should be between "1" and "100".
This value should be of type int.
This value should be of type string.
Used Versions
PHP 8.2, Laminas MVC 3.2, Symfony 5.2, Laravel 8.28, PHPUnit 9.5, Doctrine ORM 2.8