Blog de programación, errores, soluciones

Chose Language:
Author: Admin/Publisher |finished | checked

Utilizando el paquete fakerPHP

Puede que en algunos proyectos necesitemos rellenar con información nuestra base de datos, para ello podemos utilizar el paquete fakerPHP, este lo podemos conseguir en el repositorio principal de Composer packagist.

Ya en estos tiempos creo que es casi necesario utilizar Composer en nuestro proyecto. Puedes ver sobre composer en este otro post https://blastcoding.com/que-es-composer/

Tengamos en cuenta que también utilizaremos autoload de composer.

Para utlizar faker necesitaras PHP 7.4 o superior

¿Que es faker?

La librería fakerPHP nos permite crear datos falsos para su uso, estos datos nos ayudarán para entender como funciona la estructura que hemos creado.

Tenga en cuanta que hemos creado un sistema y no podemos probarlo con datos que son del cliente, estos datos tienen que ser si o si falsos. Tampoco nos sirve rellenar datos a mano para las pruebas, esto llevaría demasiado tiempo.

Lo más inteligente es utilizar algo que lo rellene por nosotros, aquí entra esta librería.

Tenga en cuenta que puede haber otras librerías o paquetes para hacer esta acción, aquí tomaremos a fakerPHP como ejemplo. Por favor utilice la que más le convenga

Instalando Faker

Faker es fácil de instalar, creemos un proyecto, e inicializamos composer en él, una vez tengamos composer en nuestro proyecto podemos agregar faker a el de la siguiente manera:

Project Folder
composer require fakerphp/faker

Probando Faker

En faker hay un ejemplo realmente sencillo, así pues, probaremos faker con este ejemplo primero, cree un index.php dentro de la carpeta del proyecto y agregue estas líneas de codigo:

index.php
require_once 'vendor/autoload.php';

// use the factory to create a Faker\Generator instance
$faker = Faker\Factory::create();
// generate data by calling methods
echo $faker->name();
// 'Vince Sporer'
echo $faker->email();
// 'walter.sophia@hotmail.com'
echo $faker->text();
// 'Numquam ut mollitia at consequuntur inventore dolorem.'
Dr. Niko Maggio Sr.frieda39@yahoo.comRem dolores perspiciatis iure sunt. In dolor dolores nostrum totam. Quos dolorum rerum asperiores.

OK, la librería está funcionando, hagamos el script que hicimos para los ejercicios de paginación en PHP que creaba la tabla usuarios y la llenaba con usuarios falsos. Esta vez aremos el siguiente index.php

index.php
require_once 'vendor/autoload.php';

// use the factory to create a Faker\Generator instance
$faker = Faker\Factory::create();


$quantity = 150;

$create_table= "CREATE TABLE usuarios (
id INT AUTO_INCREMENT PRIMARY KEY,
nombre VARCHAR(50),
apellido VARCHAR(50),
email VARCHAR(100)
);"; $query = "
INSERT INTO usuarios (nombre, apellido, email) VALUES
"; $values = ""; for ($i=0; $i < $quantity; $i++) { $values .= "(\"".$faker->name()."\",\"".$faker->lastName()."\",\"".$faker->email()."\"),
"; if (($i+1) == $quantity) { $values .= "(\"".$faker->name()."\",\"".$faker->lastName()."\",\"".$faker->email()."\");"; } } echo $create_table.$query.$values;

Vea que tenemos que crear la tabla y dentro del insert utilizaremos faker para que cree los valores dentro de un for y así crear 150 usuarios, aunque veo que hice algo mal en el código porque por lo que veo son 151 usuarios

Faker formatters

Como puede ver en los ejemplos hemos utilizado $faker->name(), $faker->lastName(), $faker->email(), $faker->text() a estos metodos se le llaman formatters

Faker posee una cantidad increible de formatters estos los puedes chequear en la página official de faker https://fakerphp.github.io/formatters/.

Los formatters pueden ir desde el nombre de un usuario, a un número de tarjeta de crédito, incluso códigos de barra.

Category: php
Something wrong? If you found an error or mistake in the content you can contact me on Twitter | @luisg2249_luis.
Last 4 post in same category