1
0
mirror of https://github.com/fzaninotto/Faker.git synced 2025-03-24 09:19:50 +01:00

Create en_AU provider for Address,Internet,PhoneNumber

This commit is contained in:
Rick Cuddy 2013-08-10 17:39:58 +10:00
parent 1deac9d238
commit d4b4630ac1
3 changed files with 139 additions and 0 deletions

View File

@ -0,0 +1,64 @@
<?php
namespace Faker\Provider\en_AU;
/**
* Class Address
* @see http://www.ipaustralia.gov.au/about-us/corporate/address-standards/
* @package Faker\Provider\en_AU
*/
class Address extends \Faker\Provider\en_US\Address
{
protected static $cityPrefix = array('North', 'East', 'West', 'South', 'New', 'Lake', 'Port', 'St.');
protected static $buildingNumber = array('###', '##', '#');
protected static $buildingLetters = array('A','B','C','D');
protected static $streetSuffix = array(
'Access', 'Alley', 'Alleyway', 'Amble', 'Anchorage', 'Approach', 'Arcade', 'Artery', 'Avenue', 'Basin', 'Beach', 'Bend', 'Block', 'Boulevard', 'Brace', 'Brae', 'Break', 'Bridge', 'Broadway', 'Brow', 'Bypass', 'Byway', 'Causeway', 'Centre', 'Centreway', 'Chase', 'Circle', 'Circlet', 'Circuit', 'Circus', 'Close', 'Colonnade', 'Common', 'Concourse', 'Copse', 'Corner', 'Corso', 'Court', 'Courtyard', 'Cove', 'Crescent', 'Crest', 'Cross', 'Crossing', 'Crossroad', 'Crossway', 'Cruiseway', 'Cul-de-sac', 'Cutting', 'Dale', 'Dell', 'Deviation', 'Dip', 'Distributor', 'Drive', 'Driveway', 'Edge', 'Elbow', 'End', 'Entrance', 'Esplanade', 'Estate', 'Expressway', 'Extension', 'Fairway', 'Fire Track', 'Firetrail', 'Flat', 'Follow', 'Footway', 'Foreshore', 'Formation', 'Freeway', 'Front', 'Frontage', 'Gap', 'Garden', 'Gardens', 'Gate', 'Gates', 'Glade', 'Glen', 'Grange', 'Green', 'Ground', 'Grove', 'Gully', 'Heights', 'Highroad', 'Highway', 'Hill', 'Interchange', 'Intersection', 'Junction', 'Key', 'Landing', 'Lane', 'Laneway', 'Lees', 'Line', 'Link', 'Little', 'Lookout', 'Loop', 'Lower', 'Mall', 'Meander', 'Mew', 'Mews', 'Motorway', 'Mount', 'Nook', 'Outlook', 'Parade', 'Park', 'Parklands', 'Parkway', 'Part', 'Pass', 'Path', 'Pathway', 'Piazza', 'Place', 'Plateau', 'Plaza', 'Pocket', 'Point', 'Port', 'Promenade', 'Quad', 'Quadrangle', 'Quadrant', 'Quay', 'Quays', 'Ramble', 'Ramp', 'Range', 'Reach', 'Reserve', 'Rest', 'Retreat', 'Ride', 'Ridge', 'Ridgeway', 'Right Of Way', 'Ring', 'Rise', 'River', 'Riverway', 'Riviera', 'Road', 'Roads', 'Roadside', 'Roadway', 'Ronde', 'Rosebowl', 'Rotary', 'Round', 'Route', 'Row', 'Rue', 'Run', 'Service Way', 'Siding', 'Slope', 'Sound', 'Spur', 'Square', 'Stairs', 'State Highway', 'Steps', 'Strand', 'Street', 'Strip', 'Subway', 'Tarn', 'Terrace', 'Thoroughfare', 'Tollway', 'Top', 'Tor', 'Towers', 'Track', 'Trail', 'Trailer', 'Triangle', 'Trunkway', 'Turn', 'Underpass', 'Upper', 'Vale', 'Viaduct', 'View', 'Villas', 'Vista', 'Wade', 'Walk', 'Walkway', 'Way', 'Wynd'
);
protected static $postcode = array('####');
protected static $state = array(
'Australian Capital Territory', 'New South Wales', 'Northern Territory', 'Queensland', 'South Australia', 'New South Wales', 'Victoria'
);
protected static $stateAbbr = array(
'ACT', 'NSW', 'NT', 'Qld', 'SA', 'Tas', 'Vic'
);
protected static $streetAddressFormats = array(
'{{buildingNumber}} {{streetName}}',
'{{buildingNumber}}? {{streetName}}',
'{{secondaryAddress}} {{buildingNumber}} {{streetName}}',
);
protected static $secondaryAddressFormats = array(
'Apt. ###',
'Flat ##',
'Suite ###',
'Unit ##',
'Level #',
'### /',
'## /',
'# /',
);
public function streetAddress()
{
return preg_replace_callback('/\?/u', 'static::randomBuildingLetter', parent::streetAddress());
}
/**
* Returns a sane building letter
* @example B
*/
public static function randomBuildingLetter()
{
return static::toUpper(static::randomElement(static::$buildingLetters));
}
}

View File

@ -0,0 +1,9 @@
<?php
namespace Faker\Provider\en_AU;
class Internet extends \Faker\Provider\Internet
{
protected static $freeEmailDomain = array('gmail.com', 'yahoo.com', 'hotmail.com', 'gmail.com.au', 'yahoo.com.au', 'hotmail.com.au');
protected static $tld = array('com', 'com.au', 'org', 'org.au', 'net', 'net.au', 'biz', 'info', 'edu', 'edu.au');
}

View File

@ -0,0 +1,66 @@
<?php
namespace Faker\Provider\en_AU;
use Faker\Generator;
class PhoneNumber extends \Faker\Provider\PhoneNumber
{
protected static $formats = array(
// Local calls
'#### ####',
'####-####',
'####.####',
'########',
// National dialing
'0{{areaCode}} #### ####',
'0{{areaCode}}-####-####',
'0{{areaCode}}.####.####',
'0{{areaCode}}########',
// Optional parenthesis
'(0{{areaCode}}) #### ####',
'(0{{areaCode}})-####-####',
'(0{{areaCode}}).####.####',
'(0{{areaCode}})########',
// International drops the 0
'+61 {{areaCode}} #### ####',
'+61-{{areaCode}}-####-####',
'+61.{{areaCode}}.####.####',
'+61{{areaCode}}########',
);
// 04 Mobile telephones (Australia-wide) mostly commonly written 4 - 3 - 3 instead of 2 - 4 - 4
protected static $mobileFormats = array(
'04## ### ###',
'04##-###-###',
'04##.###.###',
'+61 4## ### ###',
'+61-4##-###-###',
'+61.4##.###.###',
);
protected static $areacodes = array(
'2', '3', '7', '8'
);
public static function phoneNumber()
{
$format = static::numerify(static::randomElement(static::$formats));
return str_replace('{{areaCode}}', static::areaCode(), $format);
}
public static function mobileNumber()
{
return static::numerify(static::randomElement(static::$mobileFormats));
}
public static function areaCode()
{
return static::numerify(static::randomElement(static::$areacodes));
}
}