Andmebaasi külvamine PHP Fakeri teegi abil
Olete välja töötanud rakenduse. Olete loonud oma veebisaidi jaoks andmebaasi. Rakenduse testimiseks vajate nüüd mingeid võltsandmeid. Ilmselt tekib küsimus, kas veebis on saadaval võltsandmete genereerimise tööriista, mis saaks andmebaasi tabeleid külvata?
Faker on PHP-teek, mis genereerib teie rakenduse jaoks võltsandmeid.
Andmete andmebaasi käsitsi täitmine on aeganõudev protsess. Arendajana ei tohiks me seda protsessi käsitsi teha. Oleme arendaja ja üsna edasijõudnud, seega peaksime oma ülesannete täitmiseks alati eelistama automatiseeritud tööriistu.
Fakeri teeki kasutades saame mõne sekundi jooksul oma andmebaasi sisestada hulgaliselt näivaid andmeid. Kõik, mida me peame tegema, on Faker Formatters’i kaudu luua näiv andmeid, nagu võltsitud e-kiri, võltsitud nimi jne.
Seda öeldes vaatame samm-sammult Fakeri teegi kasutamist.
Paigaldamine
Soovitav viis Fakeri teegi installimiseks on helilooja. Kui te pole Composerit oma arvutisse installinud, saate selle siit alla laadida .
Avage terminal oma projekti juurkataloogis ja käivitage järgmine käsk:
composer require fzaninotto/faker
Järgmisena peame looma oma andmebaasi tabeli jaoks näivandmed. Oletame, et meil on tabel nimega "kasutajad" ja see sisaldab veerge nagu täisnimi, e-posti aadress, parool, loodud_AT. Ja peame sisestama võltsandmed tabelisse „kasutajad".
Seemnete andmebaasi kood
Kuna peame sisestama võltsitud andmed oma andmebaasi, peame kõigepealt oma andmebaasi ühendama.
Selle artikli puhul eeldame, et kasutate põhilisi PHP-sid, nii et kirjutame andmebaasi ühendamiseks koodi ja vastavalt sellele päringud. Kui kasutate mõnda raamistikku või CMS-i, on teie kood veidi erinev, kuid loogika oleks sama.
Looge faili seed.php oma projekti juurkataloogi ja asetage sellesse allolev kood.
<?php
require_once "vendor/autoload.php";
$conn = mysqli_connect("localhost", "root", "", "my_database");
$faker = FakerFactory::create();
for ($i=0; $i < 100; $i++) {
$sql = "INSERT INTO users (fullname, email, password, created_at) VALUES ('". $faker->name. "', '". $faker->email. "', '". md5($faker->password). "', '". date('Y-m-d H:i:s', strtotime($faker->iso8601)). "' )";
mysqli_query($conn, $sql);
}
?>
Koodi kohal sisestatakse andmebaasi ‘my_database’ kasutajate tabelisse 100 võltskirjet.
Oma koodis kasutasime Fakeri pakkujaid nagu nimi, e-posti aadress, parool ja iso8601. Fakeri teegis on veel mitmeid pakkujaid.
Kuidas Fakeri pakkujad töötavad?
Fakeri teegi githubi lehel näete vormindajate all pakkujate loendit.
Võtame näite FakerProviderLorem
pakkujast. Sellel teenusepakkujal on mõned vormindajad, näiteks sõna, lõigud jne, nagu on näidatud alloleval ekraanipildil.
Näitena võtame ühe stsenaariumi, kus peame looma näivlause. Nii et teeme võltsingu abil seda järgmiselt.
<?php
$faker = FakerFactory::create();
echo $faker->sentence;
?>
See annab meile lause, mis sisaldab 6 sõna. Seda seetõttu, et meetodilausel on esimene parameeter vaikeväärtusega 6. Kui vajame 20-sõnalist lauset, on meie kood järgmine.
<?php
$faker = FakerFactory::create();
echo $faker->sentence(20);
?>
Koodi kohal saab lause 20 sõnaga.
Nii töötavad vormindajad Fakeri raamatukogus. Võite kasutada teisi vormindajaid vastavalt oma vajadustele või vastavalt oma tabeli struktuuridele.
Loodame, et saate aru, kuidas PHP-s Fakeri teeki kasutades andmebaasi külvata. Tahaksime teie mõtteid kuulda allpool olevas kommentaaride jaotises.