


Menggunakan Faker untuk menjana data pengisi untuk ujian automatik
Feb 26, 2025 am 11:47 AM
Menulis kod anda sendiri untuk menghasilkan data palsu untuk projek anda boleh menjadi sangat rumit. Dalam tutorial ini, anda akan belajar bagaimana untuk menghasilkan data palsu menggunakan perpustakaan Faker yang terbukti di PHP.
pemula
Saya ingin menjelaskan beberapa mata sebelum meneruskan.
Perpustakaan palsu asal adalah fzaninotto/faker. Walau bagaimanapun, ia diarkibkan oleh pemilik pada 11 Disember 2020. Sekarang, cawangan perpustakaan yang dipanggil Fakerphp/Faker meneruskan kerja pembangunannya. Jika anda cuba memutuskan mana yang harus anda gunakan dalam projek anda, pilih FakerPhp.
Faker dari Fakerphp memerlukan versi PHP anda lebih besar daripada atau sama dengan 7.4. Ini berbeza dengan php> = 5.3.3 yang disokong oleh perpustakaan asal.
dari sekarang, semua rujukan kepada Faker dalam tutorial ini akan merujuk kepada versi cawangan yang lebih baru.
anda boleh memasang Faker menggunakan komposer dengan menjalankan arahan berikut:
<code>composer require fakerphp/faker</code>Ini akan membuat fail composer.json
untuk anda dan pasang semua pakej yang diperlukan dalam direktori vendor . Selepas pemasangan selesai, anda boleh mula menggunakan perpustakaan dalam projek anda dengan menambahkan kedua -dua baris ini ke kod anda:
Baris pertama termasuk perpustakaan Faker dalam projek kami.
require 'vendor/autoload.php'; $faker = Faker\Factory::create();
Di baris kedua, kita memulakan penjana Faker menggunakan panggilan ke kelas kilang statik contoh penjana, yang boleh kita gunakan untuk menghasilkan pelbagai data palsu.
menghasilkan nama palsu, alamat dan nombor telefon
Objek penyedia digunakan untuk menjana data rawak. Panggilan kepada contoh penjana yang kami bundel dengan pembekal lalai.
Penyedia lalai menjana nama, alamat, nombor telefon, butiran syarikat, dan lain -lain berdasarkan Amerika Syarikat. Panggilan ini menambah penyedia di latar belakang:
Anda boleh menjana nama palsu di Faker dengan hanya memanggil atribut nama. Setiap panggilan akan mengeluarkan nama rawak yang berbeza. Berikut adalah contoh:
$faker = new Faker\Generator(); $faker->addProvider(new Faker\Provider\en_US\Person($faker)); $faker->addProvider(new Faker\Provider\en_US\Address($faker)); $faker->addProvider(new Faker\Provider\en_US\PhoneNumber($faker)); $faker->addProvider(new Faker\Provider\en_US\Company($faker)); $faker->addProvider(new Faker\Provider\Lorem($faker)); $faker->addProvider(new Faker\Provider\Internet($faker));
Jika anda tidak berminat dengan nama penuh anda, anda juga boleh meminta hanya nama pertama atau terakhir anda.
require 'vendor/autoload.php'; $faker = Faker\Factory::create(); $fake_names = []; for($i = 0; $i < 10; $i++){ $fake_names[] = $faker->name; } /* Array ( [0] => Gabe Mann Jr. [1] => Lazaro Leuschke [2] => Angie Welch Sr. [3] => Prof. Kirk Krajcik III [4] => Sadye Mosciski [5] => Danyka Braun [6] => Jacinthe Dickinson [7] => Clifton Beahan [8] => Dr. Jan Casper MD [9] => Adelia Schimmel ) */ print_r($fake_names);
Katakan anda hanya memerlukan nama lelaki atau perempuan. Dalam kes ini, anda hanya boleh menghubungi kaedah firstNamemale () dan alamat () atau akses phonenumber (), phonenumberWithextension ().
require 'vendor/autoload.php'; $faker = Faker\Factory::create(); $first_names = []; for($i = 0; $i < 10; $i++){ $first_names[] = $faker->firstName; } // Outputs: Dylan, Ariane, Doris, Reilly, Jamar, Merl, Maverick, Frederik, Lucius, Madyson echo implode(', ', $first_names);
menghasilkan butiran palsu khusus untuk tetapan locale
require 'vendor/autoload.php'; $faker = Faker\Factory::create(); /* Phone Number: +1-724-494-3101 Phone Number (Extension): (475) 499-3999 x9969 Phone Number (Toll Free): 855.618.0155 Phone Number: 1-660-934-8668 Phone Number (Extension): 351-533-3301 x1602 Phone Number (Toll Free): 844-530-4671 */ for($i = 0; $i < 2; $i++){ echo "Phone Number: ".$faker->phoneNumber()."\n"; echo "Phone Number (Extension): ".$faker->phoneNumberWithExtension()."\n"; echo "Phone Number (Toll Free): ".$faker->tollFreePhoneNumber()."\n\n"; }
Katakan anda sedang membangunkan aplikasi yang disasarkan di rantau tertentu. Dalam kes ini, anda mungkin mahu menggunakan data yang mencerminkan pasaran sasaran. Sebagai contoh, permohonan untuk orang Nigeria akan mendapat manfaat daripada memiliki nama Nigeria. Begitu juga, aplikasi untuk pengguna India mungkin ingin menggunakan alamat India.
Trik untuk menjana data khusus locale adalah untuk lulus lokasi ke kaedah RandomNumber (), yang secara lalai menghasilkan nombor rawak dengan bilangan digit yang ditentukan. Anda boleh lulus kaedah UnixTime () untuk mendapatkan nilai timestamp Unix antara 0 dan masa semasa atau masa yang ditentukan. Kaedah rawak () rawak juga boleh dijana. Sekali lagi, maksimum lalai ialah tarikh dan masa semasa.
Jika anda ingin menjana kaedah DateTimead (), ia mengembalikan tarikh antara 1 Januari, 1, dan nilai maksimum yang diberikan.
Anda boleh menggunakan kaedah masa () untuk menjana tarikh dan masa rawak dalam format tertentu.
Katakan anda perlu mendapatkan kaedah DateTimebetween ().
<code>composer require fakerphp/faker</code>
menghasilkan tag menggunakan data palsu
Sekarang kita tahu cara menggunakan Faker untuk menghasilkan pelbagai jenis nilai angka, kita boleh menggabungkan hasilnya untuk membuat dokumen XML atau HTML, mengisi pangkalan data dengan nilai angka, dan sebagainya. Sebagai contoh, pertimbangkan kod berikut, yang menghasilkan fail konfigurasi rawak untuk orang yang berbeza.
require 'vendor/autoload.php'; $faker = Faker\Factory::create();
Selepas menghasilkan nilai rawak, anda boleh melakukan apa sahaja kepada mereka. Dalam kes ini, kami mengeluarkannya di kelas asas untuk menghasilkan jenis data yang kami mahukan. Jika anda mencari perpustakaan yang menjana data rawak, Faker pasti patut dicuba.
Atas ialah kandungan terperinci Menggunakan Faker untuk menjana data pengisi untuk ujian automatik. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Masalah dan penyelesaian biasa untuk skop pembolehubah PHP termasuk: 1. Pembolehubah global tidak dapat diakses dalam fungsi, dan ia perlu diluluskan menggunakan kata kunci atau parameter global; 2. Pembolehubah statik diisytiharkan dengan statik, dan ia hanya dimulakan sekali dan nilai dikekalkan antara pelbagai panggilan; 3. Pembolehubah hyperglobal seperti $ _get dan $ _post boleh digunakan secara langsung dalam mana -mana skop, tetapi anda perlu memberi perhatian kepada penapisan yang selamat; 4. Fungsi Anonymous perlu memperkenalkan pembolehubah skop induk melalui kata kunci penggunaan, dan apabila mengubah suai pembolehubah luaran, anda perlu lulus rujukan. Menguasai peraturan ini boleh membantu mengelakkan kesilapan dan meningkatkan kestabilan kod.

Untuk mengendalikan muat naik fail PHP dengan selamat, anda perlu mengesahkan sumber dan jenis, mengawal nama fail dan laluan, menetapkan sekatan pelayan, dan memproses fail media dua kali. 1. Sahkan sumber muat naik untuk mengelakkan CSRF melalui token dan mengesan jenis mime sebenar melalui finfo_file menggunakan kawalan putih; 2. Namakan semula fail ke rentetan rawak dan tentukan pelanjutan untuk menyimpannya dalam direktori bukan web mengikut jenis pengesanan; 3. Konfigurasi PHP mengehadkan saiz muat naik dan direktori sementara Nginx/Apache melarang akses ke direktori muat naik; 4. Perpustakaan GD menyambung semula gambar -gambar untuk membersihkan data yang berpotensi.

Terdapat tiga kaedah umum untuk kod komen PHP: 1. Use // atau # untuk menyekat satu baris kod, dan disyorkan untuk menggunakan //; 2. Gunakan /.../ untuk membungkus blok kod dengan pelbagai baris, yang tidak boleh bersarang tetapi boleh diseberang; 3. Komen -komen kemahiran gabungan seperti menggunakan / jika () {} / untuk mengawal blok logik, atau untuk meningkatkan kecekapan dengan kunci pintasan editor, anda harus memberi perhatian kepada simbol penutupan dan mengelakkan bersarang apabila menggunakannya.

Ageneratorinphpisamemory-efficientwaytoiterateOverlargedatasetsbyieldingvaluesonateatimeNsteadofreturningthemallatonce.1.GeneratorSuseTheyEldeyWorderWorderToProducevaluuesondemand,

Kunci untuk menulis komen PHP adalah untuk menjelaskan tujuan dan spesifikasi. Komen harus menjelaskan "mengapa" dan bukannya "apa yang dilakukan", mengelakkan redundansi atau terlalu kesederhanaan. 1. Gunakan format bersatu, seperti docblock (/*/) untuk deskripsi kelas dan kaedah untuk meningkatkan keserasian dan keserasian alat; 2. Menekankan sebab -sebab di sebalik logik, seperti mengapa JS melompat perlu dikeluarkan secara manual; 3. Tambahkan gambaran keseluruhan gambaran sebelum kod kompleks, terangkan proses dalam langkah -langkah, dan membantu memahami idea keseluruhan; 4. Gunakan Todo dan Fixme secara rasional untuk menandakan item dan masalah untuk memudahkan penjejakan dan kerjasama berikutnya. Anotasi yang baik dapat mengurangkan kos komunikasi dan meningkatkan kecekapan penyelenggaraan kod.

Toinstallphpquickly, usexampponwindowsorhomeBrewonmacos.1.onwindows, downloadandInstallxampp, selectcomponents, startapache, andplaceFilesinhtdocs.2.alternative, secara manualstallphpfromphp.netandsheBerver.3

Dalam PHP, anda boleh menggunakan kurungan persegi atau pendakap keriting untuk mendapatkan aksara indeks spesifik rentetan, tetapi kurungan persegi disyorkan; Indeks bermula dari 0, dan akses di luar julat mengembalikan nilai null dan tidak dapat diberikan nilai; MB_SUBSTR dikehendaki mengendalikan watak multi-bait. Sebagai contoh: $ str = "hello"; echo $ str [0]; output h; dan watak -watak Cina seperti MB_SUBSTR ($ str, 1,1) perlu mendapatkan hasil yang betul; Dalam aplikasi sebenar, panjang rentetan perlu diperiksa sebelum gelung, rentetan dinamik perlu disahkan untuk kesahihan, dan projek berbilang bahasa mengesyorkan menggunakan fungsi keselamatan multi-bait secara seragam.

Tolearnphpeffectively, startbysettingupalocalverenvironmentusingToolsLikexamppandaCodeDitorLikevscode.1) InstallXamppforapa Che, MySql, danPhp.2) UseAcodeeditorForsyntaxSupport.3) testyoursetupwithasimplephpfile.next, learnphpbasicsincludingvariables, ech
