Вход Регистрация
Файл: gapps/vendor/fzaninotto/faker/src/Faker/Provider/pt_BR/PhoneNumber.php
Строк: 227
<?php

namespace FakerProviderpt_BR;

class 
PhoneNumber extends FakerProviderPhoneNumber
{

    protected static 
$landlineFormats = array('2###-####''3###-####');

    protected static 
$cellphoneFormats = array('7###-####''8###-####''9###-####');

    
/**
     * Extracted from http://portal.embratel.com.br/embratel/9-digito/ (point 11)
     */
    
protected static $ninthDigitAreaCodes = array(
        
111213141516171819// aug/2013
        
2122242728// oct/2013
        
919293949596979899// nov/2014
        
818283848586878889// may/2015
        
31323334353738717374757779// oct/2015
        //41, 42, 43, 44, 45, 46, 47, 48, 49, 51, 53, 54, 55, 61, 62, 63, 64, 65, 66, 67, 68, 69 //by dec/2016
    
);

    
/**
     * Generates a 2-digit area code not composed by zeroes.
     * @return string
     */
    
public static function areaCode()
    {
        return static::
randomDigitNotNull().static::randomDigitNotNull();
    }

    
/**
     * Generates a 8/9-digit cellphone number without formatting characters.
     * @param bool $formatted [def: true] If it should return a formatted number or not.
     * @param int|bool $area  [def: false] A specific area code to which the number will belong.
     *                        If a boolean is used, will add (or not) the ninth digit.
     * @return string
     */
    
public static function cellphone($formatted true$area false)
    {
        
$number = static::numerify(static::randomElement(static::$cellphoneFormats));

        if (
$area === true || in_array($area, static::$ninthDigitAreaCodes)) {
            
$number "9$number";
        }

        if (!
$formatted) {
            
$number strtr($number, array('-' => ''));
        }

        return 
$number;
    }

    
/**
     * Generates an 8-digit landline number without formatting characters.
     * @param bool $formatted [def: true] If it should return a formatted number or not.
     * @return string
     */
    
public static function landline($formatted true)
    {
        
$number = static::numerify(static::randomElement(static::$landlineFormats));

        if (!
$formatted) {
            
$number strtr($number, array('-' => ''));
        }

        return 
$number;
    }

    
/**
     * Randomizes between cellphone and landline numbers.
     * @param bool $formatted [def: true] If it should return a formatted number or not.
     * @return mixed
     */
    
public static function phone($formatted true)
    {
        
$options = static::randomElement(array(
            array(
'cellphone'false),
            array(
'cellphone'true),
            array(
'landline'null),
        ));

        return 
call_user_func("static::{$options[0]}"$formatted$options[1]);
    }

    
/**
     * Generates a complete phone number.
     * @param string $type      [def: landline] One of "landline" or "cellphone". Defaults to "landline" on invalid values.
     * @param bool   $formatted [def: true] If the number should be formatted or not.
     * @return string
     */
    
protected static function anyPhoneNumber($type$formatted true)
    {
        
$area   = static::areaCode();
        
$number = ($type == 'cellphone')?
            static::
cellphone($formattedin_array($area, static::$ninthDigitAreaCodes)) :
            static::
landline($formatted);

        return 
$formatted"($area$number$area.$number;
    }

    
/**
     * Concatenates {@link areaCode} and {@link cellphone} into a national cellphone number. The ninth digit is
     * derived from the area code.
     * @param bool $formatted [def: true] If it should return a formatted number or not.
     * @return string
     */
    
public static function cellphoneNumber($formatted true)
    {
        return static::
anyPhoneNumber('cellphone'$formatted);
    }

    
/**
     * Concatenates {@link areaCode} and {@link landline} into a national landline number.
     * @param bool $formatted [def: true] If it should return a formatted number or not.
     * @return string
     */
    
public static function landlineNumber($formatted true)
    {
        return static::
anyPhoneNumber('landline'$formatted);
    }

    
/**
     * Randomizes between complete cellphone and landline numbers.
     * @return mixed
     */
    
public function phoneNumber()
    {
        
$method = static::randomElement(array('cellphoneNumber''landlineNumber'));
        return 
call_user_func("static::$method"true);
    }

    
/**
     * Randomizes between complete cellphone and landline numbers, cleared from formatting symbols.
     * @return mixed
     */
    
public static function phoneNumberCleared()
    {
        
$method = static::randomElement(array('cellphoneNumber''landlineNumber'));
        return 
call_user_func("static::$method"false);
    }
}
Онлайн: 1
Реклама