Address.php
126 lines
| 1 | <?php |
| 2 | |
| 3 | namespace Faker\Provider\fr_CA; |
| 4 | |
| 5 | class Address extends \Faker\Provider\fr_FR\Address |
| 6 | { |
| 7 | protected static $cityPrefix = array('Saint-', 'Sainte-', 'St-', 'Ste-'); |
| 8 | |
| 9 | /** |
| 10 | * The suffixes come from this list of communities in Québec |
| 11 | * http://fr.wikipedia.org/wiki/Liste_des_municipalités_locales_du_Québec |
| 12 | */ |
| 13 | protected static $citySuffix = array( |
| 14 | // Bas-Saint-Laurent |
| 15 | '-des-Sables', '-sur-Mer', '-des-Neiges', '-des-Sept-Douleurs', '-du-Portage', '-du-Loup', '-des-Lacs', '-de-Lessard', |
| 16 | '-de-Kamourasca', '-de-Témiscouata', '-de-Ladrière', '-de-Rimouski', '-de-Rivière-du-Loup', '-du-Lac', '-du-Ha! Ha!', |
| 17 | '-du-Lac-Long', '-de-Rioux', '-du-Squatec', '-de-Métis', '-d\'Ixworth', '-de-la-Croix', '-de-Matane', '-du-Lac-Humqui', |
| 18 | '-de-Mérici', '-de-la-Pocatière', '-sur-le-Lac', |
| 19 | // Saguenay–Lac-Saint-Jean |
| 20 | '-de-Lorette', '-du-Lac-Saint-Jean', '-de-Bourget', '-de-Falardeau', '-les-Plaines', '-de-Sales', '-de-Taillon', |
| 21 | '-de-Milot', '-du-Nord', |
| 22 | // Québec (Capitale-Nationale) |
| 23 | '-aux-Coudres', '-des-Anges', '-de-Desmaures', '-les-Neiges', '-de-l\'Île-d\'Orléans', '-de-Valcartier', |
| 24 | '-de-Portneuf', '-du-Cap-Tourmente', '-des-Carrières', '-des-Caps', '-de-Beaupré', '-de-Laval', '-de-la-Jacques-Cartier', |
| 25 | '-d\'Auvergne', |
| 26 | // Mauricie |
| 27 | '-de-Monteauban', '-du-Mont-Carmel', '-des-Monts', '-de-Maskinongé', '-de-Caxton', '-des-Grès', '-le-Grand', |
| 28 | '-de-Vincennes', '-du-Parc', '-de-Champlain', '-de-Mékinac', '-de-Prémont', '-de-la-Pérade', '-de-Batiscan', |
| 29 | // Estrie (Cantons de l'est) |
| 30 | '-Ouest', '-Est', '-Sud', '-Nord', '-des-Bois', '-de-Woburn', '-de-Brompton', '-de-Bolton', '-de-Windsor', |
| 31 | '-de-Clifton', '-de-Paquette', '-de-la-Rochelle', '-de-Hatley', '-de-Whitton', |
| 32 | // Montréal |
| 33 | '-de-Bellevue', |
| 34 | // Chaudière-Appalaches |
| 35 | '-de-Buckland', '-des-Pins', '-du-Rosaire', '-d\'Issoudun', '-de-Jésus', '-d\'Irlande', '-de-l\'Isle-aux-Grues', |
| 36 | '-de-Tilly', '-de-Lellis', '-de-Bellechasse', '-de-Lessard', '-de-L\'Islet', '-de-Lotbinière', '-de-Beauce', |
| 37 | '-de-Forsyth', '-de-Panet', '-de-la-Rivière-du-Sud', '-de-Dorset', '-de-Shenley', '-de-Leeds', '-de-Wolfestown', |
| 38 | '-de-Joly', '-de-Brébeuf', '-de-Coleraine', '-des-Érables', '-Bretenières', '-de-Lauzon', '-de-Standon', |
| 39 | '-de-Gonzague', '-de-Beaurivage', '-de-Dorchester', '-de-Cranbourne', '-de-Broughton', '-de-la-Rivière-du-Sud', |
| 40 | '-des-Aulnaies', '-les-Mines', '-de-Lotbinière', '-de-Patton', '-sur-Rivière-du-Sud', '-de-Beauregard', '-de-Watford' |
| 41 | ); |
| 42 | |
| 43 | /** |
| 44 | * @example 'Saint-Marc-des-Carrières' or 'Sainte-Monique' |
| 45 | */ |
| 46 | protected static $cityFormats = array( |
| 47 | '{{cityPrefix}}{{firstName}}{{citySuffix}}', |
| 48 | '{{cityPrefix}}{{firstName}}', |
| 49 | ); |
| 50 | |
| 51 | protected static $buildingNumber = array('#####', '####', '###', '##', '#'); |
| 52 | |
| 53 | protected static $streetSuffix = array( |
| 54 | 'Autoroute', 'Avenue', 'Boulevard', 'Chemin', 'Route', 'Rue', 'Pont' |
| 55 | ); |
| 56 | |
| 57 | protected static $postcode = array('?#? #?#', '?#?#?#'); |
| 58 | |
| 59 | /** |
| 60 | * @example 'Avenue Bolduc' |
| 61 | */ |
| 62 | protected static $streetNameFormats = array( |
| 63 | '{{streetSuffix}} {{firstName}}', |
| 64 | '{{streetSuffix}} {{lastName}}' |
| 65 | ); |
| 66 | |
| 67 | protected static $streetAddressFormats = array( |
| 68 | '{{buildingNumber}} {{streetName}}', |
| 69 | '{{buildingNumber}} {{streetName}} {{secondaryAddress}}', |
| 70 | ); |
| 71 | |
| 72 | protected static $addressFormats = array( |
| 73 | "{{streetAddress}}, {{city}}, {{stateAbbr}} {{postcode}}", |
| 74 | ); |
| 75 | |
| 76 | protected static $secondaryAddressFormats = array('Apt. ###', 'Suite ###', 'Bureau ###'); |
| 77 | |
| 78 | protected static $state = array( |
| 79 | 'Alberta', 'Colombie-Britannique', 'Manitoba', 'Nouveau-Brunswick', 'Terre-Neuve-et-Labrador', 'Nouvelle-Écosse', 'Ontario', 'Île-du-Prince-Édouard', 'Québec', 'Saskatchewan' |
| 80 | ); |
| 81 | |
| 82 | protected static $stateAbbr = array( |
| 83 | 'AB', 'BC', 'MB', 'NB', 'NL', 'NS', 'ON', 'PE', 'QC', 'SK' |
| 84 | ); |
| 85 | |
| 86 | /** |
| 87 | * @example 'Saint-' |
| 88 | */ |
| 89 | public static function cityPrefix() |
| 90 | { |
| 91 | return static::randomElement(static::$cityPrefix); |
| 92 | } |
| 93 | |
| 94 | /** |
| 95 | * @example '-des-Sables' |
| 96 | */ |
| 97 | public static function citySuffix() |
| 98 | { |
| 99 | return static::randomElement(static::$citySuffix); |
| 100 | } |
| 101 | |
| 102 | /** |
| 103 | * @example 'Bureau 500' |
| 104 | */ |
| 105 | public static function secondaryAddress() |
| 106 | { |
| 107 | return static::numerify(static::randomElement(static::$secondaryAddressFormats)); |
| 108 | } |
| 109 | |
| 110 | /** |
| 111 | * @example 'Québec' |
| 112 | */ |
| 113 | public static function state() |
| 114 | { |
| 115 | return static::randomElement(static::$state); |
| 116 | } |
| 117 | |
| 118 | /** |
| 119 | * @example 'QC' |
| 120 | */ |
| 121 | public static function stateAbbr() |
| 122 | { |
| 123 | return static::randomElement(static::$stateAbbr); |
| 124 | } |
| 125 | } |
| 126 |