به طراح وب خوش آمدید.
تست برای توسعه وب ضروری است. کارخانه های مدل لاراول ورودی های پایگاه داده را به روشی قابل پیش بینی و به راحتی قابل تکرار تعریف می کنند تا تست های برنامه شما سازگار و قابل کنترل باشد. کارخانه های مدل سازی مجموعه ای از ویژگی های پیش فرض را برای هر یک از مدل های Eloquent شما تعریف می کنند.
به عنوان مثال، اگر در حال ساختن یک برنامه وبلاگ نویسی هستید که به نویسندگان و ناظران اجازه می دهد نظرات را قبل از انتشار تأیید کنند، باید قبل از استقرار آن برای کاربران خود، آزمایش کنید که آیا این ویژگی به درستی کار می کند. همه اینها به داده های آزمایشی نیاز دارد.
برای آزمایش برنامه وبلاگ نویسی که در بالا توضیح داده شد، به داده های نظر برای شبیه سازی و آزمایش عملکرد برنامه خود نیاز دارید. لاراول به شما این امکان را می دهد که بدون دریافت نظر از کاربران واقعی با استفاده از کارخانه های لاراول و فاکر برای ایجاد داده های جعلی این کار را انجام دهید.
این مقاله نحوه دریافت اطلاعات نظرات بدون نظر از کاربران واقعی را توضیح می دهد.
پیش نیازها
برای تکمیل این راهنما باید با موارد زیر آشنا باشید:
XAMPP یک توزیع رایگان و آسان برای نصب آپاچی است که شامل PHP، Perl و MariaDB، یک پایگاه داده MySQL است. این آموزش از آخرین نسخه ۸٫۱٫۱۰ استفاده می کند که PHP 8.1.10 را نصب می کند. خواندن این مقاله هنگام نصب XAMPP برای MacOS، یا این راهنما برای لینوکس این راهنما از XAMPP در ویندوز استفاده می کند.
Composer ابزاری است که به شما امکان تعریف، نصب و دانلود بسته هایی را می دهد که برنامه وب شما در طول توسعه و تولید به آن وابسته است. این آموزش استفاده می کند نسخه ۲٫۴٫۴ Composer که به PHP نسخه ۷٫۲+ نیاز دارد. شما از Composer برای نصب نصب کننده لاراول برای این آموزش استفاده می کنید.
همچنین می توانید کد کامل پروژه را برای پیگیری دانلود کنید. در امتداد.
چگونه یک پروژه راه اندازی کنیم
در این قسمت شما یک پروژه لاراول ایجاد کرده و آن را به یک پایگاه داده متصل خواهید کرد. بیایید نگاهی به همه چیزهایی که این امر مستلزم آن است و نحوه انجام آن بیاندازیم.
Laravel Installer را نصب کنید
برای ایجاد سریع یک پروژه لاراول، نصب کننده لاراول را نصب کنید:
composer global require laravel/installer
این کد نصب کننده لاراول را به صورت جهانی بر روی دستگاه شما نصب می کند.
یک پروژه لاراول ایجاد کنید
سپس با انجام کارهای زیر یک پروژه لاراول ایجاد کنید:
laravel new app-name
این کد یک پروژه جدید لاراول را دانلود می کند و همه وابستگی ها را نصب می کند:
یکی دیگر از راه های ساده تر برای نصب لاراول استفاده مستقیم از Composer است.
composer create-project laravel/laravel app-name
هنگام استفاده از روش فوق نیازی به نصب نصب کننده لاراول ندارید.
برنامه را اجرا کنید
اکنون می توانید دایرکتوری را به آن تغییر دهید نام نرم افزار و پروژه را با ابزار Command Line Interface (CLI) خود لاراول اجرا کنید، صنعتگر:
php artisan serve
این کد پروژه را شروع می کند و در صورت استفاده از پورت ۸۰۰۰ به localhost:8000 یا هر پورت موجود دیگری متصل می شود. در localhost:8000 باید چیزی شبیه به این را ببینید:
ایجاد پایگاه داده
برای اتصال برنامه خود به یک پایگاه داده، باید با استفاده از رابط کاربری گرافیکی XAMPP PHPMyAdmin یک پایگاه داده جدید ایجاد کنید. رفتن به local/phpmyadmin و فشار دهید جدید در نوار کناری:
تصویر بالا نشان می دهد ایجاد پایگاه داده فرم با نام نرم افزار به عنوان نام پایگاه داده
کلیک ايجاد كردن برای ایجاد یک پایگاه داده
فایل .env را ویرایش کنید
برای اتصال برنامه خود به پایگاه داده، باید قسمت DB فایل را ویرایش کنید env فایل:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=app_name
DB_USERNAME=root
DB_PASSWORD=
این کد اعتبار پایگاه داده را با نام پایگاه داده، نام کاربری، پورت، رمز عبور و میزبان شما پر می کند. اکنون آماده شروع ساخت کارخانه ها و مدل ها هستید.
توجه داشته باشید: مقادیر را با اعتبار پایگاه داده خود جایگزین کنید. همچنین اگر با خطای «Access Denied for User» مواجه شدید، مقادیر برای را وارد کنید DB_USERNAME
و DB_PASSWORD
در دو نقل قول
چگونه داده های جعلی تولید کنیم
پس از ایجاد اپلیکیشن و اتصال آن به پایگاه داده، اکنون می توانید فایل های لازم برای ایجاد داده های جعلی در پایگاه داده را ایجاد کنید.
یک مدل نظر ایجاد کنید
یک فایل مدل برای تعامل با جداول پایگاه داده ایجاد کنید. برای ایجاد مدل از Artisan استفاده کنید:
php artisan make:model Comment
این کد ایجاد می کند Comment.php فایل داخل اپلیکیشن/Mمدل ها پوشه ای با کد دیگ بخار. کد زیر را در زیر اضافه کنید use HasFactory;
خط:
protected $fillable = [
'name',
'email',
'body',
'approved',
'likes'
];
این کد فیلدهایی را فهرست می کند که می خواهید به آنها اجازه انتساب انبوه را بدهید زیرا لاراول به طور پیش فرض از پایگاه داده شما در برابر تخصیص انبوه محافظت می کند. یک نظر فایل مدل اکنون باید به شکل زیر باشد:
یک فایل مهاجرت ایجاد کنید
پس از ایجاد فایل مدل و اعلان $fillable
آرایه، شما باید با استفاده از دستور زیر یک فایل مهاجرت ایجاد کنید:
php artisan make:migration create_comments_table
توجه داشته باشید: نامگذاری برای ایجاد مهاجرت در لاراول معمولاً است snake_case
همچنین به عنوان شناخته شده است underscore_case
. کلمه اول عمل، کلمه دوم جمع مدل و کلمه آخر تابعی است که در پروژه ایجاد می شود. این به این معنی است که شما خواهید نوشت create_books_table
هنگام ایجاد یک مهاجرت برای مدل Book.
این کد فایلی به نام ایجاد می کند yyyy_mm_dd_hhmmss_create_comments_table داخل پایگاه داده / مهاجرت پوشه
سپس تابع up را در داخل ویرایش کنید yyyy_mm_dd_hhmmss_create_comments_table:
public function up()
{
Schema::create('comments', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string('email');
$table->longText('body');
$table->boolean('approved');
$table->integer('likes')->default(0);
$table->timestamps();
});
}
این کد یک طرحواره ایجاد می کند که یک جدول با ستون ها ایجاد می کند: id
، name
، email
، body
، approved
، likes
و timestamps
.
مهاجرت را اجرا کنید
ایجاد و ویرایش یک فایل مهاجرت تا زمانی که آنها را از خط فرمان اجرا نکنید، کاری انجام نمی دهد. اگر به مدیر پایگاه داده نگاه کنید، هنوز خالی است.
مهاجرت را با Artisan اجرا کنید:
php artisan migrate
این دستور همه مهاجرت ها را در داخل اجرا می کند پایگاه داده / مهاجرت زیرا این اولین مهاجرت از زمان ایجاد برنامه است:
تصویر زیر تمامی فایل های مهاجرتی را که اجرا کرده اید نشان می دهد. هر کدام یک جدول در پایگاه داده را نشان می دهد:
یک فایل CommentFactory ایجاد کنید
یک فایل کارخانه حاوی تابع تعریف خود ایجاد کنید. برای این نسخه ی نمایشی، با استفاده از Artisan یک کارخانه ایجاد خواهید کرد:
php artisan make:factory CommentFactory.php
این کد ایجاد می کند کارخانه کامنتphp فایل داخل پایگاه داده / کارخانه ها پوشه
تابع تعریف
عملکرد در داخل کارخانه کامنت چگونه تعریف می کند کلاهبردار داده های جعلی تولید می کند آن را ویرایش کنید تا به شکل زیر در بیاید:
public function definition()
{
return [
'name' => $this->faker->name(),
'email' => $this->faker->email(),
'body' => $this->faker->sentence(45),
'approved' => $this->faker->boolean(),
'likes' => $this->faker->randomNumber(5)
];
}
این کد به Faker می گوید که موارد زیر را ایجاد کند:
- نام
- آدرس ایمیل
- پاراگراف حاوی ۴۵ جمله
- یک مقدار ادعا شده که فقط می تواند درست یا نادرست باشد
- عدد تصادفی از ۰ تا ۹۹۹۹
مدل نظر را به CommentFactory متصل کنید
بستن Comment
مدل برای CommentFactory
اعلام حفاظت شده $model
متغیر بالا تعریف:
protected $model = Comment::class;
همچنین، اضافه کنید use App\Models\Comment;
برای پرونده سازی وابستگی ها کارخانه کامنت اکنون فایل باید به شکل زیر باشد:
نحوه پر کردن پایگاه داده
جمعیت در برنامه نویسی به معنای تولید داده های جعلی تصادفی برای یک پایگاه داده برای اهداف آزمایشی است.
حالا که مدل را ایجاد کردید، مهاجرت ها را اجرا کردید و تعریف را در CommentFactory ایجاد کردید، seder را با استفاده از DatabaseSeeder فایل.
یک فایل CommentSeeder ایجاد کنید
ايجاد كردن بذر افشان فایلی که از کارخانه برای تولید داده استفاده می کند:
php artisan make:seeder CommentSeeder.php
این کد ایجاد می کند CommentSeederphp فایل داخل پایگاه داده / بذر پوشه
عملکرد راه اندازی را ویرایش کنید
مدل Comment را به CommentSeeder متصل کنید. کد زیر را در تابع راه اندازی اضافه کنید:
Comment::factory()->count(50)->create();
این کد به CommentSeeder می گوید که از مدل Comment و تابع تعریف CommentFactory برای ایجاد ۵۰ نظر در داخل پایگاه داده استفاده کند. همچنین، اضافه کنید use App\Models\Comment;
برای پرونده سازی وابستگی ها CommentSeeder اکنون فایل باید به شکل زیر باشد:
توجه داشته باشید: میتوانید Faker را برای تولید دادههای محلی راهاندازی کنید. به عنوان مثال، می توانید آن را تنظیم کنید تا با تنظیم، به جای نام های تصادفی، نام های ایتالیایی تولید کند faker_locale
داخل app/config.php فایل در it_IT
. در این مطلب میتوانید درباره Faker Locales بیشتر بخوانید راهنما.
کاشت را شروع کنید
اجرای بعدی بذر افشان فایل با Artisan:
php artisan db:seed --class=CommentSeeder
این کد اجرا می شود بذر افشان فایل و ۵۰ خط داده جعلی در پایگاه داده تولید می کند.
اکنون پایگاه داده باید دارای ۵۰ ردیف داده جعلی باشد که می توانید از آنها برای آزمایش ویژگی های برنامه خود استفاده کنید:
نحوه ریست کردن دیتابیس
هنگام استفاده از داده های تولید شده برای آزمایش، هر بار که آزمایشی را اجرا می کنید، پایگاه داده را بازنشانی کنید. فرض کنید میخواهید قابلیت تغییر وضعیت نظرات تأیید شده را آزمایش کنید. پس از هر آزمایش، پایگاه داده را بهروزرسانی کنید تا دادههای تولید شده قبلی با آزمایشهای بعدی تداخل نداشته باشند.
از پایگاه داده Refresh استفاده کنید
پایگاه داده را با RefreshDatabase
صفت درون تست فایل.
تغییر به ExampleTest.php داخل تست ها / عملکرد پوشه نظرات use Illuminate\Foundation\Testing\RefreshDatabase;
و خط کد زیر را در بالا اضافه کنید test_the_application_returns_a_successful_response
تابع:
use RefreshDatabase;
ExampleTest.php اکنون فایل باید به شکل زیر باشد:
تست را اجرا کنید
پس از افزودن RefreshDatabase
در یک فایل آزمایشی، آزمایش را با Artisan اجرا کنید:
php artisan test
این کد مانند تصویر زیر تمامی تست های اپلیکیشن را اجرا می کند و پس از انجام تست ها دیتابیس را به روز می کند:
اکنون پایگاه داده را بررسی کنید تا جدول نظرات خالی را ببینید:
خلاصه
این مقاله به شما نشان میدهد که چگونه یک پروژه لاراول ایجاد کنید، آن را به یک پایگاه داده متصل کنید، و مدلها، مهاجرتها، فایلهای کارخانهای و seder را برای تولید دادههای تصادفی برای پایگاه داده ایجاد و تنظیم کنید. همچنین نحوه تنظیم مجدد دیتابیس پس از اجرای تست ها مورد بحث قرار گرفت.
اکنون دیدید که چگونه Laravel Factory و Faker ایجاد هر مقدار داده آزمایشی را در عرض چند دقیقه برای آزمایش برنامه شما یا حتی به عنوان یک مکان نگهدار – با حداقل پیکربندی آسان می کنند.
هنگامی که برنامه لاراول شما آماده استقرار است، می توانید به سرعت و کارآمد این کار را با خدمات میزبانی برنامه Kinsta انجام دهید.