1
我試圖使用$ element-> addPrefixPath()來加載我的自定義驗證器,但它不會找到類,直到我添加一個名稱空間自動加載到ini文件。Zend框架 - addPrefixPath和名稱空間
我認爲addPrefixPath的全部重點只是爲窗體加載驗證程序類,而不是整個應用程序。它是否正確?
我試圖使用$ element-> addPrefixPath()來加載我的自定義驗證器,但它不會找到類,直到我添加一個名稱空間自動加載到ini文件。Zend框架 - addPrefixPath和名稱空間
我認爲addPrefixPath的全部重點只是爲窗體加載驗證程序類,而不是整個應用程序。它是否正確?
這取決於你如何調用驗證並將其連接到該元素:
舉一個例子:
$validator = new My_Validate_SomeValidator(array(
'option1' => 'value1',
'option2' => 'value2',
));
$element->addValidator($validator, true);
在這種情況下,你自己實例化驗證器。因此,需要將My_
作爲自動加載器名稱空間添加。
或者,用 「縮寫爲」 格式:
$element->addValidator(array('SomeValidator', array(
'option1' => 'value1',
'option2' => 'value2',
), true);
或
$element->setValidators(array(
array('EmailAddress', true),
array('SomeValidator', true, array(
'option1' => 'value1',
'option2' => 'value2',
),
));
在這種情況下,你給的元素只是一個縮寫名稱 - 'SomeValidator'
- 驗證器,含蓄地期待元素來處理實例化。因此,元素需要被賦予一些名稱空間/路徑信息,這樣才能完成這項工作。
您是否添加了絕對路徑或相對路徑? –