آموزش لاراول (Laravel)

دسته بندی: آموزش پی اچ پی (PHP)

آموزش لاراول

آنچه در این صفحه می خوانید:

لاراول چیست؟

لاراول (Laravel) فریمورک وب پی اچ پی اوپن سورس که توسط Taylor Otwel ساخته شده و برای توسعه برنامه های وب در الگوی معماری MVC و مبتنی بر سیمفونی در نظر گرفته شده است. برخی از ویژگی های لاراول سیستم بسته بندی مدولار با مدیر وابستگی اختصاصی، راه های مختلف برای دسترسی به پایگاه داده رابطه ای، برنامه های کاربردی برای کمک به استقرار و نگهداری برنامه ها و جهت گیری آن به سمت Syntactic sugar است. لاراول از کتابخانه های گوناگونی به ویژه بسیاری از کتابخانه های Symfony استفاده می کند. سورس کد لاراول در گیت هاب میزبانی شده و تحت شرایط MIT مجوز دریافت می کند.

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

لاراول با کاهش وظایف رایج مورد استفاده در بسیاری از پروژه های وب باعث پیشرفت سریع آن ها می گردد. فریمورک لاراول به صورت Component Base است و شما می توانید به راحتی کامپوننت های دلخواهتان را به برنامه اضافه کرده و توسعه آن را سریع تر کنید. لاراول حاوی Template Engine اختصاصی به نام Blade است. اگرچه این تمپلیت انجین در مقایسه با ابزارهایی مانند Twig از امکانات کمتری برخوردار است، با این حال تمامی نیازهای معمول را برطرف می کند و در دستیابی به امنیت کافی در ایجاد خروجی به برنامه نویسان یاری می رساند. سیستم مسیردهی (Routing) در لاراول نیز به صورت اختصاصی توسعه یافته است. این سیستم امکانات بسیاری را در اختیار توسعه دهنده قرار می دهد. استفاده از پیشوندها و پسوندها، کنترلرها، فیلترها، توابع درون خطی و بسیاری امکانات دیگر کار کردن با مسیرها را ساده و کارآمد می کنند.

لاراول برای مدیریت نیازمندی ها از Composer استفاده می کند. بروزرسانی فریمورک هم با استفاده از همین ابزار صورت می پذیرد. به این معنی که با صرف کمترین انرژی، همیشه می توانید از آخرین نگارش کتابخانه ها و فریمورک لاراول در پروژه بهره برداری کنید. مهم ترین ویژگی لاراول ORM اختصاصی آن به نام Eloquent است. Eloquent کار کردن با اطلاعات را به گونه ای آسان می کند که باور آن گاهی دشوار به نظر می رسد. کدهای نوشته شده با Eloquent شباهت بسیار زیادی با زبان انسان دارند و حتی اگر تا کنون با این شیوه کد ننوشته باشید، معنی کدها را به خوبی متوجه خواهید شد.

برنامه نویسی Eloquent بر پایه ی سیستم PDO طرح ریزی شده است و بنابراین علاوه بر امکاناتی که این سیستم در اختیار برنامه نویسان قرار می دهد، امکان استفاده از دستورات PDO نیز فراهم است. Eloquent امکان ذخیره و بازیابی اطلاعات در پایگاه داده های مختلف از جمله مای اس کیوال (MySQL)، پستگرس کیوال (PostgreSQL) و اس کیوال سرور (SQL Server) را فراهم می کند. با توجه به اینکه لاراول به طور پیش فرض از PDO برای اجرای Query های سمت دیتابیس استفاده می کند بنابراین تا حد بسیار زیادی ورودی ها را بررسی و از عدم تزریق متغیر ناخواسته اطمینان حاصل می کند و از حملات SQL Injection جلوگیری می کند. Laravel در دسترس و قدرتمند است و ابزارهایی را برای برنامه های کاربردی بزرگ فراهم می کند.

تاریخچه فریمورک لاراول

Taylor Otwell، لاراول را به عنوان تلاشی برای ارائه جایگزین پیشرفته تر برای فریمورک CodeIgniter ایجاد كرد، كه ویژگی های خاصی مانند پشتیبانی داخلی برای تأیید اعتبار و مجوزهای كاربری را ندارد. اولین نسخه بتا لاراول در تاریخ 9 ژوئن 2011 عرضه شد، و در ادامه نسخه Laravel 1 بعداً در همان ماه منتشر شد. لاراول 1 شامل پشتیبانی داخلی برای تأیید هویت، بومی سازی، مدل ها، ویو ها، نشست ها، مسیریابی و مکانیسم های دیگر بود، اما فاقد پشتیبانی برای کنترل کننده هایی بود که مانع از آن می شود یک فریمورک MVC واقعی باشد.

Laravel 6 در تاریخ 3 سپتامبر 2019 منتشر شد، تولید کد تغییر نقشه، معرفی نسخه معنایی، سازگاری با Laravel Vapor، پاسخ های مجوز بهبود یافته، بهبود واسطه شغلی، مجموعه های تنبل و پیشرفت های فرعی. داربست جلو از بسته اصلی خارج شده و به بسته بندی Laravel / UI منتقل شد.

Laravel 7 در 3 مارس 2020 با ویژگی های جدیدی همچون Laravel Sanctum، Custom Eloquent Casts، Blade Component Tags، عملیات رشته Fluent String و Route Model Binding Improvements منتشر شد.

ویژگی های فریمورک لاراول

پشتیبانی معماری MVC

Laravel از الگوی معماری MVC پشتیبانی می کند، که تضمین کننده تفکیک منطق بیزنس و لایه های ویو است. پشتیبانی معماری MVC به بهبود عملکرد کمک می کند، جایی که می توانید مستندات بهتری بسازید و چندین تابع داخلی نیز داشته باشید.

موتور تمپلیت

فریمورک Laravel به دلیل تمپلیت های داخلی می تواند برای ایجاد چیدمان های زیبا با استفاده از محتوای پویا مورد استفاده قرار گیرد، بسیار مورد تأیید است. پسوند فایل blade.php. به Laravel Developer کمک می کند تا بدون هیچ زحمتی، یک طرح تمیز و قابل تنظیم از صفحه وب خود را دریافت و تغییر دهد. ویجت های متعدد شامل کد CSS و JS با ساختارهای پایدار است. تمپلیت های فریمورک Laravel به طور خلاقانه طراحی شده اند تا یک طرح ساده با بخش های مشخص ایجاد کنند.

نگاشت مدل اشیاء به مدل رابطه‌ ای (ORM)

لاراول نگاشت مدل اشیاء به مدل رابطه‌ ای (ORM) را ارائه می دهد که شامل پیاده سازی ساده PHP Active Record است.این برنامه باعث می شود تا برنامه نویسان وب به جای نوشتن کد SQL، کوئری پایگاه داده را با سینتکس PHP صادر کنند. هر جدول در بانک اطلاعاتی دارای یک مدل مربوط است که از طریق آن برنامه نویس با جدول در تعامل است.

امنیت 

Laravel امنیت کا م  ل  برنامه وب را ارائه می دهد. پایگاه داده شما را با استفاده از مکانیسم رمز عبور hashed و salted ایمن نگه می دارد، بنابراین رمز عبور هرگز به عنوان متن ساده در دیتابیس ذخیره نمی شود. 

با ایجاد پسورد های رمزگذاری شده از طریق الگوریتم Bcrypt Hashing، امنیت بالا را برای شما فراهم می کند، همچنین  SQL statement ها را آماده می کند که از حملات SQL injection   جلوگیری می کند.

صن عت گر ( Artisan ) 

فریمورک Laravel یک ابزار داخلی خط فرمان به نام Artisan را در اختیار شما قرار می دهد که به شما کمک می کند تا چندین کار برنامه نویسی خسته کننده و تکراری را انجام دهید. Artisan حتی به توسعه دهندگان اجازه می دهد دستورات خود را ایجاد کرده و کارهای مفیدی را با آن انجام دهند. 

با استفاده از آن می توان ساختار بانک اطلاعاتی، skeleton code را تولید كرد و با مدیریت آسان سیستم های دیتابیس، میگریشن را مدیریت كرد. همچنین، می توان برای ایجاد فایل های اصلی MVC بلافاصله از طریق خط فرمان و مدیریت و پیکربندی های مربوطه، آنها را به هم پیوند داد.

کتابخانه ها و ماژولار

لاراول با کتابخانه های شی گرا از جمله بسیاری از کتابخانه های از پیش نصب شده همراه است. این کتابخانه های از پیش نصب شده در هیچ فریمورک PHP دیگری یافت نمی شوند. کتابخانه های از پیش نصب شده یک کتابخانه تأیید هویت است که به راحتی اجرا می شود و چندین ویژگی گرایش مانند هش کردن Bcrypt، محافظت از CSRF، بررسی کاربران فعال، رمزگذاری، تنظیم مجدد رمز عبور را برای شما فراهم می کند.

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

کتابخانه Logging Monolog

Laravel یکی از بهترین سیستم ها برای مدیریت خطا است زیرا با کتابخانه Monolog Logging یکپارچه شده است و همچنین پشتیبانی از چندین کنترل کننده ورود قوی را در اختیار شما قرار می دهد. به طور کلی، فرم های ورود داده یکی از رایج ترین مکان هایی است که پس از کلیک کاربران بر روی دکمه ارسال، خطاها ارائه می شوند و شناسایی می شوند و در صورت بروز خطایی در این مورد، دلیل مناسب باید درباره آن داده شود.

ادغام ابزار ها

سرعت یک برنامه وب از مهمترین مواردی است که بر تجربه کاربر، میزان تبدیل از جمله سئو تأثیر می گذارد، زیرا بارها، ویژگی ها و عملکردهای خاص بر عملکرد سایت تأثیر می گذارد. ادغام ابزار یکی از اقدامات مهم برای ذخیره بک گراند برای بهبود عملکرد برنامه وب شما است. برای آسانتر کردن کارایی برنامه نویسان برای ارتقاء عملکرد برنامه وب با تجربه سریع، Laravel به توسعه دهندگان خود با پشتیبانی از Redis و Memcached خارج از جعبه، پشتیبان محبوب حافظه پنهان کمک می کند.

سیستم میگریشن بانک اطلاعاتی

سیستم میگریشن لاراول به ایجاد ساختار پایگاه داده برنامه وب کمک می کند و خطر از دست دادن داده ها نیز بسیار کمتر است. همچنین این سرویس خدمات تغییر ساختار پایگاه داده را به شما ارائه می دهد و به کمک آن می توانید با استفاده از کد PHP به جای SQL، آن را تغییر دهید. Laravel Schema Builder به ایجاد جداول بانک اطلاعاتی و درج فهرست ها کمک می کند.

تست واحد

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

Laravel از تست با PHPUnit با پسوند فایل phpunit.xml پشتیبانی می کند و اطمینان می دهد قبل از انتشار هیچ استثنا و اشکالی در برنامه وب شما وجود ندارد. تست واحد وقت گیری کمتری دارد و به توسعه دهنده کمک می کند تا خطاها، باگ ها، اشکالات و مواردی از این دست را از بین ببرد.

همانطور که پس از هر توسعه وب، تأیید و تست مهمترین مراحل در این فرآیند در نظر گرفته می شود. بدون تست، هیچ کس نمی تواند اطمینان حاصل کند که برنامه عاری از چنین خطاهایی است.

پیکربندی مسیریابی URL

Laravel یک روش بسیار صریح و ساده برای تعریف مسیرها ارائه می دهد زیرا مسیرهای اصلی لاراول بسته می شود و URI مشخص شده در فایل برنامه / Http / lines.php را می پذیرند. این ویژگی انعطاف پذیری را برای شما فراهم می کند تا انتخاب کنید که کدام مسیر در برنامه شروع می شود. یک صفحه خطا در برنامه وب شما می تواند هزینه زیادی برای کلاینت داشته باشد.

معماری لاراول

معماری لاراول

هنگام استفاده از هر ابزاری در "دنیای واقعی"، اگر درک کنید که چگونه این ابزار کار می کند، احساس اطمینان بیشتری می کنید. توسعه برنامه هیچ تفاوتی ندارد. وقتی می فهمید که ابزارهای توسعه شما چگونه کار می کنند، با استفاده از آنها احساس راحتی و اطمینان بیشتری می کنید.

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

نقطه ورود همه درخواست های یک برنامه لاراول فایل public/index.php است. کلیه درخواست ها توسط پیکربندی وب سرور شما (Apache / Nginx) به این فایل هدایت می شوند. فایل index.php کد زیادی ندارد. در عوض، این فقط یک نقطه شروع برای بارگذاری بقیه فریمورک است. فایل index.php بارگذاری تعریف autoloader ایجاد شده توسط Composer و سپس نمونه ای از برنامه Laravel را از اسکریپت bootstrap / app.php بازیابی می کند. اولین اقدام انجام شده توسط خود Laravel ایجاد نمونه ای از application / service container است.

کرنل HTTP / Console

در مرحله بعد بسته به نوع درخواستی که وارد برنامه می شود، درخواست ورودی به کرنل HTTP یا کرنل کنسول ارسال می شود. این دو کرنل به عنوان مکان اصلی که از طریق آن همه درخواست ها جریان دارد، خدمت می کنند. در حال حاضر، اجازه دهید فقط روی کرنل HTTP که در app/Http/Kernel.php قرار دارد تمرکز کنیم. کرنل HTTP کلاس Illuminate \ Foundation \ Http \ Kernel را گسترش می دهد، که مجموعه ای از راه اندازها را تعریف می کند که قبل از اجرای درخواست اجرا می شوند. این bootstrappers با استفاده از خطا، پیکربندی ورود به سیستم، شناسایی محیط برنامه و سایر کارهایی را که باید قبل از درخواست انجام شود انجام می دهد.

کرنل HTTP همچنین لیستی از میان افزارهای HTTP را تعریف می کند که کلیه درخواست ها باید قبل از آنکه توسط برنامه کاربردی شوند از آن عبور کنند. این میان افزارها خواندن و نوشتن نشست HTTP را تعیین می کنند، تعیین می کنند آیا برنامه در حالت نگهداری است، تأیید نشانه CSRF و موارد دیگر. امضای روش برای دسته کرنل HTTP بسیار ساده است: یک درخواست دریافت کنید و یک پاسخ ارسال کنید. به عنوان یک جعبه سیاه بزرگ که نمایانگر کل برنامه شماست، از کرنل استفاده کنید. آن را به درخواست های HTTP تغذیه کنید و پاسخ های HTTP را برمی گرداند.

فراهم کننده سرویس

یکی از مهمترین اقدامات bootstrapping کرنل بارگیری فراهم کننده سرویس برای برنامه شما است. کلیه فراهم کننده سرویس برای برنامه در آرایه ارائه دهندگان فایل  Config / app.php پیکربندی شده اند. ابتدا روش ثبت نام از کلیه providers فراخوانده می شود، پس از register تمامی ارائه دهندگان، روش boot فراخوانی می شود.

فراهم کننده سرویس وظیفه راه اندازی مجدد کلیه اجزای مختلف فریمورک مانند پایگاه داده، صف، اعتبارسنجی و مؤلفه های مسیریابی را دارند. از آنجا که آنها قابلیت راه اندازی و پیکربندی هر ویژگی ارائه شده توسط این فریمورک را دارند، فراهم کننده سرویس مهمترین جنبه کل فرآیند راه انداز لاراول هستند.

ارسال درخواست

پس از راه اندازی برنامه و ثبت نام در تمامی فراهم کننده سرویس، درخواست برای ارسال به روتر ارسال می شود. روتر Request را به یک مسیر یا کنترل کننده ارسال می کند، و همچنین هر واسطه خاصی را برای مسیر اجرا می کند.

ساختار پیش فرض برنامه Laravel در نظر گرفته شده است که یک نقطه شروع عالی برای برنامه های بزرگ و کوچک باشد. البته، شما می توانید برنامه خود را هر طور که دوست دارید سازماندهی کنید. لاراول تقریباً هیچ محدودیتی برای مکان کلاس در نظر نمی گیرد، تا زمانی که Composer بتواند کلاس را تأسیس کند.

معماری MVC در لاراول

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

سرویس های لاراول

لاراول (Laravel) سرویس های متعددی در اختیار برنامه نویسان و طراحان سایت قرار می دهد. برخی از این سرویس ها عبارتند از :

  • Authentication(احراز هویت)
  • Authorization(مجوزها)
  • Artisan Console(کنسول آرتیزان)
  • Billing(پرداخت و صورتحساب)
  • Cache(کش)
  • Collections(مجموعه ها)
  • Elixir(مکانیزاسیون)
  • Encryption(رمزنگاری)
  • Errors & Logging(مدیریت خطاها و لاگ)
  • Events(رویدادها)
  • Package Development(توسعه ی بسته ها یا ماژول ها)
  • Filesystem/Cloud Storage (سیستم فایل – سیستم ابری)
  • Hashing(سیستم هش)
  • Helpers(ابزارهای کمکی)
  • Localization(بومی سازی)
  • Mail(ایمیل)
  • Pagination(صفحه بندی)
  • Queues(صف ها)
  • Redis(ردیس)
  • Session(مدیریت و رمزگزاری جلسات)
  • SSH Tasks (دسترسی آسان به SSH)
  • Task Scheduling (اجرای زمانبندی شده ی دستورات)
  • Testing(آزمون)
  • Validation(ارزیابی)

مزایای استفاده از فریمورک لاراول

لاراول به عنوان فریمورک PHP تمیز و مرتب برای توسعه وب، جامعه PHP را با طوفانی روبرو می کند. اکنون، توسعه دهندگان PHP در صدد هستند مجدداً محبوب ترین زبان سمت سرور وب را تجربه کنند. توسعه دهندگان وب ماهر بهترین راه حل های فناوری را برای برنامه های وب انتخاب می کنند. این می تواند یک فریمورک وب از پیش ساخته شده یا CMS مانند Laravel باشد.

در زیر برخی از مهمترین مزایای استفاده از Laravel برای توسعه وب آمده است:

ایجاد سیستم های مجوز و تأیید اعتبار

هر صاحب برنامه وب باید اطمینان حاصل کند که کاربران کسانی هستند که ادعا می کنند وجود دارند و بنابراین از دسترسی کاربران غیرمجاز به منابع امن جلوگیری می کنند. Laravel اجرای احراز هویت را بسیار ساده و راحت می کند. تقریباً همه چیز خارج از باکس تنظیم شده است. این فریمورک همچنین روش ساده برای سازماندهی منطق مجوز و همچنین دسترسی به منابع کنترل را فراهم می کند.

ادغام با ابزارها برای ایجاد سریعتر برنامه های وب

نه تنها برای ساختن برنامه بلکه ایجاد سریع برنامه نیز ضروری است، که منجر به شتاب درآمد خواهد شد. ادغام با حافظه پنهان نگه داشتن غالباً یکی از اصلی ترین اقدامات انجام شده برای تقویت عملکرد برنامه وب است. لاراول از ابزار های کش محبوب، مانند ردیس (Redis) و Memcached خارج از جعبه پشتیبانی می کند. به طور پیش فرض، فریمورک پیکربندی شده است تا از درایور حافظه نهان فایل استفاده کند که آبجکت ها را در سیستم فایل یا حتی ممکن است در حافظه پنهان ذخیره می کند.

ادغام سرویس های پست الکترونیکی

خدمات ایمیل می توانند برای ارسال اعلان ها به ایمیل کاربران پس از وقایع مختلف استفاده شوند. برای مثال تصور برنامه وب مدرن دشوار است، به عنوان مثال، حتی در مورد ثبت نام موفق آنها در سایت، حتی اطلاع رسانی ایمیل ساده برای کاربر جدید وجود ندارد. این فریمورک API ساده و تمیز را بیش از کتابخانه معروف SwiftMailer ارائه می دهد. این برنامه همچنین درایورهای Mailgun،SMTP،Mandrill،Amazon SES و موارد دیگر را فراهم می کند و به برنامه امکان می دهد تا به سرعت ارسال ایمیل از طریق سرویس محلی یا ابری را آغاز کند. این پشتیبانی از ارسال اعلان ها از طریق کانال های مختلف تحویل، از جمله SMS و Slack را فراهم می کند.

بررسی استثنا و خطای پیکربندی

روش برخورد برنامه با خطاها می تواند تأثیر بسزایی در رضایت کاربر و همچنین قابلیت استفاده برنامه داشته باشد. در صورت عدم استفاده از خطای مناسب، ممکن است کاربر تصمیم بگیرد که مسئله در برنامه قرار دارد و برای همیشه از آن فاصله می گیرد. هیچ کس نمی خواهد کلاینت خود را گم کند یا آن ها را ناامید کند. با استفاده از Laravel، مسئولیت رسیدگی به خطا و استثناء برای هر پروژه جدید مستقر در Laravel پیکربندی شده است. علاوه بر این، آن را با کتابخانه ورود به سیستم Monolog یکپارچه شده است که ارائه می دهد پشتیبانی از دستگاه های مختلف قدرتمند ورود به سیستم.

تست خودکار

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

تفکیک کد منطق تجارت از کد ارائه

چنین جدایی به طراحان طرح HTML اجازه می دهد تا بدون تعامل با توسعه دهندگان، به راحتی ظاهر صفحه وب را تغییر دهند. اگر کلیه برنامه نویسی برنامه دارای جدایی مناسب در ابتدای مرحله توسعه باشد، ممکن است درخواست های ویژگی و رفع اشکال با سرعت بیشتری از طریق توسعه دهندگان انجام شود. از آنجا که Laravel فریمورک MVC است، جداسازی قبلاً انجام شده است.

رفع بیشترین آسیب پذیری های فنی

آسیب پذیری های امنیتی با توسعه هر برنامه وب دست به دست هم می دهند. بنیاد OWASP، سازمان غیرانتفاعی آمریکایی حیاتی ترین آسیب پذیری های امنیتی برنامه وب را توصیف می کند، که شامل جعل درخواست cross-site، تزریق کد SQL و cross-site scripting و موارد دیگر می شود. توسعه دهنده نباید فراموش کند و باید بتواند همه را قبل از تحویل تعمیر کند. Laravel با محافظت از آن در برابر جدی ترین خطرات امنیتی، به امنیت برنامه وب کمک می کند. پایگاه کد متعصب محافظت می شود و کد توسط چندین نفر مورد تأیید قرار گرفته است.

پیکربندی و تنظیم وظایف

مهم نیست ارسال ایمیل به مشترکان هر روز صبح و یا تمیز کردن جداول بانک اطلاعاتی در پایان روز، هر برنامه وب به مکانیزم برنامه ریزی وظیفه برای انجام وظایف در زمان زمان نیاز دارد. پیش از این، توسعه دهندگان برای هر کاری که باید برنامه ریزی کنند، ورودی Cron را ایجاد می کنند، اما این دردسر دارد. برنامه کار دیگر در کنترل منبع نیست و توسعه دهندگان باید SSH را وارد سرور کنند تا ورودی های Cron را اضافه کنند. برنامه ریز فرمان Laravel امکان تعریف صریح و روان از برنامه فرمان را در درون فریمورک فراهم می کند و فقط ورودی Cron برای سرور لازم است.

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

    مثال های لاراول (Laravel)

    Database Migrations در لاراول

    اول، اجازه دهید از یک Migrations برای تعریف جدول دیتابیس استفاده کنیم تا همه وظایف خود را انجام دهیم. Migrations به پایگاه داده Laravel راهی آسان برای تعریف ساختار جدول پایگاه داده و تغییرات خود با استفاده از کد PHP روان و رسا ارائه می دهد. به جای اینکه به اعضای تیم خود بگویید که به صورت دستی ستون هایی را به نسخه محلی بانک اطلاعاتی خود اضافه کنند، هم تیمی های شما می توانند به سادگی Migrations هایی را که شما به آنها کنترل می کنید، انجام دهند.

    بنابراین، بیایید یک جدول بانک اطلاعاتی بسازیم که تمام وظایف ما را در خود جای دهد. Artisan CLI می تواند برای تولید انواع کلاس ها مورد استفاده قرار گیرد و در ساخت پروژه های Laravel در تایپ کردن زیادی صرفه جویی می کند. در این حالت، بیایید از دستور make: migration برای ایجاد یک Migrations پایگاه داده جدید برای جدول وظایف خود استفاده کنیم:

    php artisan make:migration create_tasks_table --create=tasks

    Migrations در دایرکتوری database/migrations پروژه شما قرار می گیرد. همانطور که ممکن است مشاهده کرده باشید، فرمان make: migr قبلاً شناسه خودکار افزایشی و نشانهای زمانی را به فایل Migrations اضافه کرده است. بیایید این فایل را ویرایش کنیم و یک ستون رشته اضافی برای نام وظایف خود اضافه کنیم:

    <?php

    use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration;

    class CreateTasksTable extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::create('tasks', function (Blueprint $table) { $table->increments('id'); $table->string('name'); $table->timestamps(); }); }

    /** * Reverse the migrations. * * @return void */ public function down() { Schema::drop('tasks'); } }

    برای اجرای Migrations، از فرمان artisan migrate افزار مند استفاده خواهیم کرد. اگر از Homestead استفاده می کنید، باید این دستور را از درون دستگاه مجازی خود اجرا کنید، زیرا دستگاه میزبان شما دسترسی مستقیم به دیتابیس نخواهد داشت:

    php artisan migrate

    این دستور تمام جداول بانک اطلاعاتی ما را ایجاد می کند. اگر جداول بانک اطلاعاتی را با استفاده از کلاینت پایگاه داده مورد نظر خود بررسی می کنید، باید یک جدول tasks جدید را ببینید که شامل ستون های تعریف شده در Migrations ما است. در مرحله بعد، ما آماده هستیم تا یک الگوی ORM Eloquent را برای کارهای خود تعریف کنیم!

    آیا این نوشته را دوست داشتید؟
    linkedin-laravel-5-essential-training

    آموزش اصولی لاراول 5


    لاراول محبوب ترین فریموورک MVC برای PHP است که بر اساس استاندارد ها و قراردادهای PHP ساخته شده است و ایجاد برنامه های سفارشی با امکانات جامع را آسان م...

    1398/12/22 5196 بازدید زیرنویس دارد
    laracasts-let-s-build-a-forum-with-laravel-and-tdd

    آموزش ساخت Forum با لاراول و TDD


    مطمئناً یک فروم از threads و پاسخ هایی تشکیل شده است. در مورد پروفایل ها، یا اشتراک های threads، یا فیلترینگ یا نوتیفیکشن های بلادرنگ چه باید کرد؟ یک ...

    1398/11/13 8022 بازدید
    laracasts-build-a-laravel-app-with-tdd

    آموزش ساخت اپلیکیشن لاراول با TDD


    وقت آن است که از تکنیک هایی که در Laravel From Scratch آموخته ایم استفاده کرده و آنها را در ساخت اولین برنامه واقعی در دنیای واقعی خود به کار ببریم. د...

    1398/11/07 2451 بازدید
    laracasts-get-real-with-laravel-echo

    آموزش کار با Laravel Echo


    خوب نیست اگر بتوانید بدون نیاز به رفرش کردن دستی صفحه، به کاربران برنامه خود در مورد تغییرات مهم هشدار دهید؟ چه می شود اگر یک thread بلافاصله می تواند...

    1398/11/02 1693 بازدید
    laracasts-laravel-5-7-from-scratch

    آموزش Laravel 5.7 از ابتدا


    این دوره از سال 2013 منبع جدیدی برای تازه واردان Laravel بوده است. با در نظر گرفتن این موضوع، همانطور که می توانید تصور کنید، این حقیقت مستلزم آن است ...

    1398/11/01 3911 بازدید
    laracasts-how-to-accept-payments

    چگونه پرداخت ها را در Stripe تایید کنیم؟


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

    1398/11/01 1496 بازدید
    laracasts-laravel-nova-mastery

    آموزش تسلط بر Laravel Nova


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

    1398/10/26 1603 بازدید
    laracasts-intermediate-laravel

    آموزش لاراول - سطح متوسط


    آیا اصول و مبانی لاراول 5 را یاد گرفته اید؟ خیلی خوب است. الان زمان آن فرا رسیده تا کمی عمیق تر آن را یاد بگیرید. در این مجموعه، نه تنها ویژگی های سطح...

    1398/10/25 1677 بازدید
    laracasts-advanced-eloquent

    آموزش پیشرفته Eloquent


    مطمئناً شما ملزومات استفاده از Eloquent را در اپلیکیشن های خود آموخته اید، اما آیا واقعاً می دانید که در آن چه می گذرد؟ خوب، این دقیقاً همان چیزی است ...

    1398/10/25 1590 بازدید
    laracasts-eloquent-techniques

    آموزش تکنیک های Eloquent


    برای هر کاربر لاراول، درک کاملی از Eloquent بسیار مهم است. در این دوره، تعدادی از تکنیک های اصلی را برای این ابزار مرور خواهیم کرد....

    1398/10/24 1318 بازدید
    laracasts-how-to-create-custom-laravel-presets

    نحوه ایجاد پیش تنظیمات سفارشی در لاراول


    لاراول دارای تعدادی پیش تنظیمات سفارشی front-end می باشد اما اگر شما بخواهید این پیش تنظیمات را بر اساس نیاز و اولویت های خود ایجاد کنید مشکلی نیست. ا...

    1398/10/23 947 بازدید
    laracasts-laravel-spark

    آموزش Laravel Spark


    Spark که قرار است در تاریخ 19 آوریل به بازار عرضه شود، نقطه شروع ایده آل برای ایده بزرگ بعدی شما است. تمام boilerplate را فراموش کنید و روی موارد مهم ...

    1398/10/19 1171 بازدید
    laracasts-learn-laravel-mix

    آموزش Laravel Mix


    Webpack قدرتمندترین و انعطاف پذیرترین ابزار کامپایل کردن دارایی است که امروزه در دسترس است. در 80% مواقع، Mix در اطراف webpack برای فعال سازی و استحکا...

    1398/10/18 1347 بازدید
    laracasts-laravel-authentication-techniques

    آموزش تکنیک های احراز هویت لاراول


    در حالی که Laravel یک تنظیم احراز هویت سنتی قوی از خارج از جعبه ارائه می دهد، ممکن است متوجه شوید که برای پروژه های خاص به تنظیمات منحصر به فردی نیاز ...

    1398/10/18 1461 بازدید
    laracasts-russian-doll-caching-in-laravel

    آموزش کش کردن Russian Doll در لاراول


    در دنیای Rails کش کردن Russian Doll رویکردی جالب است. کش کردن آسان برای منطق نمایش و همین طور cache-busting خودکار در هرجاییکه مدل به روز رسانی می شود...

    1398/10/18 883 بازدید
    laracasts-real-time-laravel-with-socket-io

    آموزش لاراول بلادرنگ با Socket.io


    لاراول بلادرنگ با Socket.io - از جمله استفاده از یک سرویس اختصاصی مانند Pusher می تواند به شما کمک کند. با این حال، در این دوره همه چیز را به تنهایی م...

    1398/10/13 3100 بازدید
    laracasts-learn-laravel-forge

    آموزش Laravel Forge


    در این دوره، مدرس به شما جزئیات ساخت و پیکربندی های سرورها با Laravel Forge را آموزش می دهد. خواه شما یک باتجربه باشید که می خواهید جریان کار سرور خود...

    1398/10/11 871 بازدید
    teamtreehouse-templating-with-twig

    آموزش Templating با Twig


    زبان ها و ابزارهای قالببندی با چارچوبی مانند Slim و Laravel برای ترکیب PHP و منطق در صفحات وب HTML استاتیک استفاده می شوند. در این دوره خواهیم دید که ...

    1398/10/08 820 بازدید
    laracasts-what-s-new-in-laravel-5-8

    آشنایی با ویژگی های جدید Laravel 5.8


    لاراول 5.8 که در 26 فبریه منتشر شد، Eloquent ، کشف سیاست خودکار ، پشتیبانی از PHPUnit 8 و موارد دیگر عرضه گردید. در این مجموعه، یک به یک، ما به مهمتری...

    1398/10/05 676 بازدید
    packtpub-building-rest-based-microservices-with-lumen

    ساخت میکروسرویس های مبتنی بر REST با Lumen


    در این دوره با ساخت RESTful API با استفاده از میکروفریمورک Lumen اشنا می شوید. همچنین مفاهیم پیشرفته Lumen مانند احراز هویت، مجوز و ایمن سازی API با ر...

    1398/07/08 3374 بازدید