我是一个类 - validate_class。
内部的构造函数。
check_username函数,其中包含验证用户名的其他几种方法。我想在调用check_username方法时调用这三个方法。
代码:
function check_username(){
//Checks if is username empty
function validate_empty_username(){
if($this->empty_username){
echo "<li>Please fill username field</li>";
return false;
}
}
//Check username length is short
function validate_username_length_min(){
if(($this->get_username_length < 3) and ($this->empty_username !== true) ){
echo "<li>Username provided's too short!</li>";
return false;
}
}
//Check username length is long
function validate_username_length_max(){
if($this->get_username_length > 15){
echo "<li>Username's too long</li>";
return false;
}
}
}
答案 0 :(得分:1)
我不建议将子条件语句放在函数中。
简单地说如下:
function check_username(){
//Checks if is username empty
if($this->empty_username){
echo "<li>Please fill username field</li>";
return false;
} elseif(($this->get_username_length < 3) and ($this->empty_username !== true) ){
echo "<li>Username provided's too short!</li>";
return false;
} elseif($this->get_username_length > 15){
echo "<li>Username's too long</li>";
return false;
} else {
return true;
}
}
希望这有帮助吗?
答案 1 :(得分:0)
您不是在函数内部调用函数,而是定义函数。你应该在check_username()
内打电话,你可以在它之外定义它们。
Class validate_class
{
function validate_username_length_min(){
if(($this->get_username_length < 3) and ($this->empty_username !== true) ){
echo "<li>Username provided's too short!</li>";
return false;
}
}
//Check username length is long
function validate_username_length_max(){
if($this->get_username_length > 15){
echo "<li>Username's too long</li>";
return false;
}
}
function validate_empty_username(){
if($this->empty_username){
echo "<li>Please fill username field</li>";
return false;
}
}
function check_username(){
//Checks if is username empty
$this->validate_empty_username($this->empty_username);//calling function
//Check username length is short
$this->validate_username_length_min();//calling function
//Check username length is long
$this->validate_username_length_max();//calling function
}
}
答案 2 :(得分:0)
您必须对您班级的隐藏方法使用私人声明。将所有内部函数作为私有方法。