توسط ابوالفضل مهاجری
چکیده
در این مقاله ابتدا با بررسی و دلایل استفاده از فریم ورک ها و انتخاب لاراول به عنوان فریم ورک مبنا,به مقایسه این فریم ورک محبوب با سایر فریم ورک های تحت وب زبان PHP میپردازیم.
بعد از کمی بررسی , درباره ی این فریم ورک نوبت به بررسی هسته لاراول میرسد و سپس ویژگی های ارزشمند این فریم ورک هم چون لاراول بلید , پی اچ پی آرتیسان , سیستم مسیر یابی و ... مورد بررسی دقیق قرار میگیرند ,در پایان هم چند پروژه قدرتمند داخلی و خارجی که توسط این فریم ورک ساخته شده اند معرفی میشود.
مطالعه این مقاله به علاقه مندان در حوزه طراحی وبسایت پیشنهاد می شود.
مقدمه
لاراول یک فریمورک PHP است که به گونه ایی توانسته این زبان وب نویسی را از سادگی و یکنواختی خارج نماید به نحوی که با این فریمورک میتوان وب سایت های بسیار حرفه ایی طراحی کرد به طوری که کاملا کاربرد پسند باشند و امکانات بسیار پیشرفته ای در اختیار برنامه نویس قرار دهد.[1]
ما در ادامه به این فریم ورک جدید و حرفه ایی و ویژگی های آن می پردازیم.
چرا از فریم ورک استفاده میکنیم؟
1-پیروی از یک سری قوانین مهندسی شده.
2-نظم دادن به پروژه در مقیاس های بزرگ که موجب هماهنگی اعضای تیم می شود.
3-تسریع و تضمین یک پروژه ی حرفه ای.
و ... .
لاراول چیست؟
لاراول فریم ورک متن باز و رایگان پ ی اچ پی است که توسط تیلور اتول ساخته شد که برای توسعه برنامه های تحت وب تعیین شده بود که از ویژگی های برجسته لاراول می توان به پکیج منیجر مجهز به Dependency Manager اختصاصی , بهره مندی از آخرین نسخه ی پی اچ پی و ... نام برد در تصویر زیر سیر تکاملی لرول رو مشاهده می کنید:
کمپوزر
کمپوزر یک Dependency Manager یا مدیریتکننده وابستگی برای PHP است یعنی گاهی اوقات نیاز دارید ا کد های سایر برنامه نویسان به صورت متن باز استفاده کنید پس این همان چالشی است که مفهوم مدیریت Dependency آن را حل می کند.
چرا لاراول را انتخاب نماییم؟
برای پاسخ به این سوال , با توجه به این که تمامی نمودار های موجود در سطح اینترنت به نفع لاراول هستند ولی ما فقط با مشاهده ی فقط معایب فریم ورک های پی اچ پی به انتخاب لاراول پی میبریم در زیر به تعدادی از معایب فریم ورک ها اشاره شده است:
لاراول:
مشکل با هاست های اشتراکی به دلیل دسترسی نداشتن به SSH .
سیمفونی:
مستندات بد باعث یادگیری ضعیف شما خواهد شد و هم چنین سختی استفاده از مکانیزم انمیتی موجب مشکلات زیادی برای شما خواهد بود.
فالکون:
به اندازه لاراول متن باز نیست پس یقینا مشکلات زیادی پیش روی شماست.
کدایگنایتر:
در بسیاری از اوقات شما مجبور می شوید فایل های هسته را برای گرفتن نتیجه مطلوب تغییر دهید که همین امر موجب مشکلاتی برای شما در آینده خواهد بود.
کیک پی اچ پی:
شاید لوگو بسیار گول زننده باشد ولی ممکن است با انتخاب این فریم ورک دچار مشکل شوید به دلیل مستندات ضعیف نسبت به دیگر فریم ورک ها,سیستم روتینگ ضعیف و ... .
زند:
مستندات بد و کند بودن دلایل کافی هستند.
وای آی آی:
مشکلات با روابط بین دیتابیس ها و هم چنین مشکلات با تکنولوژی آژاکس و مشکلاتی از این قبیل پیش روی شماست.
فیول:
با این که فریم ورک جدیدی است ولی پشتیبانی ضعیفی دارد و هم چنین مستندات ضعیف.
مستندات
اگر شما در حوزه ی برنامه نویسی تصمیم به استفاده از یک فریم ورک رو بگیرید مطمئنا ابتدا باید آن فریم ورک را به طور کامل یاد بگیرید که عملکرد یادگیری توسط مستندات ارائه شده برای آن فریم ورک قابل تکمیل است پس با این وجود به اهمیت مستندات پی بردید, حال لاراول با مستندات بی نظیری که برای کاربران ترتیب داده می توان با وارد شدن با سایت Laravel.com می توانید از مستندات بی نظیر لرول لذت ببرید.
ویژگی ها
PHP ARTISAN
خط فرمان لاراول است که بسیاری از دستورات را می توان با آرتیسان انجام داد مثل ایجاد کنترلر, بهروزرسانی پایگاه داده با آخرین تغییرات و ... .
MVC
تکنولوژی ام وی سی اصولا پروژه را به سه قسمت مدل,ویو و کنترلر تقسیم می کند که قابل به ذکر است یکی از معروف ترین و متداول ترین استاندارد های توسعه نرم افزار های تحت وب است.
به طور کلی هر فریم ورک تعریف خاصی برای این تکنولوژی ارائه می دهد ولی به صورت جامع مفهوم MVC ذکر گردید.
Model
مدل ها با تمامی داده هایی که کاربر با آن ها کار میکند ارتباط دارد حالا چه این داده ها بین ویو و کنترلر باشد چه داده هایی که با دیتابیس در ارتباط اند.
View
همان رابط کاربری است یعنی همان چیزی که کاربر از پروژه شما مشاهده می کند مثل متن ها , دکمه ها و ... .
Controller
کنترلر رابطی بین ویو ها و مدل هاست یعنی درخواست ها را از کاربر دریافت می کند و محاسباتی متناسب با درخواست انجام و نتیجه نهایی را به ویو ها میفرستد.
نکته: البته خلاصه کردن فعالیتهای فریمورک به MVC خیلی کلی است و هر فریمورک تعریف خاصی از MVC برای خود دارد.
Eloquent ORM
اطلاعات در سیستمهای پایگاه داده رابطهای به صورت غیر شی گرا هستند و برای سهولت در استفاده از دادههای پایگاه داده در برنامههای شی گرا از ORM استفاده میشود تا این دادهها تبدیل به دادههای مناسب برای استفاده در زبانهای شی گرا شوند.
لاراول با استفاده از ORM ای به نام Eloquent بازدهی بسیار بالایی داشته است ORM. موجود در لاراول به راحتی برای پایگاههای داده PostgresSQL و MySQL و SQL Server و SQLite سازگار است, البته کتابخانههایی برای کار با دیتابیسهای دیگر از جمله Oracle و MongoDB نیز دارد.
یکی از مزیتهای استفاده از ORM قدرتمندی مانند Eloquent این است که در هر مرحله از توسعه نرم افزار که احساس کردید باید سیستم پایگاه داده سایت خود را عوض کنید به راحتی با انجام تنظیمات اندک به یک سیستم پایگاه داده دیگر کوچ میکنید. این کار در برنامه نویسیهای Flat و بدون Framework کاری بسیار پیچیده و نیازمند مدتها کار و اصلاحات فراوان در برنامه است.
Laravel Blade
لاراول از سیستم Template Engine اختصاصی Blade استفاده میکند. Template Engine ها کار طراحی صفحات HTML را برای نرم افزار شما ساده تر کرده و اصول امنیتی را به صورت پیشفرض رعایت میکنند. البته امکان تغییر سیستم Template Engine پیشفرض لاراول با دیگر سیستمها وجود دارد که با کمی جستجو در اینترنت میتوانید کتابخانههای مناسب را بیابید.
سیستم مسیر یابی
مسیاریابی به معنای آدرس دهی ساده برای انجام دهی عملیات است. مثلا شما به برنامه خود اعلام میکنید مسیر /blog به نمایش محتویات بلاگ نرم افزار شما اختصاص یابد. مبحث مسیریابی خود به تنهایی مبحث پیچیده و گاهی اوقات پر ریسک ی است ولی با سیستم Routing لاراول این چالش به سادگی حل شده است.
برای دانستن قدرتمندی این سیستم تنها ذکر این نکته که سیستم مسیر یابی بسیار ازشمند است استفاده از این سیستم کارایی وب اپلیکیشن ها را دو چندان می کند.
با لرول چه برنامههایی میتوان تولید کرد؟
شما با استفاده از لرول می توانید از برنامه های بسیار ساده تا سایت های بسیار حرفه ای طراحی نمایید برای مثال مشاهده وبسایت های زیر مفید اند:
استارت زدن پروژه
شما با دستور زیر به راحتی می توانید یک پروژه برای خودتان ایجاد و آن را توسعه دهید.
composer create-project --prefer-dist laravel/laravel blog
قابل به ذکر است این مقاله به صورت اختصاصی توسط وبسایت logn.ir تدوین گردیده است و کپی از آن با ذکر منبع بلا مانع است.