mr-wolf-gb/faker-tunisia
最新稳定版本:v1.1.0
Composer 安装命令:
composer require mr-wolf-gb/faker-tunisia
包简介
Tunisia Faker provider for Laravel
README 文档
README
A custom Faker provider for generating Tunisian data in multiple locales (fr_TN, en_TN, ar_TN) for Laravel.
Overview
This package provides a custom Faker provider for generating realistic Tunisian data in three locales:
- fr_TN: French transliteration (Arabic data using the French alphabet)
- en_TN: English format (Same names as fr_TN but with English address formats)
- ar_TN: Arabic script (Native Arabic script for all data)
The provider includes generators for:
- Person names (male and female first names, last names)
- Addresses (streets, cities, postal codes, governorates)
- Phone numbers (mobile and landline)
- Company names and details
Installation
You can install the package via composer:
composer require mr-wolf-gb/faker-tunisia
Usage
Basic Usage with Specific Locale
// Create a Faker generator with specific locale $faker = \FakerTunisia\TunisiaFakerFactory::create('fr_TN'); // French transliteration // OR $faker = \FakerTunisia\TunisiaFakerFactory::create('en_TN'); // English format // OR $faker = \FakerTunisia\TunisiaFakerFactory::create('ar_TN'); // Arabic script // Generate data in the selected locale $name = $faker->name; $address = $faker->address; $phone = $faker->phoneNumber; $company = $faker->company;
Mixing Locales
One of the key features of this package is the ability to mix locales for different components:
// Start with a base locale $faker = \FakerTunisia\TunisiaFakerFactory::create('fr_TN'); // Set specific locales for different components $faker->setLocale('ar_TN', 'names'); // Use Arabic script for names $faker->setLocale('en_TN', 'addresses'); // Use English format for addresses // Generate mixed locale data $name = $faker->name; // Arabic script $address = $faker->address; // English format $phone = $faker->phoneNumber; // French format (default) $company = $faker->company; // French format (default)
Available components for mixing:
names: Person namesaddresses: Addresses and locationsphones: Phone numberscompanies: Company names and details
Available Formatters
Person Data
firstNameMale()- Generate a male first namefirstNameFemale()- Generate a female first namelastName()- Generate a last namename($gender = null)- Generate a full name
Address Data
streetName()- Generate a street namebuildingNumber()- Generate a building numberpostcode()- Generate a postal code (4 digits)city()- Generate a city namegovernorate()- Generate a governorate nameaddress()- Generate a complete address
Phone Data
mobileNumber()- Generate a mobile phone numberlandlineNumber()- Generate a landline phone numberphoneNumber()- Generate either a mobile or landline number
Company Data
company()- Generate a company namecompanySuffix()- Generate a company suffixcompanyPrefix()- Generate a company prefixcompanyIndustry()- Generate a company industry
Laravel Integration
The package automatically registers with Laravel through its service provider. Once installed, you can use it in your Laravel application:
// In a Laravel controller or service public function example() { // Default locale (fr_TN) $faker = app('Faker'); // Or specify a locale $faker = \FakerTunisia\TunisiaFakerFactory::create('ar_TN'); // Mix locales if needed $faker->setLocale('en_TN', 'addresses'); return [ 'name' => $faker->name, 'address' => $faker->address, 'phone' => $faker->phoneNumber, 'company' => $faker->company, ]; }
// In Factory class UserFactory extends Factory { public function definition(): array { // Using factory $faker = \FakerTunisia\TunisiaFakerFactory::create('ar_TN'); // Or add as provider $this->faker->addProvider(new \FakerTunisia\FrTunisiaProvider($this->faker)); // $this->faker->addProvider(new \FakerTunisia\EnTunisiaProvider($this->faker)); // $this->faker->addProvider(new \FakerTunisia\ArTunisiaProvider($this->faker)); return [ 'name' => $faker->name, 'address' => $faker->address, 'phone' => $faker->phoneNumber, 'company' => $faker->company, ]; } }
You can also set the default locale in your Laravel configuration:
// config/app.php 'faker_locale' => 'ar_TN',
Examples
French Locale (fr_TN)
Male Name: Marouen Bahloul
Female Name: Syrine Marzougui
Address: Place Ibn Khaldoun 537, 6589 Monastir, Tunisie
Phone: +216 54 01 03 02
Company: Groupe de Bizerte SA
English Locale (en_TN)
Male Name: Nizar Mathlouthi
Female Name: Asma Ben Ali
Address: 454 Paris Boulevard, Zarzis, 1242, Tunisia
Phone: +216 78 03 01 02
Company: Hammami & Makhlouf Inc.
Arabic Locale (ar_TN)
Male Name: مهدي ساسي
Female Name: غفران ماهر
Address: نهج الياسمين 787, الكاف, تونس
Phone: +216 21 01 02 03
Company: قربة التكنولوجيا ش.خ
Mixed Locales
Name (ar_TN): غيث طرابلسي
Address (en_TN): 922 Rue de la République, Bizerte, 6845, Tunisia
Phone (fr_TN): +216 73 02 01 03
Company (fr_TN): Transport de Tunisie SCS
License
MIT
Credits
- Contributors: Manus AI Agent
- Research and data collection: Based on authentic Tunisian sources
统计信息
- 总下载量: 4
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-05-17