Я создал метод для создания имен аукционов websafe, и я просто добавил проверку на дублирующие веб-имена, которые в основном пытаются получить аукцион с данным именем веб-кафе, затем добавляет случайное число к webname. Но метод заканчивается возвращение нулевой ...OOP php: рекурсия метода возвращает null
private function dupplicateUrlFix($url){
var_dump($url)//Correct
$existingAuction = Auction::get($url, "webname");
//if webname exists, cancatenate with random int, and check if new webname exists
if(!empty($existingAuction->webname)){
$newUrl = $existingAuction->webname.rand(0,9);
$this->dupplicateUrlFix($newUrl);
return;
}
var_dump($url) //Correct Not a dupplicate
return $url;
}
public function get_url_clean($string) {
$string = strToLower($string);
//cleaning....
//checks for dupplicate
var_dump($this->dupplicateUrlFix($string)); //is null?
die();
return $clean;
}
Я пытался переключать порядок в методе dupplicateUrlFix() и просто возвращает строку. Это идет только в если (пустой ... один раз
Есть ли решение для этого, или лучший подход
Я не думаю, что имеет значение '$ existingAuction-> webname.rand (0,9)'. Возможно, '$ newUrl = ($ existingAuction-> webname) .rand (0,9)' – Luke
@Doctus Это делает более визуальным смысл разнесен как '$ newUrl = $ existingAuction-> webname. rand (0,9)' <- конкатенация. –
@MichaelBerkowski это субъективно - они оба действительны – Luke