لاراول چیست
لاراول چیست؟
پیش از آنکه به توضیح لاراول بپردازیم ، بهتر است ابتدا مقایسه ای مختصر مابین php و Asp داشته باشم. این بحث که php بهتر است یا Asp همواره بحث داغ محافل برنامه نویسی بوده و هر برنامه نویس سعی در بهتر جلوه دادن یکی نسبت به دیگری هست. اما واقعیت و چیزی که مهم است این است که هر دو زبان های برنامه نویسی توانمندی هستند که بسته به توانایی های برنامه نویس قابلیت پیاده سازی بالایی دارند. جز یک سری تفاوت ها مانند سیستم عامل سرور برای ASP ویندوز و برای php لینوکس است و یا Asp پولی است و php اوپن سورس و رایگان.
برای زبان PHP تعدادی CMS یا سیستم مدیریت محتوای مطرح به صورت اوپن سورس تولید شده اند که تولید یک سایت را برای استارت آپ ها آسان تر کرده اند و صاحبان استارت آپ ها بدون دانش برنامه نویسی میتوانند برای خود سایتی داشته باشند. اما این CMS های آماده مشکلاتی دارند که در ادامه به آنها اشاره خواهند شد.
اما یکی از نقاط قوت زبان برنامه نویسی PHP داشتن Framework های قدرتمندی چون Laravel یا Yii است که کار را برای برنامه نویسان و developer ها (توسعه دهندگان) این زبان بازتر کرده است. به طوری که مثلا به جای اینکه لازم باشد بیش از هزاران سطر کد برای امنیت یک وب سایت نوشته شود، همه این کد ها در خود فریم ورک گنجانده شده اند.
اما به گفته کارشناسان فریم ورک لاراول ( Laravel Framework ) برترین فریم ورک زبان PHP از سال 2015 تا کنون انتخاب شده است. علت این انتخاب دلایل مختلفی میباشد که در زیر به برخی از آنها اشاره میشود:
- لاراول امنیت بالایی دارد. یکی از عوامل بالا بودن امنیت آن استفاده از تکنولوژی CSRF Token در فرم ها،همچنین استفاده از PDO در ارتباطات با Mysql جهت جلوگیری از اتک های SQL Enjection (تزریق به پایگاه داده) میباشد. همچنین داشتن سیستم های آماده امنیتی از جمله سیستم ضد ربات و ضد اسپم از عوامل امنیت بالای فریم ورک لاراول است.
- سرعت سایت های نوشته شده با لاراول بسیار بالا است. این به دلیل استفاده از سیستم Cache بسیار پیچیده و بروز است که باعث میشود اطلاعات، عکس ها و فیلم ها و فایل ها در سیستم کش شده و در زمان بسیار کمتری برای بازدید کننده نمایش داده شود. همچنین استفاده از تکنولوژی های برتر دیگر مانند gzip از عوامل موثر دیگر در سایتهای نوشته شده با لاراول است.
- استفاده از متد برنامه نویسی MVC یکی از برتری های لاراول است. منظور از MVC استفاده از سه قسمت Module یا ماژول ها، View یا صفحات سمت کاربر و Controller یا برنامه های سمت سرور میباشد. در لاراول Module ها در پوشه app>http>middleware ذخیره میشوند ها. View ها همان Blade ها هستند که در ادامه بیشتر به آنها پرداخته خواهد شد که در پوشه Resources>views ذخیره میشوند و Controller ها هم در پوشه app>http>controllers ذخیره میشوند.
- برنامه نویسی Functional از نقاط مثبت این فریم ورک قدرتمند است. به طوری که کلیه کدها به صورت دسته بنده شده و Functional در کنترلرها نوشته میشوند و با دستور public در سایر Controller ها نیز قابل دسترس میباشند.
- سیستم Routing پیشرفته از عوامل قدرت و امنیت بالای لاراول است . فایل Route در مسیر app>http موجود است . برای باز شدن یک صفحه در سایت باید حتما مسیر آن در فایل Route وارد شده باشد. در غیر این صورت صفحه مربوطه در سایت باز نمیشود. این باعث ایجاد امنیت بالایی در سایت میشود به طوری که مسیر هایی که در سایت نیاز نیست توسط کاربران باز شده و دیده شوند تا زمانی که برنامه نویس سایت نخواهد باز نخواهد شد. مثلا پوشه مربوط به فایل ها و عکس ها و ... .
- لاراول از Composer استفاده میکند. بدین ترتیب در صورتی که نیاز به نصب یه پکیج یا افزونه بر روی سایت خود را داشته باشیم به راحتی میتوانیم توسط composer این کار را انجام بدهیم و از روی سرور های Github پکیج مورد نظر را نصب کنیم.
- همانطور که پیشتر توضیح داده شد، موتور برنامه نویسی قدرتمند blade یکی از برتری های بزرگ Laravel Framework است. شما توسط این سیستم میتوانید به راحتی متغیری را در controller ها ساخته و تغییرات و محاسبات لازم را بر روی آن انجام دهید، مقادیر مختلفی از دیتابیس بر روی آن ذخیره کنید، آن را تبدیل کنید و ... و در انتها فقط یک متغیر ساده ذخیره کنید و آن متغیر را به Blade مربوطه پاس دهید. متغیر پاس داده شده به balde امکان استفاده از جاهای مختلف Blade را دارد. کافی است آن متغیر داخل علامت {{ }} قرار گیرد.
- سئوی بالا و قابلیت ایجاد سئوی بالای کدنویسی از عوامل دیگر جهت شهرت بیشتر لاراول است. شما به راحتی میتوانید با سیستم route این فریم ورک تایتل مقالات و صفحات را به انتهای آدرس صفحات سایت خود اضافه کنید که تاثیر بالایی در سئو خواهد داشت. علاوه بر آن استفاده از فایل robots ، سیستم ضد ارور، راهنمایی رباط های گوگل و سایر مرورگر ها به عدم ورود به صفحات دارای ارور، سیستم کش، و ... همگی از عوامل ایجاد سئوی بالا برای سایت شما خواهند بود.
برتری های php
زبان برنامه نویسی php یک زبان سمت سرور است که پتانسیل های بالای جهت ایجاد صفحات اینترنتی با قابلیت های عالی دارد. از جمله برتری های این زبان که میتوان نسبت به سایر زبان های برنامه نویسی مانند ASP میشود نام برد، میتوان به موارد زیر اشاره کرد:
- زبان php سبک است. به طوری که صفحات تولید شده با php بسیار سریعتر از سایر صفحات برنامه نویسی شده لود میشوند.شاید بتوان علت این امر را سمت سرور بودن این زبان عنوان کرد به طوری که php خود به تنهایی سمت کاربر نیست و جهت سمت کاربر شدن صفحات تولید شده توسط این زبان معمولا از Javascript و Jquery استفاده میکنند و php فقط مسئولیت ارتباط با سرور را بر عهده دارد.
- php بر روی لینوکس سوار است در حالی که سرور های ASP ویندوز هستند و با تجربه ها همه میدانند که سرور های لینوکس از نظر امنیت بسیار امن تر از سرور های ویندوز میباشند.
- زبان برنامه نویسی php از منابع بسیار کمتری نسبت به ASP استفاده میکند. اهمیت این امر زمانی پدیدار میشود که سایت شما کمی پیشرفت کند و تعداد کاربران آنلاین همزمان شما کمی بیشتر از 10 نفر باشد. در این صورت سایت های ASP یک مصرف کننده cpu تمام عیار خواهند بود به طوری که یک هاست و سرور مجازی ارزان پاسخ گوی آن نخواهد بود و برای ادامه حیات سایت شما باید کمی دست به جیب شوید و یک سرور اختصاصی اجاره کنید. در حالی که شما با یک سایت php اختصاصی به راحتی میتوانید توسط یک هاست معمولی حتی تا 50 نفر آنلاین همزمان را نیز پاسخگو باشید.
- زبان php دارای سیستم های مدیریت محتوی مختلف و مهم تر از آن دارای پنج فریم ورک قدرتمند است که این کار را هم برای وب مستر ها راحت تر کرده است و هم برای برنامه نویسان و توسعه دهندگان این زبان.
- زبان برنامه نویسی php یک زبان open source و رایگان است و شما برای داشتن یک سایت تحت این زبان، نیاز نیست هزینه ای به صورت ماهانه برای آن پرداخت کنید در حالی که ASP رایگان نیست و شما در بهترین حالت در صورت استفاد از ASP یک سایت کرک شده خواهید داشت.
برتری های لاراول نسبت به وردپرس
همانطور که پیشتر نیز گفته شد، لاراول یک فریم ورک است در حالی که وردپرس یک سیستم مدیریت محتوا است و این دو کاملا با هم متفاوت هستند. اما اگر بخواهیم مقایسه ای بین این دو داشته باشیم میتوانیم این مقایسه را مابین یک cms تولید شده توسط Laravel و وردپرس انجام دهیم.
- وردپرس در اصل یک سیستم وبلاگی است درحالی که ما توسط فریم ورک لاراول میتوانیم cms ای تولید کنیم که بنا به اهداف دیگری خلق شود. مثلا cms ای جهت ایجاد یک وبسایت ساز سایت های شرکتی یا یک فروشگاه ساز.
- وردپرس از نظر ایجاد Function های جدید محدودیت های زیادی دارد و در بسیاری از موارد در صورت انجام این امر، تداخل های زیادی مابین کدهای آن ایجاد میشود. در حالی که در هنگام استفاده از یک سیستم مدیریت محتوای کاملا اختصاصی خلق شده توسط فریم ورک قدرتمند لاراول شما هیچ گونه محدودیتی در ایجاد Function های جدید و پیچیده ندارید.
- شما در وردپرس در صورتی که نیاز به تهیه افزونه ها و ماژول های کاملا اختصاصی برای کسب و کار وشرکت خود داشته باشید باید هزینه های بالایی را صرف کنید اما در یک cms اختصاصی تولید شده با فریم ورک، شما میتوانید افزونه های مخصوص خود را داشته باشید.
- همچنین اگر شما از افزونه های رایگان وردپرس استفاده کنید به احتمال زیاد یکی دو تا از این افزونه ها و ماژول ها با هم تداخلات بسیار بدی ایجاد خواهند کرد . در حالی که شما در کدنویسی CMS اختصاصی خودتان دستتان کاملا باز است و هر کجا که لازم باشد به دلیل اشراف به برنامه نویسی آن که توسط خودتان بوده، تغییرات لازمه را انجام میدهید.
- یکی دیگر از مشکلا ت دیگر وردپرس هنگامی رخ میدهد که شما تعداد زیادی افزونه بنا به نیاز سایتتان بر روی آن نصب کرده اید. در این صورت زمان پاسخ دهی سایت تا شروع لود - --- اطلاعات بالاتر خواهد رفت. این مشکل زمانی مشهود تر خواهد بود که تعداد کاربران آنلاین سایت شما نیز رو به افزایش باشد. در حالی که در یک سیستم مدیریت محتوای اختصاصی تحت Laravel به دلیل شیئ گرا بودن، بسیار سبک تر از تصوات شما است. حتی اگر حجم بالایی از کدها بر روی سیستم خود داشته باشید.
- وردپرس و دیگر cms های موجود در اینترنت مانند جوملا و دروپال، به دلیل اوپن سورس بودن کدها و سطر های قابل پیشبینی برای هکر ها هستند و در حقیقت به قول برنامه نویس های حرفه ای ، اوپن سورس = اوپن اتک نیز هست. اما یک CMS اختصاصی به دلیل کدنویسی کاملا مختص به برنامه نویس مربوطه، اصلا قابل پیشبینی برای هکر نیست و هکر را با چالش های بسیاری روبرو خواهد کرد .