从函数返回true或int的更好方法

时间:2012-03-05 11:43:24

标签: php google-maps

我有一个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

1 个答案:

答案 0 :(得分:0)

返回数组而不是简单值:

{
 'success':true||false,  //boolean indicating if get_address was successfull
 'id':     int||null     //id returned by get_address when successfull
}