1. Go to this page and download the library: Download irwinlopez1023/mex-core library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
irwinlopez1023 / mex-core example snippets
use Irwinlopez1023\MexCore\MexCore;
$p = MexCore::Persona()->fromData('SOSR650222MPLSNC03', 'MARIA DEL ROCIO', 'SOSA', 'SANCHEZ');
echo $p->toPrimerNombre(); // MARIA DEL ROCIO (no se parte en MARIA + DEL ROCIO)
echo $p->toEdad(); // edad a partir de la CURP
echo $p->toEstado()->toNombre(); // Puebla
var_dump($p->tieneCurpValida()); // true
var_dump($p->coincideConCurp()); // true: los nombres cuadran con la CURP
use Irwinlopez1023\MexCore\MexCore;
$estado = MexCore::Estado()->fromCurp('HEGG560427MVZRRL04'); // CURP completa
$estado = MexCore::Estado()->fromCurp('SP'); // o solo el código
$estado = MexCore::Estado()->fromNumero(24);
$estado = MexCore::Estado()->fromNumero('09'); // con cero a la izquierda
$estado = MexCore::Estado()->fromAbreviatura('SLP');
$estado = MexCore::Estado()->fromNombre('San Luis Potosí');
echo $estado->toNumero(); // 24
echo $estado->toNumeroFormateado(); // 24 (y '09' para la CDMX)
echo $estado->toCurp(); // SP
echo $estado->toAbreviatura(); // SLP
echo $estado->toIso(); // SLP
echo $estado->toNombre(); // San Luis Potosí
var_dump($estado->esExtranjero()); // false
$bc = MexCore::Estado()->fromCurp('XXXX000101HBCXXX00');
$bc->toAbreviatura(); // 'BC' <- dos letras, rompe una API que espera tres
$bc->toIso(); // 'BCN' <- ISO 3166-2:MX
$abr = MexCore::Estado()->fromNombre('Nuevo León')->toAbreviatura(); // NL
$num = MexCore::Estado()->fromAbreviatura('CDMX')->toNumero(); // 9
$nom = MexCore::Estado()->fromCurp('VARG740228HSPLSN07')->toNombre(); // San Luis Potosí
MexCore::Estado()->desde(24)->toNombre(); // San Luis Potosí
MexCore::Estado()->desde('SP')->toNombre(); // San Luis Potosí
MexCore::Estado()->desde('SLP')->toNombre(); // San Luis Potosí
MexCore::Estado()->desde('VARG740228HSPLSN07')->toNombre(); // San Luis Potosí
MexCore::Estado()->intentarDesde('Narnia'); // null, no lanza
MexCore::Estado()->existe('PUE'); // true
MexCore::Estado()->existe(99); // false
MexCore::Estado()->fromNombre('Coahuila de Zaragoza')->toNumero(); // 5
MexCore::Estado()->fromNombre('Michoacán de Ocampo')->toNumero(); // 16
MexCore::Estado()->fromNombre('Veracruz de Ignacio de la Llave')->toNumero(); // 30
MexCore::Estado()->fromNombre('Querétaro de Arteaga')->toNumero(); // 22
$cdmx = MexCore::Estado()->fromNumero(9);
$cdmx->toArray();
// ['numero' => 9, 'nombre' => 'Ciudad de México', 'curp' => 'DF',
// 'abreviatura' => 'CDMX', 'iso' => 'CMX']
json_encode($cdmx);
// {"numero":9,"nombre":"Ciudad de México","curp":"DF","abreviatura":"CDMX","iso":"CMX"}
// equals() compara datos, no instancias: da igual por dónde entró.
MexCore::Estado()->fromAbreviatura('SLP')->equals(MexCore::Estado()->fromNumero(24)); // true
print_r(MexCore::Persona()->separarNombres('MARIA DEL ROCIO ALEJANDRA'));
// ['MARIA DEL ROCIO', 'ALEJANDRA']
$query = MexCore::Persona()
->withConectores(['DE', 'DEL', 'LA'])
->withAbreviaturas(['MA', 'J']);
$query->separarNombres('MARIA DE LOS ANGELES');
// ['MARIA DE LOS', 'ANGELES'] <- LOS ya no es conector, cierra el bloque
$p = MexCore::Persona()->fromData('SOSR650222MPLSNC03', 'MARIA DEL ROCIO', 'SOSA', 'SANCHEZ');
echo $p->toSexo(); // M
echo $p->toFechaNacimiento()->format('Y-m-d'); // 1965-02-22
echo $p->toEdad(); // edad al día de hoy
echo $p->toEdad(new DateTimeImmutable('2020-01-01')); // 54
echo $p->toDigitoVerificador(); // 3
var_dump($p->tieneCurpValida()); // true
$ok = MexCore::Persona()->fromData('SOSR650222MPLSNC03', 'MARIA DEL ROCIO', 'SOSA', 'SANCHEZ');
var_dump($ok->coincideConCurp()); // true
// Paterno y materno invertidos: derivaria SASR/NSC, no SOSR/SNC
$mal = MexCore::Persona()->fromData('SOSR650222MPLSNC03', 'MARIA DEL ROCIO', 'SANCHEZ', 'SOSA');
var_dump($mal->coincideConCurp()); // false
$estado = $persona->toEstado();
echo $estado->toNombre(); // San Luis Potosí
echo $estado->toAbreviatura(); // SLP
echo $estado->toNumero(); // 24
echo $estado->toCurp(); // SP
// Todo en una línea
MexCore::Persona()->fromData('VARG740228HSPLSN07', 'JUAN CARLOS', 'VALENCIA', 'RAMIREZ')
->toEstado()
->toAbreviatura(); // SLP
use Irwinlopez1023\MexCore\Curp;
var_dump(Curp::esValida('SOSR650222MPLSNC03')); // true
echo Curp::digitoVerificador('SOSR650222MPLSNC0'); // 3
echo Curp::sexo('SOSR650222MPLSNC03'); // M
echo Curp::fechaNacimiento('SOSR650222MPLSNC03')->format('Y-m-d'); // 1965-02-22
echo Curp::prefijoDesde('MARIA DEL ROCIO', 'SOSA', 'SANCHEZ'); // SOSR
echo Curp::consonantesDesde('MARIA DEL ROCIO', 'SOSA', 'SANCHEZ'); // SNC
use Irwinlopez1023\MexCore\InvalidStateException;
try {
MexCore::Estado()->fromCurp('AAAA000101HZZXXX00'); // la entidad ZZ no existe
} catch (InvalidStateException $e) {
echo $e->getMessage();
}