140 lines
3.2 KiB
PHP
140 lines
3.2 KiB
PHP
<?php
|
|
|
|
namespace Faker\Provider;
|
|
|
|
class Address extends Base
|
|
{
|
|
protected static $citySuffix = array('Ville');
|
|
protected static $streetSuffix = array('Street');
|
|
protected static $cityFormats = array(
|
|
'{{firstName}}{{citySuffix}}',
|
|
);
|
|
protected static $streetNameFormats = array(
|
|
'{{lastName}} {{streetSuffix}}'
|
|
);
|
|
protected static $streetAddressFormats = array(
|
|
'{{buildingNumber}} {{streetName}}'
|
|
);
|
|
protected static $addressFormats = array(
|
|
'{{streetAddress}} {{postcode}} {{city}}',
|
|
);
|
|
|
|
protected static $buildingNumber = array('%#');
|
|
protected static $postcode = array('#####');
|
|
protected static $country = array();
|
|
|
|
/**
|
|
* @example 'town'
|
|
*/
|
|
public static function citySuffix()
|
|
{
|
|
return static::randomElement(static::$citySuffix);
|
|
}
|
|
|
|
/**
|
|
* @example 'Avenue'
|
|
*/
|
|
public static function streetSuffix()
|
|
{
|
|
return static::randomElement(static::$streetSuffix);
|
|
}
|
|
|
|
/**
|
|
* @example '791'
|
|
*/
|
|
public static function buildingNumber()
|
|
{
|
|
return static::numerify(static::randomElement(static::$buildingNumber));
|
|
}
|
|
|
|
/**
|
|
* @example 'Sashabury'
|
|
*/
|
|
public function city()
|
|
{
|
|
$format = static::randomElement(static::$cityFormats);
|
|
|
|
return $this->generator->parse($format);
|
|
}
|
|
|
|
/**
|
|
* @example 'Crist Parks'
|
|
*/
|
|
public function streetName()
|
|
{
|
|
$format = static::randomElement(static::$streetNameFormats);
|
|
|
|
return $this->generator->parse($format);
|
|
}
|
|
|
|
/**
|
|
* @example '791 Crist Parks'
|
|
*/
|
|
public function streetAddress()
|
|
{
|
|
$format = static::randomElement(static::$streetAddressFormats);
|
|
|
|
return $this->generator->parse($format);
|
|
}
|
|
|
|
/**
|
|
* @example 86039-9874
|
|
*/
|
|
public static function postcode()
|
|
{
|
|
return static::toUpper(static::bothify(static::randomElement(static::$postcode)));
|
|
}
|
|
|
|
/**
|
|
* @example '791 Crist Parks, Sashabury, IL 86039-9874'
|
|
*/
|
|
public function address()
|
|
{
|
|
$format = static::randomElement(static::$addressFormats);
|
|
|
|
return $this->generator->parse($format);
|
|
}
|
|
|
|
/**
|
|
* @example 'Japan'
|
|
*/
|
|
public static function country()
|
|
{
|
|
return static::randomElement(static::$country);
|
|
}
|
|
|
|
/**
|
|
* @example '77.147489'
|
|
* @param float|int $min
|
|
* @param float|int $max
|
|
* @return float Uses signed degrees format (returns a float number between -90 and 90)
|
|
*/
|
|
public static function latitude($min = -90, $max = 90)
|
|
{
|
|
return static::randomFloat(6, $min, $max);
|
|
}
|
|
|
|
/**
|
|
* @example '86.211205'
|
|
* @param float|int $min
|
|
* @param float|int $max
|
|
* @return float Uses signed degrees format (returns a float number between -180 and 180)
|
|
*/
|
|
public static function longitude($min = -180, $max = 180)
|
|
{
|
|
return static::randomFloat(6, $min, $max);
|
|
}
|
|
|
|
/**
|
|
* @example array('77.147489', '86.211205')
|
|
* @return array | latitude, longitude
|
|
*/
|
|
public static function localCoordinates()
|
|
{
|
|
return array(
|
|
'latitude' => static::latitude(),
|
|
'longitude' => static::longitude()
|
|
);
|
|
}
|
|
}
|