نوشته‌ها

فریم ورک لاراول (Laravel)

یکی از کاربر پسندترین فریم ورک های رایگان که این روزها طرفداران زیادی پیدا کرده است ، قریم ورک لاراول( Laravel )است. فریم ورک لاراول توسط Taylor Otwell توسعه پیدا کرده است . این فریم‌ورک PHP بسیار قدرتمند , کد باز و رایگان است .

در توسعه‌ی لاراول بسیاری مفاهیم و روش‌های موجود در دیگر فریم‌ورک‌ها و زبان‌های برنامه‌نویسی گردآوری شده‌اند. لاراول مجموعه‌ای یکپارچه از بهترین روش‌ها و ابزارها در یک بسته است.
ویژگی‌های بسیاری در لاراول وجود دارند که آن را به انتخاب اول توسعه‌دهندگان برای طراحی سایت و به طور خاص طراحی سایت با php تبدیل کرده‌اند.
لاراول امکان توسعه برنامه های تحت وب را آسان و سریع کرده است و با کدنویسی زیبا و خلاقانه ای که دارد بسیار انعطاف پذیر است. در این فریم ورک می توان عملکرد بسیاری از بخش ها را بدون نیاز به تغییر در کدهای اصلی تغییر داد.
هنگام ایجاد یک اپلیکیشن برای کدهای تکراری برنامه نویسی، راه حل و short code های مناسب ارائه می دهد.
Laravel نقاط قوتی که در دیگر فریم ورک های php وجود دارد را بکار برده است تا باعث ایجاد لذت هرچه بیشتر کدنویسی و انعطاف پذیری شود. به طور مثال این فریم ورک از بسیاری از کتابخانه های فریم ورک سیمفونی نیز بهره می برد.
روند رشد این فریم ورک در سال های اخیر بسیار سریع بوده است و اکنون جزء یکی از محبوب ترین فریم ورک های زبان پی اچ پی می باشد.
به روز رسانی لاراول با صرف کمترین زمان و انرژی با استفاده از ابزار Composer انجام می شود و می توانید در برنامه های خود از آخرین نسخه کتابخانه های این فریم ورک استفاده کنید.

سرعت لاراول
سرعت لاراول از دو جهت قابل بررسی است. زاویه نخست، سرعت عملکرد سیستم است که با استفاده از انواع روش‌ها مانند، بارگزاری دیرهنگام( Lazy Loading )، سیستم Cache، استفاده از Memcached، استفاده از Redis و ابزارهای دیگر، تا حد امکان افزایش یافته است.
زاویه دوم سرعت، سرعت توسعه است. لاراول بسیار توسعه‌پذیر و قابل استفاده‌ی مجدد است. امکان ایجاد بسته‌هایی با عملکردهای جزئی و استفاده از آن‌ها در نرم‌افزارهای دیگر سبب می‌شود سرعت توسعه در نرم‌افزارها و سایت‌های طراحی شده با لاراول بسیار بالا باشد.

توسعه‌پذیری
لاراول بسیار توسعه پذیر است. انجام تغییرات در بیشتر بخش‌های سیستم با استفاده از آخرین تکنولوژی‌های روی مانند IoC و روش‌های دیگر امکان‌پذیر است. البته بخش قابل ملاحظه‌ای قابلیت توسعه‌پذیری کد به مهارت، تجربه و دانش برنامه‌نویسان در استفاده از فریم‌ورک‌ها وابسته است.

 Eloquent – پایگاه داده
مهم‌ترین ویژگی لاراول ORM اختصاصی آن به نام Eloquent است. انعطاف، کارایی و قدرت Eloquent را به ندرت می‌توان در ابزارهای دیگر یافت.
Eloquent کار کردن با اطلاعات را به گونه‌ای آسان می‌کند که باور آن گاهی دشوار به نظر می‌رسد. کدهای نوشته شده با Eloquent شباهت بسیار زیادی با زبان انسان دارند و حتی اگر تا کنون با این شیوه کد ننوشته باشید، معنی کدها را به خوبی متوجه خواهید شد.
برنامه‌نویسی Eloquent بر پایه‌ی سیستم PDO طرح‌ریزی شده است و بنابراین علاوه بر امکاناتی که این سیستم در اختیار برنامه‌نویسان قرار می‌دهد، امکان استفاده از دستورات PDO نیز فراهم است.
Eloquent امکان ذخیره و بازیابی اطلاعات در پایگاه داده‌های مختلف از جمله MySQL، Postgres، و SQL Server را فراهم می‌کند.

Blade – تمپلیت انجین
لاراول حاوی یک Template Engine اختصاصی به نام Blade است. اگرچه این تمپلیت انجین در مقایسه با ابزارهایی مانند Twig از امکانات کمتری برخوردار است، با این حال تمامی نیازهای معمول را برطرف می‌کند و در دستیابی به امنیت کافی در ایجاد خروجی به برنامه‌نویسان یاری می‌رساند.

Routing – مسیردهی
سیستم مسیردهی(‌ Routing ) در لاراول نیز به صورت اختصاصی توسعه یافته است. این سیستم امکانات بسیاری را در اختیار توسعه‌دهنده قرار می‌دهد. استفاده از پیشوندها و پسوندها، کنترلرها، فیلترها، توابع درون خطی و بسیاری امکانات دیگر کار کردن با مسیرها را ساده و کارآمد می‌کنند.
در نگارش آخر لاراول، امکان Cache کردن مسیرها برای افزایش چند ده برابری سرعت عملکرد در این بخش امکان‌پذیر شده است.

سرویس‌های لاراول
لاراول به عنوان یک فریم‌ورک قدرتمند php ابزارها یا سرویس‌های متعددی در اختیار برنامه‌نویسان و طراحان سایت قرار می‌دهد. فهرست این سرویس‌ها را برای آخرین نگارش این فریم‌ورک در ادامه مشاهده می‌کنید:

  1. Authentication – تایید هویت
  2. Authorization – دسترسی‌های کاربران
  3. Artisan Console – کنسول آرتیزان
  4. Billing – پرداخت و صورتحساب
  5. Cache – کش
  6. Collections – مجموعه‌ها
  7. Elixir – مکانیزاسیون
  8. Encryption – کدگذاری و رمزگزاری
  9. Errors & Logging – مدیریت خطاها و لاگ
  10. Events – رویدادها
  11. Package Development – توسعه‌ی بسته‌ها یا ماژول‌ها
  12. Filesystem / Cloud Storage – سیستم فایل – سیستم ابری
  13. Hashing – سیستم هش
  14. Helpers – ابزارهای کمکی
  15. Localization – سایت‌های دو زبانه و چند زبانه
  16. Mail – ایمیل
  17. Pagination – صفحه بندی
  18. Queues – صف‌ها
  19. Redis – ردیس
  20. Session – مدیریت و رمزگزاری سشن
  21. SSH Tasks – دسترسی آسان به SSH
  22. Task Scheduling – اجرای زمانبندی شده‌ی دستورات
  23. Testing – آزمون
  24. Validation – ارزیابی

Composer – کامپوزر
لاراول برای مدیریت نیازمندی‌ها از Composer استفاده می‌کند. به‌روزرسانی فریم‌ورک هم با استفاده از همین ابزار صورت می‌پذیرد. به این معنی که با صرف کمترین انرژی، همیشه می‌توانید از آخرین نگارش کتابخانه‌ها و فریم‌ورک لاراول در پروژه بهره‌برداری نمود.

نکات پایانی
لاراول امروزه به یک فریم‌ورک بالغ تبدیل شده است. جامعه‌ی برنامه‌نویسان لاراول در سراسر دنیا می‌توانند به توسعه‌دهنده در یافتن راه‌ حل‌های مناسب و روش‌های حل مشکلات یاری برسانند. لاراول برای پروژه‌هایی با ابعاد کوچک تا بزرگ قابل استفاده است.
هاست آفاق آمادگی دارد پشتیبانی و برنامه‌نویسی سایت و نرم‌افزارهای تحت وب و طراحی سایت با فریم‌ورک لاراول را مطابق با استانداردهای جهانی به انجام برساند.

فریمورک لاراول ( Laravel )

لاراول : اکثر کسانی که در حوزه IT فعال هستند ، حداقل یکبار با واژه فریم ورک ( Framework ) در بحث برنامه نویسی و توسعه برخورد داشته اند. فریم ورک ها با توجه به زبان برنامه نویسی که در آن به کار برده می شوند دارای انواع متفاوتی هستند و قاعدتا هر یک دارای ویژگی خاص خود هستند. در ادامه قصد داریم شما را به طور خلاصه با یکی از محبوبترین فریم ورک های زبان PHP با نام لاراول ( Laravel ) آشنا سازیم.

پیش از بحث در مورد لاراول به تعریف مختصری از فریم ورک می پردازیم. فریم ورک به یک محیط و یا چهارچوب کاری در زبان های برنامه نویسی مختلف اطلاق می شود که برنامه نویسان را ملزم به رعایت یک سری اصول کلی می نمایند ، در فریم ورک ها توابع مفید مانند متد ها و حتی کلاس ها یی از پیش نوشته شده اند و کار را برای برنامه نویسان ساده کرده اند و به آنان این امکان را می دهند که با نوشتن کد کمتر ، امنیت و بهره وری بالاتری از نتیجه کار خود ببینند و در صورت لزوم کلاس های از پیش تعریف شده را تغییر یا مطلبی به آن اضافه کنند.

لاراول یک چارچوب متن باز پی اچ پی (PHP) است که توسط Taylor Otwell ، برای توسعه نرم‌افزارهای وب بر پایه معماری MVC طراحی شده است. اولین نسخه لاراول در سال ۲۰۱۱ و تحت لایسنس MIT ارائه شد. پس از ارائه نخستین نسخه این فریم ورک که از گستردگی ، انعطاف و محبوبیت کنونی برخوردار نبود ویژگی هایی جهت سهولت استفاده و کارایی هر چه بیشتر در ادامه به آن افزوده شد. بدین صورت که در نسخه دوم این فریم ورک ،کنترلرها و سیستم قالب بندی blade به آن افزوده شد و در نسخه سوم، استفاده از خط فرمان CLI و همچنین پشتیبانی داخلی از مدیریت سیستم بانک اطلاعاتی و migration ها محبوبیت این فریم ورک را بیش از پیش کرد. در نسخه چهارم که در سال ۲۰۱۳ به بازار عرضه شد، تغییراتی اساسی در فریم ورک صورت پذیرفت. به شکلی که لاراول بر پایه کدهای Illuminate عرضه گردید و امکانات migrate به طور جداگانه در composer قرار گرفت. پس از این فرایند تکمیل و توسعه نسخه پنجم لاراول در سال ۲۰۱۵ و با بهینه نمودن نسخه های پیشین و برطرف نمودن باگ های موجود، به فراگیر شدن این فریم ورک در بین کاربران کمک زیادی کرد. شایان ذکر است این فرایند تکمیل و پیشرفت هم اکنون نیز به کار خود ادامه می دهد و این انتظار می رود که در آینده خبرهای بیشتری در مورد لاراول شنیده شود.

لاراول نیز همانند سایر فریم ورک ها جهت نصب و اجرای صحیح نیازمند پیش نیاز هایی بر روی سرور میزبان می باشد که فهرست آنها در زیر گرداوری شده است:

PHP >= 5.5.9
OpenSSL PHP Extension
PDO PHP Extension
Mbstring PHP Extension
Tokenizer PHP Extension

پس از بررسی تاریخچه لاراول و پیش نیازهایی که برای استفاده از این فریم ورک نیاز است، به بررسی مهمترین ویژگی های آن می پردازیم.

  • سرعت: این فریم ورک در دو بخش سرعت سیستم و همچنین سرعت توسعه پذیری توانسته است رویکردهای خوبی از خود نشان دهد.
  • توسعه پذیری: لاراول بسیار توسعه پذیر است و این ویژگی سبب استفاده روز افزون از آن در پروژه ها گردیده است.
  • پایگاه داده : یکی از برجسته ترین ویژگی های این فریمورک ، استفاده از ساختار Eloquent ORM در ارتباط بین اجزا است که کمک شایانی به توسعه شی گرا می کند. دیتابیس سرورهای پشتیبانی شده در لاراول عبارتند از Mysql ، Postgres ، SQLite و SQL server است.
  • مسیردهی معکوس ( Reverse Routing ) : این ویژگی یک راه ارتباطی بین لینک و route ایجاد می کند. لذا اگر در آینده تغییری در route ها ایجاد شد ، بصورت خودکار آن آدرس دهی بین لینک و route اصلاح می شود.
  • Blade Template Engine : لاراول حاوی یک Template Engine اختصاصی به نام Blade جهت انتشار صفحات وب است. اگرچه این تمپلت انجین در مقایسه با ابزارهایی مانند Twig ( وب تمپلت دیگر php ) از امکانات کمتری برخوردار است، با این حال تمامی نیازهای معمول را برطرف می‌کند و در دستیابی به امنیت کافی در ایجاد خروجی به برنامه‌نویسان یاری می‌رساند.
  • Composer : لاراول برای مدیریت نیازمندی های نرم افزاری از ابزاری به اسم Composer استفاده می‌کند. در واقع بررسی به‌روزبودن، تمامی کتابخانه‌های مورد نیاز برای یک پروژه و به‌روزرسانی آن‌ها ممکن است کاری دشوار و زمان‌بر باشد. کامپوزر این عملیات را به سادگی برای شما انجام می دهد. البته این ابزار نیاز به استفاده از shell دارد که ممکن است در برخی شرکتهای هاستینگ به جهت مسایل امنیتی محدودیت هایی در این زمینه اعمال گردد که بایستی از روش های جایگزین استفاده شود.