آموزش RESTful API با لاراول: یک API واقعی با لاراول بسازید

RESTful API with Laravel: Build a Real API with Laravel

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
توضیحات دوره: یک API RESTful برای یک سیستم بازار با استفاده از لاراول بسازید و بر چالش‌برانگیزترین ویژگی‌های APIها با لاراول تسلط داشته باشید. پروژه‌های خود را با لاراول ایجاد کنید (نه فقط API های RESTful) از ابزارهای کاری خود نهایت استفاده را ببرید (Sublime Text 3، Git، Github، Composer، PHP artisan و Laravel) ساختار پایگاه داده را به صورت خودکار با لاراول و کنسول PHP Artisan ایجاد و نگهداری کنید. از PHP Artisan به طور موثر استفاده کنید و بسیار کارآمدتر باشید. روش ها/افعال اصلی HTTP برای HTTP و API های RESTful استفاده از ابزارهای حرفه ای رایگان برای بهبود بهره وری پیش نیازها: دامنه بنیادی برنامه نویسی شی گرا بسیار توصیه می شود دانش بنیادی در مورد PHP (کلاس ها، توابع، روش ها، ویژگی ها، وراثت)

پس باید یک API RESTful برای یک پروژه بسازید، اما حتی نمی دانید از کجا شروع کنید؟ نگران نباشید، من شما را در تمام مراحل راهنمایی خواهم کرد تا با استفاده از لاراول یک RESTful API واقعی بسازید.

به بیش از 5000 دانش‌آموزی که قبلاً این دوره را می‌گذرانند، بپیوندید، APIهای RESTful خود را با استفاده از لاراول بسازید، و از هر کلاس لذت ببرید!

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

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



راهنمای کامل برای ایجاد یک API واقعی RESTful با لاراول. می توانید دوره را با استفاده از آخرین نسخه لاراول دنبال کنید (توصیه می شود).

دوره لاراول مانند این را نخواهید یافت. این دوره همه چیزهایی را که برای توسعه یک API RESTful با استفاده از چارچوب لاراول نیاز دارید، توضیح می‌دهد.

در پایان دوره، یک API RESTful با لاراول، برای یک سیستم بازار خواهید داشت، که در آن کاربران می‌توانند محصولات مختلف را با دسته‌ها و تراکنش‌های مختلف خریداری و بفروشند. دربرگیرنده، همان کاربر می‌تواند هم فروشنده و هم خریدار باشد (شما از مزیت ارث برای این کار استفاده خواهید کرد).


¡دیگر منتظر نمانید! با لاراول در توسعه APIهای RESTful واقعی استاد شوید. اکنون به دوره بپیوندید و شما را در کلاس

ببینیم

به یاد داشته باشید: دوره به طور مداوم برای استفاده از آخرین نسخه های لاراول به روز می شود. بنابراین با خیال راحت از نسخه ای که دوست دارید (مخصوصا آخرین نسخه لاراول) استفاده کنید.


در این دوره آموزشی، نحوه ایجاد یک API واقعی، کاملاً پیاده‌سازی شده و حرفه‌ای RESTful با لاراول را یاد می‌گیرید.

Laravel محبوب ترین فریم ورک پی اچ پی است، با بیش از 20 میلیون بارگیری همراه با تعداد زیادی پروژه سازمانی و شخصی در سراسر جهان. علاوه بر این، شامل ویژگی‌های خارق‌العاده‌ای برای پیاده‌سازی آسان API RESTful است. لاراول برای استراحت مناسب است.


RESTful API چیست؟
Web API مانند یک وب سرویس است که کاملاً با HTTP کار می کند. یک API RESTful باید از رویه‌های REST (انتقال وضعیت نمایندگی) پیروی کند، که اجازه می‌دهد طراحی را به سمت منابع جهت‌دهی کند، پاسخ‌های استاندارد را بر اساس کدهای وضعیت مختلف HTTP و مطابق با پیوندهای Hypermedia در پاسخ‌ها (HATEOAS) ارائه دهد.


چرا لاراول؟
زیرا لاراول چارچوبی است که توسط برنامه نویسان برای برنامه نویسان ساخته شده است، رسا، ساده، شهودی و قدرتمند است. لاراول ویژگی های مفیدی را برای پروژه های وب از جمله API های RESTful ارائه می دهد.

هر نسخه جدید لاراول شامل تغییرات زیادی است که این چارچوب را حتی بهتر، ساده، برنامه نویس پسند و در عین حال بسیار قدرتمندتر می کند. در واقع، آخرین نسخه های لاراول شامل بسیاری از ویژگی های جدید برای کمک به توسعه API های RESTful به روش درست است.

در طول این دوره، شما بر ساختار کامل لاراول، همراه با ویژگی های جدید موجود در آخرین نسخه لاراول برای توسعه یک API واقعی RESTful تسلط خواهید داشت.

این را در مورد توسعه یک API RESTful با لاراول یاد خواهید گرفت:

  • استفاده از لاراول PHP artisan برای تولید کد و کامپوننت

  • استفاده و ایجاد میان افزار در لاراول

  • مسیرها و کنترلرهای منبع لاراول (ایده آل برای API های RESTful)

  • پاسخ‌های قالب JSON برای یک JSON RESTful API

    پشتیبانی می‌شود
  • تأیید اعتبار درخواست ها به طور مستقیم از کنترلرهای لاراول

  • کنترل انواع استثناها و خطاهای لاراول

  • عملیات پیچیده شامل حداکثر سه منبع/مدل برای یک عملیات خاص

  • استفاده از تزریق وابستگی لاراول و اتصال مدل

  • تولید ساختار پایگاه داده با استفاده از مهاجرت های لاراول

  • درج خودکار داده‌های جعلی در پایگاه داده از طریق "faker"، با استفاده از کارخانه‌های Laravel و seders

  • جلسات Laravel و احراز هویت access_token برای RESTful API. بله، هر دو!

  • استفاده از Laravel Passport برای محافظت از RESTful API با OAuth2

  • صفحه بندی نتایج با استفاده از مجموعه های لاراول

  • استفاده از پارامترهای URL برای اجرای اقدامات (رویکرد RESTful)

  • مرتب سازی نتایج بر اساس پارامترهای URL با رویکرد RESTful

  • فیلتر کردن نتایج با استفاده از پارامترهای URL

  • ذخیره پاسخ ها با استفاده از سیستم کش لاراول

  • محدودیت درخواست ها با استفاده از میان افزار لاراول

  • اجرای HATEOAS در لاراول (یک API خالص RESTful باید از HATEOAS استفاده کند)

  • استفاده از PHP Fractal برای تبدیل پاسخ‌ها

  • استفاده از CORS در پاسخ‌های API برای اجازه دادن به مشتریان و مرورگرهای وب مبتنی بر جاوا اسکریپت.

  • از خط‌مشی‌ها و گیت‌های لاراول برای مدیریت لایه مجوز کاربر استفاده کنید.

  • خیلی بیشتر!!


می‌توانید به فهرست کامل مطالب در زیر نگاهی بیندازید. شما با یک API کامل RESTful و درک بسیاری از مهارت های لاراول به پایان خواهید رسید.

شما یک API واقعی RESTful را از ابتدا و گام به گام با استفاده از لاراول ایجاد خواهید کرد. معماری REST را دنبال کنید و URL های مناسب بسازید تا اقدامات و منابع را با استفاده از بهترین ویژگی های لاراول شناسایی کنید و لاراول را در این راه بیاموزید.

از ابزارهایی مانند Sublime Text 3، Git، power shell، Laravel، Composer، PHP artisan نهایت استفاده را ببرید و برای توسعه چابک کارآمدتر باشید.

توجه: در چند کلاس از دوره من از ویندوز استفاده می‌کنم (فقط برای کلاس‌های اول)، اما دستورالعمل‌های خاصی را در موردی که از لینوکس یا مک استفاده می‌کنید و همه ابزارهای مورد استفاده کراس پلتفرم هستند، درج کردم، بنابراین شما نخواهید داشت. هر مشکلی وجود دارد.

شما به کلاس‌های فعلی و کلاس‌هایی که من مرتباً اضافه می‌کنم دسترسی مادام‌العمر خواهید داشت (به بخش آخر نگاهی بیندازید تا ببینید چه چیزی در راه است).

در پایان این دوره، شما قادر خواهید بود با بهره گیری از امکاناتی که لاراول برای اجرای صحیح پروژه های خود و RESTfulAPI خود در اختیار شما قرار می دهد، API خالص RESTful خود را با بهترین شیوه ها به روشی کارآمد با لاراول توسعه دهید.

دیگر منتظر نمانید. به دوره بپیوندید و شما را در کلاس ها ببینیم.


سرفصل ها و درس ها

معرفی Introduction

  • درباره مربی و دوره About the Instructor and the Course

  • بهره گیری از دوره و محتویات Taking Advantage of the Course and Contents

  • چگونه سوال بپرسیم How to Ask Questions

دانلود و نصب ابزارهای توسعه RESTful API با لاراول Downloading and Installing the Tools to Develop the RESTful API with Laravel

  • دانلود و نصب PHP با XAMPP Downloading and Installing PHP with XAMPP

  • دانلود و نصب Composer Downloading and Installing Composer

  • دانلود و نصب Virtual Box Downloading and Installing Virtual Box

  • دانلود و نصب Vagrant Downloading and Installing Vagrant

  • دانلود و نصب Sublime Text 3 Downloading and Installing Sublime Text 3

  • دانلود و نصب Github Shell Downloading and Installing Github Shell

  • دانلود و نصب Node و NPM Downloading and Installing Node and NPM

  • دانلود و نصب Postman برای تست API Laravel RESTful Downloading and Installing Postman to Test the Laravel RESTful API

ایجاد و تنظیم ساختار اولیه لاراول برای RESTful API Creating and Setting the Initial Structure of Laravel for the RESTful API

  • به دست آوردن لاراول با استفاده از Composer Obtaining Laravel Using Composer

  • اضافه کردن Laravel Homestead به عنوان یک وابستگی برای پروژه لاراول Adding Laravel Homestead as a Dependency for The Laravel Project

  • مرحله اضافی لاراول 6 و بالاتر Laravel 6 and higher additional step

  • نکاتی درباره لاراول وایت Notes About Laravel Vite

  • آماده سازی و پیکربندی Laravel Homestead Preparing and Configuring Laravel Homestead

  • افزودن دامنه مجازی به سیستم Adding the Virtual Domain on The System

  • استفاده از Vagrant برای مدیریت ماشین مجازی Laravel Homestead Using Vagrant to Manage the Laravel Homestead Virtual Machine

  • تمرین نحوه بیرون رفتن از ماشین مجازی را بیاموزید Exercise Find out how to go out from the Virtual Machine

  • پروژه لاراول را به روز نگه دارید Keep The Laravel Project Updated

  • مطمئن شوید که برخی از جزئیات مهم را درک کرده اید Get sure you understand some important details

پیکربندی و استفاده از Sublime Text 3 برای توسعه API RESTful با لاراول Configuring and Using Sublime Text 3 to Develop the RESTful API with Laravel

  • نصب Package Control Installing the Package Control

  • ایجاد و استفاده از پروژه ها Creating and Using Projects

  • نصب و استفاده از SublimeCodeIntel برای حل کلاس های Laravel و RESTful API Installing and Using SublimeCodeIntel to Resolve Laravel and RESTful API classes

  • نصب و استفاده از SideBarEnhancement Installing and Using SideBarEnhancement

  • نصب و استفاده از SublimeLinter برای PHP Installing and Using SublimeLinter for PHP

  • نصب و استفاده از PHPCompanion برای وارد کردن خودکار تعاریف لاراول Installing and Using PHPCompanion to Auto-import Laravel Definitions

درک مطالعه موردی برای RESTful API Understanding the Case Study for the RESTful API

  • آشنایی با منابع (مدل ها) RESTful API و روابط آن Understanding the RESTful API Resources (Models) and its Relationships

  • درک نقاط پایانی اصلی برای RESTful API Understanding the Main End-Points for the RESTful API

کشف و پیکربندی ساختار لاراول برای RESTful API Discovering and Configuring the Laravel Structure for the RESTful API

  • کشف ساختار لاراول Discovering the Laravel Structure

  • کشف دستورات Laravel PHP Artisan Discovering the Laravel PHP Artisan Commands

  • پیکربندی متغیرهای محیطی لاراول Configuring the Laravel Environment Variables

  • آشنایی با سیستم مسیرهای لاراول برای API های RESTful Understanding the Laravel Routes System for RESTful APIs

ایجاد اجزای اولیه لاراول برای RESTful API Creating the Initial Laravel Components for the RESTful API

  • چگونه خطاهای رایج در طول توسعه API RESTful را حل کنیم How to Solve Common Errors During the Development of the RESTful API

  • ایجاد ساختارهای اولیه لاراول برای مدل ها و مهاجرت های آن Creating Initial Laravel Structures for The Models and Its Migrations

  • ایجاد یک ساختار اولیه لاراول برای کنترلرها Creating an Initial Laravel Structure for The Controllers

  • ایجاد نقطه پایانی برای RESTful API با استفاده از مسیرهای منبع لاراول Creating Some End-Point for the RESTful API Using Laravel Resource Routes

پیاده سازی مدل های API RESTful و روابط آن با استفاده از Laravel Eloquent Implementing the RESTful API Models and its Relationships using Laravel Eloquent

  • پیاده سازی خواص برای دسته Implementing The Properties for Category

  • پیاده سازی خواص برای محصول Implementing The Properties for Product

  • پیاده سازی خواص برای معامله Implementing The Properties for Transaction

  • پیاده سازی ویژگی ها برای کاربر Implementing The Properties for User

  • پیاده سازی روابط بین مدل ها Implementing The Relationships Between Models

ایجاد ساختار پایگاه داده با استفاده از Migrations از لاراول Creating the Database Structure Using Migrations from Laravel

  • حل یک مشکل مشترک با مهاجرت های لاراول Solving a Common Issue with the Laravel Migrations

  • پیاده سازی مهاجرت برای کاربران Implementing The Migration for Users

  • پیاده سازی مهاجرت برای دسته ها Implementing The Migration for Categories

  • پیاده سازی مهاجرت برای محصولات Implementing The Migration for Products

  • اجرای مهاجرت برای معاملات Implementing The Migration for Transactions

  • ایجاد مهاجرت برای جدول محوری Creating the Migration for The Pivot Table

ایجاد کارخانه های لاراول برای کاشت پایگاه داده Creating the Laravel Factories for Database Seeding

  • ایجاد کارخانه لاراول برای کاربر Creating The Laravel Factory for User

  • ایجاد کارخانه برای دسته Creating The Factory for Category

  • ایجاد کارخانه برای محصول Creating The Factory for Product

  • ایجاد کارخانه برای تراکنش Creating The Factory for Transaction

  • استفاده از Factories از DatabaseSeeder لاراول Using The Factories from The DatabaseSeeder of Laravel

  • اجرای The Migrations و Seeder با استفاده از Artisan از لاراول Executing The Migrations and Seeder using Artisan from Laravel

پیاده سازی عملیات برای UserController Implementing the Operations for UserController

  • پیاده سازی روش Index برای UserController Implementing The Index Method for UserController

  • پیاده سازی روش نمایش برای UserController Implementing The Show Method for UserController

  • پیاده سازی روش Store برای UserController Implementing The Store Method for UserController

  • پیاده سازی روش به روز رسانی برای UserController Implementing The Update Method for UserController

  • پیاده سازی روش تخریب برای UserController Implementing The Destroy Method for UserController

اجرای عملیات برای خریدار Implementing the operations for Buyer

  • پیاده سازی روش Index برای BuyerController Implementing The Index Method for BuyerController

  • پیاده سازی روش نمایش برای BuyerController Implementing The Show Method for BuyerController

اجرای عملیات برای فروشنده Implementing the operations for Seller

  • پیاده سازی روش Index برای SellerController Implementing The Index Method for SellerController

  • پیاده سازی روش نمایش برای SellerController Implementing The Show Method for SellerController

بهبود عملیات RESTful API فعلی Improving the current RESTful API operations

  • تعریف جهش‌دهنده‌ها و اکسسوری‌ها برای مدل‌ها Defining Mutators and Accessor for Models

  • تعمیم روش های پاسخ Generalizing The Response Methods

  • استفاده از روش های تعمیم یافته Using The Generalized Methods

  • استفاده از روش های تعمیم یافته برای پاسخ به خطا Using The Generalized Methods for Error Responses

مدیریت خطاها و استثناها با Handler لاراول Handling Errors and Exceptions with the Laravel Handler

  • بازگرداندن خطاهای اعتبارسنجی به عنوان پاسخ JSON Returning Validation Errors as a JSON Response

  • برگرداندن خطاهای مدل یافت نشد به عنوان پاسخ JSON Returning Model Not Found Errors as a JSON Response

  • مدیریت AuthenticationException Handling AuthenticationException

  • رسیدگی به Exception Authorization Handling AuthorizationException

  • مدیریت NotFoundHttpException Handling NotFoundHttpException

  • Handling MethodNotAllowedHttpException Handling MethodNotAllowedHttpException

  • مدیریت عمومی HttpException Handling General HttpException

  • گرفتن استثناها هنگام حذف منابع مرتبط Catching Exceptions When Removing Related Resources

  • رسیدگی به استثناهای غیرمنتظره Handling Unexpected Exceptions

اتصال مدل ضمنی با مسیرها و روش ها Implicit Model Binding with Routes and Methods

  • استفاده از اتصال مدل ضمنی لاراول برای برخی از روش ها Using The Laravel Implicit Model Binding for Some Methods

  • حل و فصل خریدار با استفاده از گستره جهانی لاراول Resolving Buyer Using Laravel Global Scopes

  • حل و فصل فروشنده با استفاده از گستره جهانی لاراول Resolving Seller Using Laravel Global Scopes

اجرای حذف نرم برای همه مدل ها Implementing Soft Deleting for All the Models

  • اصلاح مهاجرت ها برای حذف نرم Modifying the Migrations for Soft Deleting

  • استفاده از حذف نرم برای همه مدل ها Using soft Deleting for All the Models

اجرای عملیات برای دسته Implementing the Operations for Category

  • پیاده سازی روش Index برای CategoryController Implementing the Index Method for CategoryController

  • پیاده سازی روش نمایش برای CategoryController Implementing the Show Method for CategoryController

  • پیاده سازی روش Store برای CategoryController Implementing the Store Method for CategoryController

  • پیاده سازی روش به روز رسانی برای CategoryController Implementing the Update Method for CategoryController

  • پیاده سازی روش Destroy برای CategoryController Implementing the Destroy Method for CategoryController

اجرای عملیات برای محصول Implementing the Operations for Product

  • پیاده سازی روش Index برای ProductController Implementing the Index Method for ProductController

  • پیاده سازی روش نمایش برای ProductController Implementing the Show Method for ProductController

[تمرینات] اجرای عملیات برای معامله [Exercises] Implementing the Operations for Transaction

  • پیاده سازی روش Index برای TransactionController Implementing the Index Method for TransactionController

  • پیاده سازی روش نمایش برای TransactionController Implementing the Show Method for TransactionController

اجرای عملیات پیچیده در تراکنش Implementing Complex Operations within Transaction

  • پیاده سازی روش Index برای TransactionCategoryController Implementing the Index Method for TransactionCategoryController

  • پیاده سازی روش Index برای TransactionSellerController Implementing the Index Method for TransactionSellerController

اجرای عملیات پیچیده برای خریدار Implementing Complex Operations for Buyer

  • پیاده سازی روش Index برای BuyerTransactionController Implementing the Index Method for BuyerTransactionController

  • پیاده سازی روش Index برای BuyerProductController Implementing the Index Method for BuyerProductController

  • پیاده سازی روش Index برای BuyerSellerController Implementing the Index Method for BuyerSellerController

  • پیاده سازی روش Index برای BuyerCategoryController Implementing the Index Method for BuyerCategoryController

اجرای عملیات پیچیده برای دسته Implementing Complex Operations for Category

  • پیاده سازی روش Index برای CategoryProductController Implementing the Index Method for CategoryProductController

  • پیاده سازی روش Index برای CategorySellerController Implementing the Index Method for CategorySellerController

  • پیاده سازی روش Index برای CategoryTransactionController Implementing the Index Method for CategoryTransactionController

  • پیاده سازی روش Index برای CategoryBuyerController Implementing the Index Method for CategoryBuyerController

  • حذف Pivot Table از نتایج Removing the Pivot Table from the Results

اجرای عملیات پیچیده برای فروشنده Implementing Complex Operations for Seller

  • پیاده سازی روش Index برای SellerTransactionController Implementing the Index Method for SellerTransactionController

  • پیاده سازی روش Index برای SellerCategoryController Implementing the Index Method for SellerCategoryController

  • پیاده سازی روش Index برای SellerBuyerController Implementing the Index Method for SellerBuyerController

  • پیاده سازی روش Index برای SellerProductController Implementing the Index Method for SellerProductController

  • پیاده سازی روش Store برای SellerProductController Implementing the Store Method for SellerProductController

  • پیاده سازی روش به روز رسانی برای SellerProductController Implementing the Update Method for SellerProductController

  • پیاده سازی روش تخریب برای SellerProductController Implementing the Destroy Method for SellerProductController

اجرای عملیات پیچیده برای محصول Implementing Complex Operations for Product

  • [چالش] پیاده‌سازی عملیات شاخص در معامله محصول [Challenge] Implementing the Index Operation of ProductTransaction

  • [چالش] پیاده سازی عملیات شاخص محصول خریدار [Challenge] Implementing the Index Operation of ProductBuyer

  • [چالش] پیاده سازی عملیات شاخص دسته بندی محصولات [Challenge] Implementing the Index Operation of ProductCategory

  • اجرای عملیات به روز رسانی Product Category Implementing the Update Operation of ProductCategory

  • اجرای عملیات تخریب دسته بندی محصولات Implementing the Destroy Operation of ProductCategory

  • پیاده سازی عملیات فروشگاهی برای معامله خریدار محصول Implementing the Store Operation for ProductBuyerTransaction

  • مدیریت در دسترس بودن محصولات با استفاده از رویدادها Handling the Products Availability Using Events

افزودن تصویر برای محصولات Adding an Image for Products

  • آماده سازی API برای آپلود تصاویر Preparing the API for Images Uploading

  • ذخیره یک تصویر هنگام ایجاد یک محصول Storing an Image When Creating a Product

  • حذف تصویر هنگام حذف محصول Removing the Image When Deleting a Product

  • به روز رسانی تصویر هنگام ویرایش یک محصول Updating the Image When Editing a product

ارسال ایمیل برای تایید حساب های کاربران Sending Email for Users Accounts Verification

  • آماده سازی پروژه لاراول برای ارسال ایمیل Preparing the Laravel Project for Email Sending

  • پیاده سازی سیستم تایید Implementing the Verification System

  • ایجاد لاراول Mailable برای کاربر ایجاد شده Creating the Laravel Mailable for User Created

  • پیاده سازی UserCreated Mailable Implementing the UserCreated Mailable

  • ارسال ایمیل تأیید با استفاده از رویدادها Send Verification Email Using Events

  • حل مشکل با کارخانه ها Solving the Problem with Factories

  • ایجاد Mailable برای ایمیل کاربر تغییر کرد Creating the Mailable for User Mail Changed

  • پیاده سازی UserMailChanged Mailable Implementing the UserMailChanged Mailable

  • ارسال تأییدیه برای ایمیل تغییر یافته با استفاده از رویدادها Send Verification for Email Changed Using Events

  • ارسال مجدد ایمیل تایید در صورت درخواست Re-sending the Verification Email If Requested

  • مقابله با اقدامات مستعد شکست Dealing with Failing-Prone Actions

  • استفاده از Laravel Markdown Mailables Using Laravel Markdown Mailables

میان افزار و محدودیت نرخ The Middleware and the Rate Limiting

  • درباره Middleware و نحوه عملکرد آن در لاراول About the Middleware and How it Works in Laravel

  • ایجاد یک میان افزار سفارشی Creating a Custom Middleware

  • درباره محدودیت نرخ در لاراول و جزئیات About the Rate Limiting in Laravel and the Details

  • [اختیاری] سفارشی کردن پاسخ برای "تلاش های بسیار زیاد" [Optional] Customizing the Response for “Too Many Attempts”

تبدیل پاسخ ها با PHP Fractal برای امنیت و سازگاری Transforming Responses with PHP Fractal for Security and Compatibility

  • درباره ترانسفورماتورها و چرایی استفاده از آن About Transformers and Why to Use It

  • آماده سازی پروژه لاراول برای تبدیل داده ها Preparing the Laravel Project for Data Transforming

  • ایجاد ترانسفورماتور برای کاربر Creating the Transformer for User

  • ایجاد ترانسفورماتور برای فروشنده و خریدار Creating the Transformer for Seller and Buyer

  • ایجاد ترانسفورماتور برای دسته Creating the Transformer for Category

  • ایجاد ترانسفورماتور برای تراکنش Creating the Transformer for Transaction

  • ایجاد ترانسفورماتور برای محصول Creating the Transformer for Product

  • پیوند دادن مدل ها با ترانسفورماتور مربوطه Linking the Models with its Respective Transformer

  • بازگرداندن پاسخ های تغییر یافته جدید Returning the New Transformed Responses

مرتب سازی و فیلتر کردن نتایج بر اساس پارامترهای پرس و جو Sorting and Filtering Results Based on Query Parameters

  • مرتب سازی نتایج بر اساس هر ویژگی Sorting Results by Any Attribute

  • درک یک مشکل با پاسخ های مرتب شده Understanding an Issue with Sorted Responses

  • بهبود تحولات برای حل مشکل Improving the Transformations to Solve the Problem

  • پیاده سازی راه حل با استفاده از ترانسفورماتور Implementing the Solution Using Transformers

  • فیلتر کردن پاسخ ها بر اساس ویژگی ها Filtering Responses Based on Attributes

صفحه بندی نتایج Pagination of Results

  • درباره صفحه بندی About Pagination

  • صفحه بندی مجموعه های از قبل ساخته شده Paginating Already Built Collections

  • اجازه دادن به اندازه صفحه سفارشی Allowing Custom Page Size

کش کردن نتایج با سیستم کش لاراول Caching Results with Laravel Cache System

  • پیاده سازی سیستم کش Implementing the Cache System

  • سیستم ذخیره سازی و پارامترهای پرس و جو The Caching System and the Query Parameters

پیاده سازی کنترل هایپر مدیا HATEOAS Implementing HATEOAS Hypermedia Controls

  • چیست و چرا باید از HATEOAS استفاده کرد What is and Why to Use HATEOAS

  • پیاده‌سازی کنترل‌های Hypermedia HATEOAS برای نمونه‌های دسته‌بندی Implementing HATEOAS Hypermedia Controls for Category Instances

  • پیاده‌سازی کنترل‌های Hypermedia HATEOAS برای نمونه‌های محصول Implementing HATEOAS Hypermedia Controls for Product Instances

  • پیاده سازی HATEOAS برای نمونه های تراکنش Implementing HATEOAS for Transaction Instances

  • پیاده سازی HATEOAS برای نمونه های کاربر Implementing HATEOAS for User Instances

  • [تمرین] پیاده سازی HATEOAS برای خریدار [Exercise] Implementing HATEOAS for Buyer

  • [تمرین] پیاده سازی HATEOAS برای فروشنده [Exercise] Implementing HATEOAS for Seller

تحولات و اعتباربخشی ها The Transformations and the Validations

  • درک دو مسئله با تبدیل و اعتبارسنجی Understanding Two Problems with Transformations and Validations

  • ایجاد و استفاده از میان افزار برای حل مشکل Creating and Using a Middleware to Solve the Problem

  • حل اولین مشکل با استفاده از میان افزار Solving the First Problem Using the Middleware

  • بهبود تحولات برای حل مسئله دوم Improving the Transformations to Solve the Second Problem

  • بهبود میان افزار برای حل مشکل دوم Improving the Middleware to Solve the Second Problem

آماده سازی API برای احراز هویت کاربر با استفاده از Sessions Preparing the API for User Authentication Using Sessions

  • چرا برای API ما مورد نیاز است Why is It Required for Our API

  • لاراول 6: قبل از ادامه... Laravel 6: Before to continue...

  • ایجاد ساختار احراز هویت اضافی Creating the Additional Authentication Structure

  • تنظیم برخی از ساختارها برای جلوگیری از ناهماهنگی Tuning Some Structures to Avoid Inconsistences

  • درباره CSRF و مدیریت استثناهای CSRF در لاراول About CSRF and Handling CSRF Exceptions in Laravel

  • برگرداندن HTML و تغییر مسیرها در صورت نیاز Returning HTML and Redirections When Required

استفاده از لاراول پاسپورت برای پیاده سازی لایه امنیتی اولیه با OAuth2 Using Laravel Passport to Implement the Initial Security Layer with OAuth2

  • درباره OAuth2 و امنیت در APIها About OAuth2 and Security on APIs

  • لاراول پاسپورت چیست؟ What is Laravel Passport

  • آماده سازی پروژه لاراول برای استفاده از پاسپورت لاراول Preparing the Laravel Project to Use Laravel Passport

  • با استفاده از مهاجرت های لاراول پاسپورت Using the Migrations of Laravel Passport

  • نصب لاراول پاسپورت به طور قطعی بر روی API Installing Laravel Passport Definitively on the API

  • احراز هویت کاربران از طریق توکن های API Making Users Authenticatable Through API Tokens

  • ثبت مسیرهای مورد نیاز Registering the Required Routes

  • پیکربندی سیستم احراز هویت Configuring the Authentication System

  • تعریف زمان انقضا برای توکن ها Defining the Expiration Time for the Tokens

  • استفاده از client_credentials Grant برای محافظت از برخی مسیرها Using client_credentials Grant to Protect Some Routes

  • نحوه دریافت و استفاده از توکن ها با استفاده از اعتبار مشتری How to Obtain and Use Tokens Using Client Credentials

  • حفاظت از تمام مسیرها Protecting All the Routes

  • با استفاده از Password Grant Type Using the Password Grant Type

  • آماده سازی API برای استفاده از اجزای پاسپورت Preparing the API to Use the Passport Components

  • ایجاد نماها برای مدیریت توکن های شخصی Creating the Views to Manage the Personal Tokens

  • درباره توکن های شخصی و نحوه استفاده از آن About the Personal Tokens and How to Use It

  • اجازه دادن به مدیریت مشتریان API Allowing the Management of API Clients

  • درباره نوع اعطای کد مجوز About the Authorization Code Grant Type

  • با استفاده از نوع اعطای ضمنی Using the Implicit Grant Type

  • نشانه های تازه کردن Refreshing Tokens

محدود کردن مشتریان OAuth2 با استفاده از Scopes Restricting OAuth2 Clients Using Scopes

  • Scope ها در OAuth2 چیست؟ What are Scopes on OAuth2?

  • ثبت برخی از محدوده های مورد نیاز برای API Registering Some Required Scopes for the API

  • ثبت میان افزار Laravel Passport برای بررسی محدوده Registering the Laravel Passport Middleware to Check Scopes

  • محدود کردن اقدامی که به محدوده «خرید محصول» نیاز دارد Restricting the Action that Needs the “purchase-product” Scope

  • محدود کردن اقداماتی که به محدوده «مدیریت محصولات» نیاز دارند Restricting the Actions that Need the “manage-products” Scope

  • محدود کردن اقداماتی که به دامنه «مدیریت حساب» نیاز دارند Restricting the Actions that Need the “manage-account” Scope

  • محدود کردن اقداماتی که به محدوده «خواندن عمومی» نیاز دارند Restricting the Actions that Need the “read-general” Scope

پیاده سازی لایه امنیتی نهایی با استفاده از سیاست ها و گیت های لاراول Implementing the Final Security Layer Using Policies and Gates of Laravel

  • درباره لایه امنیتی نهایی About the Final Security Layer

  • سیاست ها و گیت ها در لاراول چیست؟ What are Policies and Gates on Laravel?

  • اجرای محدودیت های خریدار Implementing the Restrictions Over Buyer

  • اجرای محدودیت های فروشنده Implementing the Restrictions Over Seller

  • محدودیت های کاربر The Restrictions over User

  • اجرای محدودیت های معامله Implementing the Restrictions Over Transaction

  • اجرای محدودیت های محصول Implementing the Restrictions Over Product

  • اجازه دادن به همه اقدامات برای کاربران مدیر Allowing All Actions for Admin Users

  • اجازه دادن به اقدامات باقیمانده فقط کاربران سرپرست می توانند انجام دهند Allowing Remaining Actions ONLY Admin Users Can Do

CORS برای لاراول CORS for Laravel

  • درباره CORS About CORS

  • نصب پکیج CORS برای لاراول Installing the CORS Package for Laravel

  • پیکربندی بسته CORS Configuring the CORS Package

  • مجاز کردن CORS فقط برای API Allowing CORS Only for the API

  • اجازه دادن به CORS در پاسخ به خطا نیز Allowing CORS on Error Responses Too

اضافات و اصلاحات برای Laravel RESTful API Additions and Fixes for the Laravel RESTful API

  • شناسایی یک کاربر احراز هویت شده در RESTful API Identifying an Authenticated User in the RESTful API

[اختیاری] ارتقاء به لاراول 5.5 [Optional] Upgrading to Laravel 5.5

  • درباره فرآیند ارتقا به لاراول 5.5 About the Upgrading Process to Laravel 5.5

  • ارتقاء به لاراول 5.5 همراه با وابستگی ها Upgrading to Laravel 5.5 Along With Dependencies

  • ارتقاء کد منبع طبق لاراول 5.5 Upgrading the Source Code According to Laravel 5.5

[اختیاری] ارتقاء به لاراول 5.6 [Optional] Upgrading to Laravel 5.6

  • آماده سازی محیط برای ارتقاء Preparing the Environment to Upgrade

  • به دست آوردن لاراول 5.6 Obtaining Laravel 5.6

  • نصب وابستگی های به روز شده Installing Updated Dependencies

  • حل مسائل و به روز رسانی ساختار پروژه Solving Issues and Updating the Project Structure

[اختیاری] ارتقاء به لاراول 5.7 [Optional] Upgrading to Laravel 5.7

  • آماده سازی محیط توسعه برای ارتقا Preparing the development environment to upgrade

  • نصب Laravel 5.7 یک وابستگی در حال ارتقا برای RESTful API Installing Laravel 5.7 an upgrading dependencies for the RESTful API

  • ارتقاء اجزاء و ساختارها Upgrading the components and structures

[اختیاری] ارتقاء به لاراول 6 [Optional] Upgrading to Laravel 6

  • ارتقاء محیط توسعه Upgrading the development environment

  • به دست آوردن لاراول 6 و ارتقاء وابستگی ها Obtaining Laravel 6 and upgrading the dependencies

  • حل مشکلات استفاده از لاراول 6 Resolving the issues to use Laravel 6

نتیجه Conclusion

  • فهرست موضوعات معلق List of Pending Topics

  • با تشکر از حضور در اینجا! Thanks for Be Here!

نمایش نظرات

نظری ارسال نشده است.

آموزش RESTful API با لاراول: یک API واقعی با لاراول بسازید
خرید اشتراک و دانلود خرید تکی و دانلود | 160,000 تومان (5 روز مهلت دانلود) زمان تقریبی آماده سازی لینک دانلود این دوره آموزشی حدود 5 تا 24 ساعت می باشد.
جزییات دوره
14.5 hours
227
Udemy (یودمی) udemy-small
29 آبان 1401 (آخرین آپدیت رو دریافت می‌کنید، حتی اگر این تاریخ بروز نباشد.)
7,362
4.5 از 5
دارد
دارد
دارد

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

JuanD MeGon JuanD MeGon

مدرس آنلاین | مهندس ارشد نرم افزار

ProgramarYa By JuanDMeGon ProgramarYa By JuanDMeGon

تجربه یادگیری الکترونیکی شما

Udemy (یودمی)

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

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