理解在Doctrine中传递给hasColumn()的参数

nev*_*ame 2 doctrine

我使用Doctrine,我不太明白这里的代码:

    $this->hasColumn('id', 'integer', 8, array(
         'type' => 'integer',
         'length' => 8,
         'fixed' => false,
    ));
Run Code Online (Sandbox Code Playgroud)

hasColumn中的第二个和第三个参数是什么?

第二个是类型,第三个是长度?如果是这样,为什么我们在数组中再次指定它们?

Cro*_*zin 5

不必$options数组中重新定义它.事实上,在几次操作之后,内部Doctrine会将第二个和第三个参数的值分配给此数组:

// few operations on $length
$options['type'] = $type;
$options['length'] = $length;
Run Code Online (Sandbox Code Playgroud)

为什么type/ length有自己的参数?因为它们是最常用的,$options在许多情况下可以跳过.