//То, что я хочу в class_design, использует пару методов из класса регистрации для проверки формы контакта. Однако я хочу исключить последний метод (validate_username) и показать другое сообщение об ошибке, например, в validate_message, вместо того, чтобы показывать "недопустимое сообщение". Я хочу показать "Пожалуйста, убедитесь, что ваше сообщение имеет длину не менее 50 символов". В принципе, я не хочу создавать другой класс, который проверяет контакт_форма специально, потому что я буду использовать тот же метод, который я использовал в регистрационной форме.
Спасибо.
class registration{
function __construct($data){
//sanitize data
}
function validate_empty(){
//validate empty fields
//error: do not leave anything empty
}
function validate_email(){
//validate email
//error: invalid email
}
function validate_name(){
//validate name
//error: invalid name
}
function validate_message(){
//validate message
//error: invalid message
}
function validate_username(){
//validate username
//error: invalid username
}
}
class contact_form extends registration{
}
Вы можете просто переопределить метод validate_username()
в классе contact_form
:
class contact_form extends registration{
function validate_username(){
//Add the new error message here to override the older one
}
}
Будет что-то подобное?
class registration{
...
function validate_message($errormsg = 'invalid message'){
//validate username
//error: invalid username
}
private function validate_user() {}
}
class contact_form extends registration{
function validate_message(){
parent::validate_username('Please make sure your message is atleast 50 characters long');
}
}
Установите для validate_username()
значение private
чтобы остановить доступ к дочернему классу.
Переопределите функцию, которую вы хотите показать другим сообщением.
validate_username()
в классеcontact_form