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

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

در این مقاله هم می خواهیم با تعدادی دیگر از امکانات این فریم ورک فوق العاده آشنا شویم.

Remote Component
به عنوان بخشی از فریم ورک Laravel 4.1، شما می توانید خیلی ساده یک فرمان Aristan را برای SSH در داخل سرور خود نوشته و هر تعداد action که بخواهید انجام دهید. این کار به سادگی استفاده از SSH است:

[codesyntax lang=”php”]

SSH::into('production')->run([
    'cd /var/www',
    'git pull origin master'
]);

[/codesyntax]

یک آرایه از فرامین را به متد run() اضافه کرده و بقیه کارها را به فریم ورک Laravel بسپارید. حال به دلیل این که منطقا باید کدهای اینچنینی را به عنوان یک فرمان Aristan اجرا کرد، لذا شما فقط باید  php artisan command:make DeployCommand را اجرا کرده و کد های لازم را در متد fire آن فرمان وارد کنید تا سریعا یک فرمان اختصاصی برای آرایش ایجاد شود.

Event (رویداد)

فریم ورک Laravel یک پیاده سازی فوق العاده از الگوهای observer ارائه می دهد که می توانید در تمام قسمت های اپلیکیشن خود استفاده کنید. native event ها را رصد کنید، مانند illuminate.query یا   even fireو event که به شما تعلق دارد را بگیرید.

کاربرد حرفه ای event ها در یک اپلیکیشن می تواند تاثیر فوق العاده ای بر دوام و ساختار آن اپلیکیشن داشته باشد.

[codesyntax lang=”php”]

Event::listen('user.signUp', function()
{
    // do whatever needs to happen
    // when a new user signs up
});

[/codesyntax]

مانند اکثر مواردی که در فریم ورک Laravel وجود دارد، اگر بخواهید به جای استفاده از کلوشه به یک calss name رفرنس بدهید، می توانید به سادگی این کار را انجام دهید. سپس لاراول آن را از کانتینر loC خارج می کند.

[codesyntax lang=”php”]

Event::listen('user.signUp', 'UserEventHandler');

[/codesyntax]

مشاهده ی تمام route ها

 

مشاهده ی تمام rout ها

مشاهده ی تمام rout ها

همچنان که اپلیکیشن گسترده تر می شود، مشاهده این که کدام route ثبت شده است کار دشواری خواهد شد. این امر به ویژه زمانی صدق می کند که خیلی به فایل routes.php اهمیت داده نشده باشد.

فریم ورک Laravel یک فرمان routes کارامد ارائه می دهد که تمام route های ثبت شده و همچنین controller method های مرتبط به آنها را نمایش می دهد.

[codesyntax lang=”php”]

php artisan routes

[/codesyntax]

صف ها (Queue)

تصور کنید که کاربری در اپلیکیشن شما sign up می کند. احتمالا تعداد از event ها باید روی دهد. یک جدول دیتابیس باید آپدیت شود، یک لیست خبرنامه باید به آن الصاق شود، یک invoice برای آن صادر شود، یک ایمیل خوشامدگویی ارسال شود و غیره. متاسفانه این نوع action ها معمولا وقت زیادی می گیرند.

چرا وقتی که می توانیم این action ها در پشت پرده انجام دهیم، باید کاربر را مجبور کنیم که برای این action ها صبر کند؟

[codesyntax lang=”php”]

Queue::push('SignUpService', compact('user'));

[/codesyntax]

شاید هیجان انگیزترین بخش آن این است که فریم ورک لاراول از صف های Iron.io پشتیبانی می کند. این یعنی ما می توانیم از قدرت صف ها استفاده کنیم. خیلی ساده یک URL end-point را با استفاده از فرمان php artisan queue:subscribe  در فریم ورک Laravel ایجاد کنید تا Iron.io بتواند URL انتخاب شده ی شما را هر بار که کاری به صف اضافه شود ping کند.

فریم ورک لاراول

فریم ورک لاراول

 

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

مطالب مرتبط

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

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

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

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

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

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

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