Я использую учение Symfony 1.4.У меня есть код, который может проверять номера телефонов, вот код: (На основе этого сайта "http://jasonswett.net/blog/how-to-validate-and-sanitize-a-phone-number-in-symfony/")
Я вставил его в папку lib.
apps/frontend/lib/myValidatorPhone.class.php
<?php
/**
* myValidatorPhone validates a phone number.
*
* @author Jason Swett (http://jasonswett.net/how-to-validate-and-sanitize-a-phone-number-in-symfony/)
*/
class myValidatorPhone extends sfValidatorBase
{
protected function doClean($value)
{
$clean = (string) $value;
$phone_number_pattern = '/^(\((\d{3})\)|(\d{3}))\s*[-\.]?\s*(\d{3})\s*[-\.]?\s*(\d{4})$/';
if (!$clean && $this->options['required'])
{
throw new sfValidatorError($this, 'required');
}
// If the value isn't a phone number, throw an error.
if (!preg_match($phone_number_pattern, $clean))
{
throw new sfValidatorError($this, 'invalid', array('value' => $value));
}
// Take out anything that's not a number.
$clean = preg_replace('/[^0-9]/', '', $clean);
// Split the phone number into its three parts.
$first_part = substr($clean, 0, 3);
$second_part = substr($clean, 3, 3);
$third_part = substr($clean, 6, 4);
// Format the phone number.
$clean = '('.$first_part.') '.$second_part.'-'.$third_part;
return $clean;
}
}
Затем я создал этот код в папке формы
lib/form/doctrine/reservation/reservationApplicationForm.class.php
$this->validatorSchema['telephone'] = new myValidatorPhone(array(
'required' => false,
));
, но когда я запускаю программу, я получаю сообщение об ошибке:
Неустранимая ошибка: класс 'myValidatorPhone' не найден в C: \ www \ project \servation \ lib \form \ doctrine \ bookingApplicationForm.class.php в строке 36
На основе веб-сайта этот код работает на 1.4, который я сейчас использую. Но я не знаю, почему я получил Fatalошибка.