// То, что я хочу в классе contact_form, использует пару методов из класса регистрации для проверки формы контакта. Однако я хочу исключить последний метод (validate_username) и показать другое сообщение об ошибке, например, в validate_message, вместо того, чтобы показывать «недопустимое сообщение». Я хочу показать «Пожалуйста, убедитесь, что ваше сообщение длиной не менее 50 символов». По сути, я не хочу создавать другой класс, специально проверяющий contact_form, потому что я буду использовать тот же метод, который я использовал в регистрационной форме.
Спасибо.
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
}
}
Задавать validate_username()
в private
остановить дочерний класс от доступа.
Переопределите функцию, которую вы хотите показать другое сообщение.
Будет ли что-то подобное сделать?
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');
}
}