У меня есть класс Address_Finder
с методом get_address( $ordinal, $postcode )
, который использует смесь API Google Map и базы данных для получения полного адреса
get_address
находит детали адреса: lat, lng, street_name и т. Д. Из $ordinal
и $postcode
и после вызова устанавливает адресные переменные экземпляра для результатов.
Если он успешно находит адрес, он устанавливает внутренние данные для результатов и возвращает true
.
Однако, если адрес уже существует в базе данных, он возвращает address_id
адреса в базе данных.
Итак, очевидно, что возвращаемые значения для функции - либо true, либо стандартный целочисленный тип php.
Мы могли бы сделать что-то вроде этого:
$address = new Address_Finder();
$address_id = $address -> get_address( "2", "NG8 5NW" );
if ( $address_id ){
$address_id = $address -> save(); // saves the address to the database
}
Теперь if ( $address_id )
будет оценивать true, если get_address возвращает true, или если оно возвращает $address_id
1.
Эту проблему можно решить, выполнив:
if ( $address_id === true ){
// save returns the address ID of the last inserted address
$address_id = $address -> save();
}
Однако мне было интересно, есть ли лучший способ сделать это?
Как ... Я надеялся выпустить свой класс Address_Finder в качестве API для своего блога, чтобы другие программисты могли его использовать.
Итак, «лучшим способом» я думаю о том, как программисты будут использовать мой API