Kaptain Kitty
انتشار :۱۰ بهمن ۱۳۹۳
بازدید :1090 بار

در چهار قسمت قبلی نکات و موارد بسیاری را در رابطه با فریم ورک محبوب و قدرتمند لاراول (Laravel) برای php کار ها عنوان کردیم. این قسمت پنجمین و آخرین قسمت از بررسی فریم ورک laravel است . امیدواریم با مطالعه ی این مقالات و کسب دانش پایه و آگاهی از نکات ضعف و قوت فریم ورک لاراول با دیدی بازتر به سراغش بروید.

خب شروع می کنیم :

اعتبار سنجی آسان

وقتی که نیاز به اعتبارسنجی داشته باشیم فریم ورک لاراول به کمک ما می آید. استفاده از کلاس Validator یک روش بسیار نوآورانه است. فقط کافیست که آن object که باید اعتبارسنجی شود را به همراه لیستی از قوانین (rule) را به متد make اضافه کنید و بقیه ی کارها را به فریم ورک لاراول بسپارید.

 

[codesyntax lang=”php”]

$order = [
    'title' => 'Wii U',
    'description' => 'Game console from Nintendo'
];
 
$rules = [
    'title' => 'required',
    'description' => 'required'
];
 
$validator = Validator::make($order, $rules);
 
if ($validator->fails())
{
    var_dump($validator->messages()); // validation errors array
}

[/codesyntax]

معمولا این نوع کد در داخل مدل شما ذخیره می شود به این معنا که اعتبارسنجی یک order را می توان به فراخوانی یک متد خلاصه کرد:

[codesyntax lang=”php”]

$order->isValid();

[/codesyntax]

Tinker

ابزار Tinker

ابزار Tinker

در ابتدای یادگیری فریم ورک Laravel، کلنجار رفتن با هسته ی آن بسیار مفید است. فرمان  tinker Artisan در فریم ورک Laravel می تواند این کار را برای ما ساده تر کند.

به عنوان بخشی از نسخه ی ۴٫۱ در فریم ورک لاراول، فرمان tinker بسیار قدرتمند است و اکنون از کامپوننت قدرتمند و محبوب Boris استفاده می کند.

[codesyntax lang=”php”]

$ php artisan tinker
 
> $order = Order::find(1);
> var_dump($order->toArray());
> array(...)

[/codesyntax]

Migration (مهاجرت)

Migration ها به مثابه ی version control برای دیتابیس شما هستند. شما در هر مقطعی می توانید تمام migration ها را به حالت قبل بازگردانده و آنها را مجددا اجرا کنید. شاید قدرت اصلی در این باشد که یک اپلیکیشن را وادار به تولید و اجرای یک فرمان php artisan migrate کنیم تا بلافاصله دیتابیس شما را ایجاد کند.

برای آماده سازی این طرح برای جدول مربوط به کاربران جدید، فرمان زیر را اجرا می کنیم:

[codesyntax lang=”php”]

php artisan migrate:make create_users_table

[/codesyntax]

این کد یک فایل migration ایجاد خواهد کرد که بعدا بر اساس نیازها پر خواهد شد. هنگامی که عملیات کامل شد، php artisan migrate یک جدول ایجاد خواهد کرد. اگر نیاز به لغو ایجاد این جدول داشته باشید، با  php artisan migrate:rollback این کار را انجام دهید.

در اینجا یک مثال از این طرح آمده است که مخصوص جدول سوالاتی است که مکررا پرسید می شود (FAQ).

[codesyntax lang=”php”]

public function up()
{
    Schema::create('faqs', function(Blueprint $table) {
        $table->integer('id', true);
        $table->text('question');
        $table->text('answer');
        $table->timestamps();
    });
}
 
public function down()
{
    Schema::drop('faqs');
}

[/codesyntax]

می بینید که چگونه متد drop() معکوس متد up() را اجرا می کند. با این کار امکان بازگرداندن یک migration به حالت قبلی امکان پذیر می باشد. آیا این کار ساده تر از استفاده از SQL نیست؟

Generator

اگرچه فریم ورک لاراول چند generator مفید ارائه می دهد اما یک پکیج فوق العاده مفید دیگر نیز به نام “Laravel 4 Generators” دارد که بسیار قدرتمند است. منابع را generate کنید، فایل ها را جایگذاری کنید، جداول را ایجاد کنید و با migration آنها را انجام دهید.

در نکته ی قبلی، ما مجبور به نوشتن دستی طرح migration بودیم. البته با فعال نمودن پکیج generator، می توانیم به شیوه ی زیر عمل کنیم:

[codesyntax lang=”php”]

php artisan generate:migration create_users_table --fields="username:string, password:string"

[/codesyntax]

این generator بقیه ی کار ها را انجام می دهد. به این معنا که با دو فرمان شما می توانید یک جدول جدید در دیتابیس آماده کرده و بسازید. می توان Laravel 4 Generators را از طریق Composer نصب کرد.

فرامین

همانطور که قبلا هم گفته شد، مواردی وجود دارد که می توانند برای نوشتن فرامین custom مفید باشند. می توان از آنها برای چارچوب بندی اپلیکیشن ها، generate کردن فایل ها، آرایش اپلیکیشن ها و هر چیزی در این میان استفاده کرد.

به دلیل این که این یک task رایج است، فریم ورک لاراول فرآیند ایجاد یک فرمان را به سادگی هر چه تمام تر انجام می دهد.

[codesyntax lang=”php”]

php artisan command:make MyCustomCommand

[/codesyntax]

این فرمان موارد لازم را برای فرمان جدید و دلخواه شما generate می کند. سپس از فرمان جدید app/commands/MyCustomCommand.php ، نام و توضیحات را پر می کند.

[codesyntax lang=”php”]

protected $name = 'command:name';
protected $description = 'Command description.';

[/codesyntax]

و در آخر، در متد fire() از کلاس فرمان، می توانید action های مورد نیاز خود را اجرا کنید. وقتی که کارتان تمام شد تنها مرحله ی باقی مانده ثبت فرمان با Aristan از app/start/Artisan.php  است.

[codesyntax lang=”php”]

Artisan::add(new MyCustomCommand);

[/codesyntax]

تمام کاری که باید انجام دهید همین است. حالا می توانید هر فرمان دلخواه خود را از پایانه فراخوانی کنید.

امیدواریم بررسی نکات مختلف فریم ورک لاراول مورد توجهتان قرار گرفته باشد. با نظرات و انتقادادتان ما را در ارائه ی هر چه بهتر مطالب یاری نمایید.

برچسب‌ها, , , , , , , , ,

مطالب مرتبط

در این قسمت بیشتر می خواهیم زبان برنامه نویسی PHP را بررسی کنیم و ببینیم که غیر از تعربف و تمجید های تکراری که در تمام وبسایت ها شاهد آن هستیم، چه نقاط ضعفی هم دارد. مقایسه ی PHP + Apache Stack و پلت فرم Node.js مقایسه ی این دو مانند مقایسه ی سیب و پرتقال است. […]

حتما در قسمت های گذشته ی این مبحث با نکات قوت فریم ورک محبوب لاراول آشنا شده اید. پیشنهاد می شود ابتدا قسمت های گذشته را مطالعه کنید تا بطور کامل با فریم ورک laravel آشنا شوید. در این مقاله هم می خواهیم با تعدادی دیگر از امکانات این فریم ورک فوق العاده آشنا شویم. […]

در قسمت های گذشته مطالبی در مورد امکانات فوق العاده ی فریم ورک لاراول مشاهده و مطالعه کردید. در این قسمت هم میخواهیم به تعدادی دیگر از امکانات مورد نظر در فریم ورک لاراول بپردازیم و شما را با بخشی دیگر از این فریم ورک فوق العاده عالی آشنا کنیم. پیشنهاد میکنیم قبل از مطالعه […]

پیشنهاد می شود ابتدا قسمت اول این مقاله را مطالعه فرمایید روابط ساده هنگامی که بخواهید روابط را تعریف کنید چه کارهایی انجام می دهید؟ برای مثال اگر یک task به یک کاربر تعلق داشته باشد. چطور می توانیم آن را در فریم ورک Laravel نمایش دهیم؟ با این فرض که جداول ضروری دیتابیس تنظیم شده اند، […]

  1. ممنون از مطالب خوبتون

    1. Summit می‌گه:

      با سلام،
      تشکر و سپاس

  2. حسین می‌گه:

    باسلام
    سایت دانلود کمپوزر خرابه چه بایدکرد.سپاس

نظراتتان را برایمان بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

مطالب ما تو این شبکه های اجتماعی هم پخش میشه