| 148 |
lars |
1 |
<?php
|
|
|
2 |
|
|
|
3 |
namespace Faker\Provider\pt_BR;
|
|
|
4 |
|
|
|
5 |
require_once 'check_digit.php';
|
|
|
6 |
|
|
|
7 |
class Person extends \Faker\Provider\Person
|
|
|
8 |
{
|
|
|
9 |
protected static $maleNameFormats = [
|
|
|
10 |
'{{firstNameMale}} {{lastName}}',
|
|
|
11 |
'{{firstNameMale}} {{firstNameMale}} {{lastName}}',
|
|
|
12 |
'{{firstNameMale}} {{lastName}} {{lastName}}',
|
|
|
13 |
'{{titleMale}} {{firstNameMale}} {{lastName}}',
|
|
|
14 |
'{{titleMale}} {{firstNameMale}} {{firstNameMale}} {{lastName}}',
|
|
|
15 |
'{{titleMale}} {{firstNameMale}} {{lastName}} {{lastName}}',
|
|
|
16 |
'{{firstNameMale}} {{lastName}} {{suffix}}',
|
|
|
17 |
'{{firstNameMale}} {{firstNameMale}} {{lastName}} {{suffix}}',
|
|
|
18 |
'{{firstNameMale}} {{lastName}} {{lastName}} {{suffix}}',
|
|
|
19 |
'{{titleMale}} {{firstNameMale}} {{lastName}} {{suffix}}',
|
|
|
20 |
'{{titleMale}} {{firstNameMale}} {{firstNameMale}} {{lastName}} {{suffix}}',
|
|
|
21 |
'{{titleMale}} {{firstNameMale}} {{lastName}} {{lastName}} {{suffix}}',
|
|
|
22 |
];
|
|
|
23 |
|
|
|
24 |
protected static $femaleNameFormats = [
|
|
|
25 |
'{{firstNameFemale}} {{lastName}}',
|
|
|
26 |
'{{firstNameFemale}} {{firstNameFemale}} {{lastName}}',
|
|
|
27 |
'{{firstNameFemale}} {{lastName}} {{lastName}}',
|
|
|
28 |
'{{titleFemale}} {{firstNameFemale}} {{lastName}}',
|
|
|
29 |
'{{titleFemale}} {{firstNameFemale}} {{firstNameFemale}} {{lastName}}',
|
|
|
30 |
'{{titleFemale}} {{firstNameFemale}} {{lastName}} {{lastName}}',
|
|
|
31 |
'{{firstNameFemale}} {{lastName}} {{suffix}}',
|
|
|
32 |
'{{firstNameFemale}} {{firstNameFemale}} {{lastName}} {{suffix}}',
|
|
|
33 |
'{{firstNameFemale}} {{lastName}} {{lastName}} {{suffix}}',
|
|
|
34 |
'{{titleFemale}} {{firstNameFemale}} {{lastName}} {{suffix}}',
|
|
|
35 |
'{{titleFemale}} {{firstNameFemale}} {{firstNameFemale}} {{lastName}} {{suffix}}',
|
|
|
36 |
'{{titleFemale}} {{firstNameFemale}} {{lastName}} {{lastName}} {{suffix}}',
|
|
|
37 |
];
|
|
|
38 |
|
|
|
39 |
protected static $firstNameMale = [
|
|
|
40 |
'Aaron', 'Adriano', 'Adriel', 'Afonso', 'Agostinho', 'Alan', 'Alessandro', 'Alexandre', 'Allan', 'Alonso',
|
|
|
41 |
'Anderson', 'Andres', 'André', 'Antônio', 'Arthur', 'Artur', 'Augusto', 'Benedito', 'Benjamin', 'Benício',
|
|
|
42 |
'Bernardo', 'Breno', 'Bruno', 'Caio', 'Camilo', 'Carlos', 'Cauan', 'Cezar', 'Christian', 'Christopher',
|
|
|
43 |
'Cláudio', 'Cléber', 'Cristian', 'Cristiano', 'Cristóvão', 'César', 'Daniel', 'Danilo', 'Dante', 'Davi',
|
|
|
44 |
'David', 'Deivid', 'Demian', 'Dener', 'Denis', 'Diego', 'Diogo', 'Edilson', 'Edson', 'Eduardo', 'Elias',
|
|
|
45 |
'Emanuel', 'Emerson', 'Emiliano', 'Emílio', 'Enzo', 'Eric', 'Erik', 'Estêvão', 'Evandro', 'Everton', 'Fabiano',
|
|
|
46 |
'Fabrício', 'Felipe', 'Fernando', 'Filipe', 'Flávio', 'Francisco', 'Franco', 'Fábio', 'Gabriel', 'Gael', 'Gean',
|
|
|
47 |
'George', 'Gian', 'Gilberto', 'Giovane', 'Guilherme', 'Gustavo', 'Heitor', 'Henrique', 'Hernani', 'Horácio',
|
|
|
48 |
'Hugo', 'Ian', 'Igor', 'Inácio', 'Isaac', 'Ivan', 'James', 'Jean', 'Jefferson', 'Jerônimo', 'Joaquim',
|
|
|
49 |
'Joaquin', 'Jonas', 'Jorge', 'Josué', 'José', 'João', 'Juan', 'Juliano', 'Jácomo', 'Júlio', 'Kauan', 'Kevin',
|
|
|
50 |
'Kléber', 'Leandro', 'Leo', 'Leonardo', 'Lorenzo', 'Luan', 'Lucas', 'Luciano', 'Lucio', 'Luis', 'Luiz',
|
|
|
51 |
'Maicon', 'Manuel', 'Marcelo', 'Marco', 'Marcos', 'Martinho', 'Mateus', 'Matheus', 'Matias', 'Mauro',
|
|
|
52 |
'Maurício', 'Maximiano', 'Michael', 'Miguel', 'Moisés', 'Murilo', 'Márcio', 'Mário', 'Máximo', 'Natal', 'Natan',
|
|
|
53 |
'Nelson', 'Nero', 'Nicolas', 'Noel', 'Otávio', 'Pablo', 'Paulo', 'Pedro', 'Rafael', 'Raphael', 'Reinaldo',
|
|
|
54 |
'Renan', 'Renato', 'Ricardo', 'Richard', 'Roberto', 'Robson', 'Rodolfo', 'Rodrigo', 'Rogério', 'Ronaldo',
|
|
|
55 |
'Samuel', 'Sandro', 'Santiago', 'Saulo', 'Sebastião', 'Sergio', 'Simon', 'Simão', 'Sérgio', 'Teobaldo',
|
|
|
56 |
'Thales', 'Thiago', 'Thomas', 'Théo', 'Tiago', 'Tomás', 'Téo', 'Valentin', 'Vicente', 'Victor', 'Vinícius',
|
|
|
57 |
'Vitor', 'Wagner', 'Walter', 'Wellington', 'Wesley', 'William', 'Willian', 'Wilson', 'Yuri', 'Ziraldo', 'Ícaro',
|
|
|
58 |
'Ítalo',
|
|
|
59 |
];
|
|
|
60 |
|
|
|
61 |
protected static $firstNameFemale = [
|
|
|
62 |
'Abgail', 'Adriana', 'Adriele', 'Agatha', 'Agustina', 'Alana', 'Alessandra', 'Alexa', 'Alice', 'Aline',
|
|
|
63 |
'Allison', 'Alma', 'Alícia', 'Amanda', 'Amélia', 'Ana', 'Analu', 'Andressa', 'Andréa', 'Andréia', 'Angélica',
|
|
|
64 |
'Anita', 'Antonella', 'Antonieta', 'Aparecida', 'Ariana', 'Ariane', 'Aurora', 'Ayla', 'Beatriz', 'Bella',
|
|
|
65 |
'Betina', 'Bia', 'Bianca', 'Bruna', 'Bárbara', 'Camila', 'Carla', 'Carol', 'Carolina', 'Caroline', 'Catarina',
|
|
|
66 |
'Cecília', 'Clara', 'Clarice', 'Cláudia', 'Constância', 'Cristiana', 'Cristina', 'Cynthia', 'Cíntia', 'Daiana',
|
|
|
67 |
'Daiane', 'Daniela', 'Daniele', 'Daniella', 'Danielle', 'Dayana', 'Dayane', 'Denise', 'Diana', 'Dirce',
|
|
|
68 |
'Débora', 'Eduarda', 'Elaine', 'Eliane', 'Elis', 'Elisa', 'Elizabeth', 'Ellen', 'Eloah', 'Eloá', 'Emanuelly',
|
|
|
69 |
'Emilly', 'Emily', 'Emília', 'Estela', 'Ester', 'Esther', 'Eunice', 'Eva', 'Fabiana', 'Fernanda', 'Flor',
|
|
|
70 |
'Flávia', 'Franciele', 'Fátima', 'Gabi', 'Gabriela', 'Gabrielle', 'Gabrielly', 'Giovana', 'Giovanna', 'Gisela',
|
|
|
71 |
'Gisele', 'Graziela', 'Helena', 'Heloise', 'Heloísa', 'Hortência', 'Hosana', 'Iasmin', 'Ingrid', 'Irene',
|
|
|
72 |
'Isabel', 'Isabella', 'Isabelly', 'Isadora', 'Isis', 'Ivana', 'Janaina', 'Jaqueline', 'Jasmin', 'Jennifer',
|
|
|
73 |
'Joana', 'Josefina', 'Joyce', 'Juliana', 'Juliane', 'Julieta', 'Jéssica', 'Júlia', 'Kamila', 'Karen', 'Karina',
|
|
|
74 |
'Karine', 'Katherine', 'Kelly', 'Ketlin', 'Késia', 'Laiane', 'Lara', 'Larissa', 'Laura', 'Lavínia', 'Laís',
|
|
|
75 |
'Letícia', 'Lia', 'Lidiane', 'Lilian', 'Liz', 'Lorena', 'Louise', 'Luana', 'Luara', 'Luciana', 'Luiza', 'Luna',
|
|
|
76 |
'Luzia', 'Luísa', 'Léia', 'Lívia', 'Lúcia', 'Madalena', 'Maiara', 'Maitê', 'Malena', 'Malu', 'Manoela',
|
|
|
77 |
'Manuela', 'Maraisa', 'Mari', 'Maria', 'Mariah', 'Mariana', 'Marina', 'Marisa', 'Marta', 'Mary', 'Marília',
|
|
|
78 |
'Maya', 'Mayara', 'Maísa', 'Mel', 'Melina', 'Melinda', 'Melissa', 'Mia', 'Micaela', 'Michele', 'Michelle',
|
|
|
79 |
'Mila', 'Milena', 'Milene', 'Miranda', 'Mirela', 'Mirella', 'Miriam', 'Márcia', 'Mônica', 'Naiara', 'Naomi',
|
|
|
80 |
'Nathalia', 'Natália', 'Nayara', 'Nicole', 'Noa', 'Noelí', 'Noemi', 'Norma', 'Nádia', 'Ohana', 'Olga', 'Olívia',
|
|
|
81 |
'Ornela', 'Paloma', 'Paola', 'Patrícia', 'Paula', 'Paulina', 'Pietra', 'Poliana', 'Priscila', 'Pâmela',
|
|
|
82 |
'Pérola', 'Rafaela', 'Raissa', 'Raquel', 'Rayane', 'Raysa', 'Rebeca', 'Regiane', 'Regina', 'Renata', 'Roberta',
|
|
|
83 |
'Rosana', 'Ruth', 'Sabrina', 'Samanta', 'Samara', 'Sandra', 'Sara', 'Sarah', 'Sheila', 'Silvana', 'Simone',
|
|
|
84 |
'Sofia', 'Sophia', 'Sophie', 'Stefany', 'Stella', 'Stephanie', 'Stephany', 'Suelen', 'Sueli', 'Suellen',
|
|
|
85 |
'Suzana', 'Sônia', 'Tainara', 'Talita', 'Tatiana', 'Tatiane', 'Taís', 'Tessália', 'Thalia', 'Thalissa',
|
|
|
86 |
'Thalita', 'Thaís', 'Tábata', 'Tâmara', 'Valentina', 'Valéria', 'Vanessa', 'Verônica', 'Violeta', 'Vitória',
|
|
|
87 |
'Viviane', 'Yasmin', 'Yohanna',
|
|
|
88 |
];
|
|
|
89 |
|
|
|
90 |
protected static $lastName = [
|
|
|
91 |
'Abreu', 'Aguiar', 'Alcantara', 'Alves', 'Amaral', 'Aragão', 'Aranda', 'Arruda', 'Ávila', 'Assunção', 'Azevedo',
|
|
|
92 |
'Balestero', 'Barreto', 'Barros', 'Batista', 'Beltrão', 'Benez', 'Benites', 'Bezerra', 'Bittencourt', 'Bonilha',
|
|
|
93 |
'Branco', 'Brito', 'Burgos', 'Caldeira', 'Camacho', 'Campos', 'Carmona', 'Carrara', 'Carvalho', 'Casanova',
|
|
|
94 |
'Cervantes', 'Chaves', 'Colaço', 'Cordeiro', 'Corona', 'Correia', 'Cortês', 'Cruz', 'D\'ávila', 'Delatorre',
|
|
|
95 |
'Delgado', 'Delvalle', 'Deverso', 'Dias', 'Dominato', 'Domingues', 'Duarte', 'Escobar', 'Espinoza', 'Esteves',
|
|
|
96 |
'Estrada', 'Faria', 'Faro', 'Feliciano', 'Ferminiano', 'Fernandes', 'Ferraz', 'Ferreira', 'Ferreira', 'Fidalgo',
|
|
|
97 |
'Flores', 'Fonseca', 'Fontes', 'Franco', 'Furtado', 'Galhardo', 'Galindo', 'Galvão', 'Garcia', 'Gil', 'Godói',
|
|
|
98 |
'Gomes', 'Gonçalves', 'Grego', 'Guerra', 'Gusmão', 'Jimenes', 'Leal', 'Leon', 'Lira', 'Lourenço', 'Lovato',
|
|
|
99 |
'Lozano', 'Lutero', 'Madeira', 'Maia', 'Maldonado', 'Marin', 'Marinho', 'Marques', 'Martines', 'Marés',
|
|
|
100 |
'Mascarenhas', 'Matias', 'Matos', 'Medina', 'Meireles', 'Mendes', 'Mendonça', 'Molina', 'Montenegro', 'Neves',
|
|
|
101 |
'Oliveira', 'Ortega', 'Ortiz', 'Pacheco', 'Padilha', 'Padrão', 'Paes', 'Paz', 'Pedrosa', 'Pena', 'Pereira',
|
|
|
102 |
'Perez', 'Pontes', 'Prado', 'Queirós', 'Queirós', 'Quintana', 'Quintana', 'Ramires', 'Ramos', 'Rangel', 'Reis',
|
|
|
103 |
'Rezende', 'Rico', 'Rios', 'Rivera', 'Rocha', 'Rodrigues', 'Romero', 'Roque', 'Rosa', 'Saito', 'Salas',
|
|
|
104 |
'Salazar', 'Sales', 'Salgado', 'Sanches', 'Sandoval', 'Santacruz', 'Santana', 'Santiago', 'Santos', 'Saraiva',
|
|
|
105 |
'Sepúlveda', 'Serna', 'Serra', 'Serrano', 'Soares', 'Solano', 'Soto', 'Souza', 'Tamoio', 'Teles', 'Toledo',
|
|
|
106 |
'Torres', 'Uchoa', 'Urias', 'Valdez', 'Vale', 'Valente', 'Valentin', 'Valência', 'Vasques', 'Vega', 'Velasques',
|
|
|
107 |
'Verdara', 'Verdugo', 'Vieira', 'Vila', 'Zamana', 'Zambrano', 'Zaragoça', 'da Cruz', 'da Rosa', 'da Silva',
|
|
|
108 |
'das Dores', 'das Neves', 'de Aguiar', 'de Arruda', 'de Freitas', 'de Oliveira', 'de Souza',
|
|
|
109 |
];
|
|
|
110 |
|
|
|
111 |
protected static $titleMale = ['Sr.', 'Dr.'];
|
|
|
112 |
|
|
|
113 |
protected static $titleFemale = ['Sra.', 'Srta.', 'Dr.'];
|
|
|
114 |
|
|
|
115 |
protected static $suffix = ['Filho', 'Neto', 'Sobrinho', 'Jr.'];
|
|
|
116 |
|
|
|
117 |
/**
|
|
|
118 |
* @example 'Jr.'
|
|
|
119 |
*/
|
|
|
120 |
public static function suffix()
|
|
|
121 |
{
|
|
|
122 |
return static::randomElement(static::$suffix);
|
|
|
123 |
}
|
|
|
124 |
|
|
|
125 |
/**
|
|
|
126 |
* A random CPF number.
|
|
|
127 |
*
|
|
|
128 |
* @see http://en.wikipedia.org/wiki/Cadastro_de_Pessoas_F%C3%ADsicas
|
|
|
129 |
*
|
|
|
130 |
* @param bool $formatted If the number should have dots/dashes or not.
|
|
|
131 |
*
|
|
|
132 |
* @return string
|
|
|
133 |
*/
|
|
|
134 |
public function cpf($formatted = true)
|
|
|
135 |
{
|
|
|
136 |
$n = $this->generator->numerify('#########');
|
|
|
137 |
$n .= check_digit($n);
|
|
|
138 |
$n .= check_digit($n);
|
|
|
139 |
|
|
|
140 |
return $formatted ? vsprintf('%d%d%d.%d%d%d.%d%d%d-%d%d', str_split($n)) : $n;
|
|
|
141 |
}
|
|
|
142 |
|
|
|
143 |
/**
|
|
|
144 |
* A random RG number, following Sao Paulo state's rules.
|
|
|
145 |
*
|
|
|
146 |
* @see http://pt.wikipedia.org/wiki/C%C3%A9dula_de_identidade
|
|
|
147 |
*
|
|
|
148 |
* @param bool $formatted If the number should have dots/dashes or not.
|
|
|
149 |
*
|
|
|
150 |
* @return string
|
|
|
151 |
*/
|
|
|
152 |
public function rg($formatted = true)
|
|
|
153 |
{
|
|
|
154 |
$n = $this->generator->numerify('########');
|
|
|
155 |
$n .= check_digit($n);
|
|
|
156 |
|
|
|
157 |
return $formatted ? vsprintf('%d%d.%d%d%d.%d%d%d-%s', str_split($n)) : $n;
|
|
|
158 |
}
|
|
|
159 |
}
|