我有一个Address_Finder
类,其方法get_address( $ordinal, $postcode )
使用谷歌地图API和数据库的混合来获取完整地址
get_address
从$ordinal
和$postcode
找到地址详细信息:lat,lng,street_name等,一旦调用,它会将实例的地址变量设置为结果
如果成功找到地址,它会将内部数据设置为结果并返回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
}
如果get_address返回true,或者返回if ( $address_id )
1,$address_id
将评估为真。
这可以通过以下方式解决:
if ( $address_id === true ){
// save returns the address ID of the last inserted address
$address_id = $address -> save();
}
但是我想知道是否有更好的方法来做到这一点?
喜欢......我希望在我的博客上发布我的Address_Finder类作为API,以便其他程序员可以使用它。
因此,通过“更好的方式”,我会考虑程序员如何使用我的API
答案 0 :(得分:0)
返回数组而不是简单值:
{
'success':true||false, //boolean indicating if get_address was successfull
'id': int||null //id returned by get_address when successfull
}