آشنایی با فریمورک برنامه نویسی وب Laravel
فریم ورک لاراول چیست و چرا باید از فریم ورک Laravel استفاده کنیم ؟
زبان برنامه نویسی PHP یکی از برترین و محبوبترین زبانهای برنامه نویسی در حوزه طراحی وب است. این زبان برنامه نویسی Framework های بسیار زیادی دارد که لاراول یکی از آنها است. عاملی که فریم ورک لاراول را از سایر فریم ورکهای زبان PHP متمایز میسازد، ویژگیهای زیادی است که در ادامهی مقالهی فریم ورک لاراول چیست، بهطور کامل به توضیح هر کدام از آنها میپردازبم.
در حال حاضر اکثر شرکتهای ایرانی و حتی خارجی برای نیروی برنامه نویس به دنبال استخدام برنامه نویس لاراول هستند. پس اگر میخواهید بدانید علت محبوبیت و موفقیت فریم ورک لاراول چیست و چرا باید آن را انتخاب کنید، در ادامه این مقاله، با معرفی لاراول و مزایای آن نسبت به بقیه فریم ورکها، با ما همراه باشید.
Framework یا فریم ورک چیست؟
شاید ابتدا برای شما این سوال پیش بیاید که فریم ورک چیست؟ فریم ورک یا Framework در لغت به معنی چارچوب است.
فریم ورک برنامه نویسی مجموعه ای از کتابخانهها، استانداردها، دیزاین پترنها و قوانین کدنویسی است که در بستر یک چارچوب نرم افزاری در اختیار توسعه دهندگان و برنامه نویسان قرار میگیرد. برای انواع زبانهای برنامه نویسی مختلف، فریم ورکهای متعددی توسعه داده شده است.
هر یک از این فریم ورکها برای هدفی خاص ایجاد شدهاند، برای مثال فریم ورکهای CodeIgniter ,Symfony ,Zend ,Phalcon CakePHP و Yii که جزو برترین فریم ورکهای زبان PHP بعد Laravel میباشند.
بنابراین برنامه نویسان و توسعه دهندگان از فریم ورکها بهعنوان بستری استاندارد برای طراحی و توسعه اپلیکیشنهای خود استفاده میکنند. در فریم ورکها بسیاری از کدها و دستورات بهصورت از پیش نوشته شده مورد استفاده قرار میگیرند. این توابع و دستورات توسط توسعه دهندگانی با تجربه و متخصص آماده شده اند و برنامه نویسان با استفاده از آنها میتوانند اپلیکیشنهای خود را با سرعت، امنیت و کیفیت بالاتری توسعه دهند.
فریم ورک لاراول چیست؟
زمانی که در مورد فریم ورکهای توسعه وب اپلیکیشن صحبت میشود، همیشه نام لاراول به میان میآید. از لاراول میتوان به عنوان محبوبترین فریم ورک زبان برنامه نویسی PHP یاد کرد. این فریم ورک توانسته است در زمانی کوتاه، به اولین گزینهی توسعه دهندگان برای توسعه برنامههای پیچیده تحت وب تبدیل شود.
لاراول فریم ورکی مبتنی بر معماری MVC است که به صورت رایگان و متن باز ارائه شده است. این فریم ورک امکانات هوشمندی در اختیار برنامه نویسان قرار میدهد و برنامه نویسی را برای آنها لذت بخشتر میکند.
قبل از یادگیری لاراول بهتر است تا حدودی به زبان PHP مسلط باشید. بهاین منظور میتوانید آموزش PHP را دنبال کنید تا در کنار لاراول، یک برنامه نویس PHP هم باشید.
تاریخچه فریم ورک لاراول چیست ؟
حال که فهمیدیم فریم ورک لاراول چیست، در این بخش قصد داریم تاریخچه آن را مورد بررسی قرار دهیم. تیلور اوتوِل (Taylor Otwell) خالق فریم ورک Laravel است. او با هدف ارائه یک راه حل پیشرفتهتر نسبت به فریم ورک CodeIgniter، لاراول را برای توسعه وب اپلیکیشنها ارائه کرد.
فریم ورک laravel – نسخه ۱
اولین نسخه این فریم ورک در سال ۲۰۱۱ در اختیار توسعه دهندگان قرار گرفت. سپس یک ماه بعد، نسخه کامل شده و پایدار لاراول منتشر گردید. نسخه لاراول ۱ شامل مکانسیمهای Model ،View ،Session و Navigation بود ولی نبود Controller در آن باعث شد تا این فریم ورک از معماری MVC به صورت واقعی پشتیبانی نکند.
فریم ورک laravel – نسخه ۲
لاراول ۲ در همان سال ۲۰۱۱ همراه با بهینه سازیهای متعددی منتشر شد. اصلیترین ویژگی که در این نسخه افزوده شد، پشتیبانی از Controllerها بود. Laravel با ارائه این نسخه توانست به صورت کامل از معماری MVC پشتیبانی کند و به عنوان یک فریم ورک شناخته شود. دومین ویژگی که در این نسخه اضافه شد، موتور رندر قالب blade بود. این موتور رندر با هدف افزایش سرعت توسعه قالبها و کاهش میزان کدنویسی ارائه شد.
فریم ورک laravel – نسخه ۳
سومین نسخه از Laravel در سال ۲۰۱۲ منتشر شد. از ویژگیهای مهمی که به این فریم ورک اضافه شده بود، استفاده از خط فرمان CLI بود که با نام artisan شناخته میشد. artisan امکانات بسیاری زیادی در اختیار توسعه دهندگان قرار میدهد. پشتیبانی داخلی از مدیریت سیستم پایگاه داده و ابزارهای کنترلی آن به نام migration ها، پشتیانی از سیستم Packaging و اضافه شدن مستندات بسیار غنی در قالب سایت laravel.com بخشی از ویژگی هایی بود که در این نسخه از Laravel ارائه شده بودند. سومین نسخه از این فریم ورک، توانست محبوبیت زیادی را در بین کاربران ایجاد کند.
فریم ورک laravel – نسخه ۴
پس از موفقیت هایی که این فریم ورک در نسخه سوم به دست آورد، در سال ۲۰۱۳ چهارمین نسخه آن بر پایه کدهای Illuminate منتشر شد. این نسخه از لاراول به صورت کامل مورد بازنویسی قرار گرفت و با پشتیبانی از سیستم Composer گام بلندی در جهت پیشرفت و سبقت از سایر رقیبان خود برداشت. به دلیل استفاده از این ویژگی امکان استفاده از پکیجها و کتابخانههای زیادی که توسط سایر برنامه نویسان PHP توسعه داده شده بود، برای کاربران امکان پذیر شد. همچنین امکاناتی مانند ارسال ایمیل به روشهای مختلف و پشتیبانی از حذف شدن با تأخیر رکوردهای بانک اطلاعاتی (Soft Deletion) از دیگر امکانات نسخه ۴ لاراول بود.
فریم ورک laravel – نسخه ۵
در سال ۲۰۱۵ پس از دو سال از ارائه چهارمین نسخه از این فریم ورک، نسخه ۵ لاراول منتشر شد. این نسخه از لاراول از ویژگیهای بسیار متعددی پشتیبانی میکرد. پشتیبانی از سیستم برنامه ریزی اجرای وظایف با استفاده از پکیج Scheduler، بهینه سازی assets، ساده شدن عملیات احراز هویت، همچنین ارائه ساختار درختی برای توسعه اپلیکیشنها، بخشی از قابلیتهای اضافه شده در لاراول ۵ بود. این نسخه از Laravel به صورت مداوم مورد بروزرسانی قرار گرفت و در هر یک از این بروزرسانیها امکانات و ویژگیهای زیادی به این فریم ورک اضافه شد.
فریم ورک laravel – نسخه ۶
پس از مدتی لاراول نسخه ۶ خود را منتشر کرد، که در این نسخه بسیاری از نقصهای نسخه ۵ را برطرف کرد و ویژگیهای جدیدی که قطعا مورد انتظار طرفدارانش بود را فراهم ساخت، یکی از این ویژگیها، استفاده از Laravel Vapor بود که برای آشنایی بیشتر با این نسخه و Laravel Vapor میتوانید مقالهی لاراول ۶ را مشاهده نمایید.
فریم ورک laravel – نسخه ۷
آخرین نسخه حال حاضر Laravel، نسخه ۷ میباشد که نسبت به نسخه قبلی آن، تغییرات و بهبودهای چشمگیری پیدا کرده است که بهطور کامل درباره این نسخه در مقالهی آشنایی با امکانات و تغییرات و ویژگیهای لاراول ۷ توضیح داده شده است.
توسعه دهندگان این فریم ورک همواره در تلاش اند تا استفاده از این فریم ورک را برای کابران ساده و لذت بخشتر کنند. بنابراین آنها بیش از پیش به توسعه لاراول میپردازند تا سیر تکاملی و رو به پیشرفت آن را حفظ کنند. تا کنون بروزرسانیهای زیادی پس از نسخه ۷ لاراول ارائه شده است. در هر یک از این بروزرسانیها امکانات منحصر به فرد و کاربردی به این فریم ورک اضافه شده است. یکی از عوامل اصلی محبوبیت لاراول در میان کاربران، همین بروزرسانیهای مداوم است.
قابلیتها و مزایای فریم ورک لاراول چیست؟
فریم ورک Laravel مزایای بسیار زیادی دارد که با هر بروزرسانی شمار آنها افزایش مییابد. از Laravel تحت عنوان هایی مانند جادوگر دنیای وب هم یاد میشود. زیرا بسیاری بر این اعتقادند که کارهایی که این فریم ورک در فرآیند توسعه وب اپلیکیشن انجام میدهد، جادویی میباشند.
در لاراول با کمترین میزان کدنویسی و با وارد کردن دستوراتی کوتاه، کارهای بزرگی را میتوان انجام داد. از جمله میتوان به سیستم پیاده سازی فرمهای عضویت و ورود در Laravel اشاره کرد. این بخش در لاراول تنها با وارد کردن یک دستور پیاده سازی میشود. همچنین برای این که فریم ورک Laravel پاسخگوی نیازهای مختلف ما باشد، از Composer استفاده میکند که برای بروز رسانی لاراول نیز دقیقا از همین ابزار استفاده میشود. در ادامه به توضیح هر کدام از این مزایای Laravel میپردازیم.
تنها بعضی از مزایای لاراول :
- استفاده از معماری MVC
- متن باز (Open Source) بودن
- آسانی در یادگیری
- افزایش سرعت توسعه پروژه
- امنیت بالا
- بروز رسانی آسان
- آسانتر کردن اعمالی همچون احراز هویت (Authentication) ، مسیریابی (Routing) و Cache کردن
- استفاده از Remote Component
- افزایش چشمگیر سرعت کد نویسی
- توسعه برنامه بدون به خطر افتادن قابلیتها و کدهای قبلی برنامه
- محدود کردن Eloquent با استفاده از دستوراتی ساده
- قابلیت اجرای آزمایشهای متعدد مانند Unit Testing با استفاده از دستوراتی ساده
- قابلیت دسترسی آسان به Database توسط Migration ها
- خط فرمان فوق العاده Artisan
- قابلیت ایجاد Packageهای مختلف
- استفاده از خصوصیت auto-loading
- استفاده از ابزار ORM
- استفاده کردن از موتور Template Blade
افزایش سرعت توسعه پروژه یکی از مزایای فریمورک لاراول
بی دلیل نیست که فریم ورک لاراول در بین برنامه نویسان زبان PHP محبوبیت زیادی پیدا کرده است. یکی از مهمترین دلایلی که برنامه نویسان، فریم ورک لاراول را انتخاب میکنند، کمک به افزایش سرعت توسعه پروژهها است.
فریم ورک لاراول به صورت Component Base است. یعنی کاربران به راحتی میتوانند کامپوننتهای دلخواهشان را به اپلیکیشن اضافه کرده و به روند توسعه آن سرعت بخشند. همچنین در صورتی که از منطق اجرایی Laravel استفاده شود، نوشتن وب اپلیکیشن بسیار ساده خواهد شد.
همچنین استفاده از قابلیت Auto Loading باعث میشود تمام نیازمندیها برای Component ها، Classها و غیره به صورت اتوماتیک بارگذاری شود. ویژگی دیگر لاراول، استفاده از Migration ها برای ایجاد دیتابیس است که باعث سهولت انتقال و مدیریت اطلاعات میشود. لاراول دارای سیستمهای امنیتی متعددی است که باعث جلوگیری از انواع حملات، مدیریت ذخیره سازی کوئریهای دیتابیس و … میشود. اینها برخی از مهمترین مواردی هستند که در لاراول باعث کاهش مشکلات و افزایش سرعت توسعه اپلیکیشنها میشوند.
پشتیبانی از پایگاه دادههای مختلف در لاراول یکی از مزایای لاراول
در حال حاضر لاراول از پایگاههای داده MySQL ،SQLServer ،PostgreSQL و SQLLite پشتیبانی میکند.
اعتبار سنجی با Validation در لاراول
گاهی نوشتن دستی همه کدهای اعتبارسنجی بسیار زمانبر و کسل کننده میشود. اما Laravel این مشکل را حل کرده است. لاراول دارای یک سیستم اعتبارسنجی قوی است. کافی است مشخص کنید هر فیلد از فرم باید از چه نظر اعتبار سنجی شود. یعنی قوانین اعتبار سنجی را مشخص کنید. بعد از آن همه اعتبارسنجیها بهصورت خودکار انجام میشود.
مزیت قابلیت Sync شدن با ایمیلها در لاراول
تصور برنامهای امروزی بدون قابلیت فرستادن یا دریافت Email ممکن نیست. لاراول با تمام سرویسهای دریافت و ارسال Email، به آسانی Sync میشود.
لاراول بهغیر از توابع SMTP و PHP mail، از بسیاری از سرویسهای ایمیل رسانی دیگر مانند Mailgun Mandrill ، SparkPost ، Amazon SES ، SendMail و غیره پشتیبانی میکند. همچنین میتوانید با استفاده از Email ،Nexmoها را از طریق Slack یا SMS ارسال کنید.
نصب و سفارشی سازی بسیار آسان laravel
قطعا برای کار کردن با یک فریم ورک، نحوهی نصب و سفارشیسازی آن در اولویت بالایی قرار ندارد و بسیاری از Framework ها نحوهی نصب دشوار اما کارایی و مزیتهای زیادی دارند. به همین علت گاهی اوقات این فکر به سرمان میآید که کاش نحوهی نصب فریم ورکی با مزیتهای بسیار زیاد حداقل کمی آسانتر بود. Laravel همان فریم ورکی است که در کنار مزیتهای فراوان، نحوهی نصب و سفارشی سازی فوقالعاده آسانی دارد.
جامعه کاربری بزرگ برنامه نویسان Laravel از مزایای لاراول
در طول این مقاله بارها گفتیم که لاراول محبوبترین فریمورک PHP است. اما این چگونه میتواند یک مزیت محسوب شود؟ باید بگوییم که محبوبیت بالا برای یک ابزار یعنی استفاده بیشتر از آن و استفاده بیشتر یعنی جامعه ای بزرگتر (Community) از کاربران که میتوانند به شما در حل مشکلاتتان با آن ابزار کمک کنند! هر مشکلی که در استفاده از لاراول داشته باشید فرقی نمیکند! با مطرح کردن آن در یکی از صدها وب سایت و انجمن لاراول میتوانید در عرض چند دقیقه به جوابتان برسید. یکی از معتبرترین وبسایتها و انجمنهای لاراول وبسایت Laracasts است.
کاهش حجم کد نویسی با کمک لاراول
در Laravel تمام کوئریهای شما میتوانند در Modelهای جداگانه ای ذخیره شوند که بعدها از آنها استفاده کنید.
این ویژگی فوق العاده باعث شده است که در برنامه نویسی سایت با استفاده از فریم ورک لاراول حجم بسیار زیادی از کدهای شما کاهش یابد و شما بتوانید بهتر و راحتتر با برنامهی خود تعامل داشته باشید و آن را اصلاح کنید.
احراز هویت یا Authentication در لاراول
فریم ورک لاراول دارای یک سیستم احراز هویت قدرتمند به همراه کدهای آمادهی پیکر بندی آن است. کافی است پس از نصب لاراول Authentication آن را فعال کرده و از سیستم ثبت نام (Sign Up) ،ورود (Sign In) و خروج (Log Out) آن لذت ببرید.
سیستم امنیتی بسیار بالا و پیشرفتهی لاراول
برای آن که مطمئن شویم کسی نمیتواند به وب سایت ما ریکوئستهای Fake بفرستد و از این طریق از آن سوء استفاده کند، لاراول از توکنهای CSRF استفاده میکند. چرا که در غیر این صورت هکرها میتوانند از طریق این ریکوئستهای Fake به وب سایت ما نفوذ کنند. به این گونه حملات CSRF یا Cross Site Request Forgery گفته میشود.
به همین دلیل در هر بار ارسال Request با Ajax در لاراول یک Token بهنام CSRF Token ایجاد شده و به همراه Request ارسال میشود و وقتی Request دریافت شود، لاراول Token موجود در Request را با Token ذخیره شده در Session کاربر مقایسه میکند. اگر این دو Token با هم برابر نباشند، Request نامعتبر (Invalid Request) محسوب میشود.
تنها وظیفهی شما در این فرآیند این است که در هنگام ایجاد فرمهای HTML یک فیلد حاوی CSRF Token را در آن قرار دهید. توجه داشته باشید که CSRF Token توسط خود لاراول تولید میشود و کافی است که از آن در کد استفاده کنید.
پس نتیجه میگیریم که یکی دیگر از مزیتهای مهم و بزرگ فریم ورک لاراول، همین سیستم امنیتی بسیار بالا و پیشرفته آن است که از وب سایت شما در مقابل injectionها و حملات XSS و CSRF محافظت میکند و کسی که در حال برنامه نویسی با استفاده از فریم ورک لاراول میباشد دیگر نیازی نیست که نگران این موارد باشد.
پشتیبانی از معماری MVC در laravel
دلیل دیگری که لاراول را به بهترین فریم ورک زبان PHP تبدیل کرده است، پشتیبانی از معماری MVC مانند فریم ورک Symfony است. معماری MVC یا Model ،View ،Controller در بهبود عملکرد برنامه نویسی فوقالعاده کمک میکند و باعث میشود برنامهی ما علاوه بر عملکرد بهتر، بسیار منظمتر باشد.
استفاده از Blade برای View در لاراول
در لاراول تمام Viewها در قالب Blade ساخته میشوند که این قالب باعث میشود بهراحتی کدهای HTML ،CSS ،PHP ،Laravel و … را همزمان استفاده کنیم.
خاصیت Unit testing فریم ورک لاراول چیست؟
مزیت دیگر استفاده از فریم ورک لاراول این است که با استفاده از خاصیت Unit Testing حجم بسیار بالایی از تستهای مختلف را در مدت زمان بسیار کوتاهی انجام دهید تا بتوانید خطاهای احتمالی که ممکن است برای برنامهی شما پیش آمده باشد را شناسایی کنید و در صدد حل کردن آنها برآیید.
ابزار ORM در فریم ورک لاراول چیست؟
یکی از بهترین ابزارهایی که در فریم ورک لاراول استفاده شده است و میتوان از آن به عنوان یکی از مهمترین مزیتهای استفاده از این فریم ورک یاد کرد این است که، این فریم ورک از ابزار ORM برای برقرار کردن پلی ارتباطی بین بانکهای اطلاعاتی (Database) و اجرای Query استفاده میکند، این ویژگی به شما امکانات بسیار زیادی که یکی از مهمترین آنها ایجاد برخی از محدودیتها بین اشیا ساخته شده توسط شما و جدول اطلاعاتی یا Database میباشد را میدهد. بهطور مثال فرض کنید یک جدول در Database بهنام Posts دارید و برای ارتباط با آن, یک Model بهنام Posts ایجاد کردهاید. حال اگر بخواهید تمام دادههای جدول Posts را بدون استفاده از ORM و Eloquent دریافت کنید، مجبورید یک Query بنویسید. اما با استفاده از Eloquent، تنها کافیست از دستور ()Posts::all استفاده کنید.
خاصیت auto-loading در فریم ورک لاراول چیست؟
یکی دیگر از مزیتهای استفاده از این فریم ورک، بهرهگیری از یکی از خاصیتهای داخلی لاراول به نام auto-loading برای classها میباشد که میتوانید با استفاده از این خاصیت تمامی classها و component های خود را به صورت خودکار در صورت نیاز لود کنید و از آنها استفاده کنید. این ویژگی یکی از برترین مزیتهای استفاده از فریم ورک لاراول میباشد. چرا که با این روش دیگر نیازی نیست که به صورت دستی کتابخانهها و فایلهای خود را include کنید.
ویژگی Migration در فریمورک laravel چیست؟
یکی از بزرگترین مزیتهای این فریم ورک، این است که از ویژگی Migration استفاده میکند. این ویژگی در واقع یک سیستم کنترل ورژن بانک اطلاعاتی یا Database میباشد که باعث میشود تا به راحتی با هاست خود در ارتباط باشید و بتوانید به راحتی با آن تعامل کنید.
همانطور که گفتیم، این ویژگی یکی از برترین مزیتهای استفاده از فریم ورک لاراول میباشد چرا که کار کردن با Database همواره دارای سختیهای بسیار زیادی بوده است و شما به وسیله این ویژگی میتوانید به راحتی با Database خود ارتباط برقرار کنید.
خط فرمان Artisan در فریم ورک لاراول چیست؟
فریم ورک لاراول دارای یک خط فرمان قدرمند است که با استفاده از آن میتوانید سرعت کدنویسی را به میزان قابل ملاحظه ای بالا ببرید. این خط فرمان آرتیسن (Artisan) نام دارد. آرتیسن میتواند به طور اتوماتیک برای شما Controller، Migration به همراه توابع اصلی، Model و… بسازد. همچنین Artisan میتواند یک سرور مجازی برای تست لاراول راه اندازی کند یا دیتابیسهای شما را با استفاده از Migration ها تغییر دهد.
کتابخانههای Object-Oriented یا شی گرای Laravel
همانطور که میدانید، Laravel بهترین فریم ورک زبان PHP است که تعداد بسیار زیادی کتابخانه یا Libraryهای Object-Oriented را دارا میباشد که این Libraryها در فریم ورکهای دیگر PHP وجود ندارند. یکی از این Libraryها که بهصورت پیشفرض بر روی لاراول نصب میباشد، Authentication Library است. این Library امکانات زیادی مانند چک کردن کاربران hash ،Online کردن رمز عبور و تمام فیلدهایی که میخواهیم، جلوگیری از حملات CSRF و امکانات پیشرفته دیگری را دارا میباشد.
Middleware در فریم ورک لاراول چیست؟
لاراول برای پردازش ریکوئستها از میان افزار یا Middleware استفاده میکند. میتوان گفت که Middleware پلی میان Request و برنامه است. تمام Requestها در لاراول مجبورند از این پل عبور کنند. مثلا لاراول برای تشخیص کاربرانی که احراز هویت نکرده اند از یک میدلور به نام Auth استفاده میکند. تمام صفحاتی که از میدلور Auth استفاده کنند، در صورت باز شدن توسط کاربران احراز هویت نشده به صفحه ورود یا لاگین منتقل میشوند. البته نمیتوان این ابزار را تنها یک ابزار امنیتی دانست. چرا که میتواند موارد کاربرد بسیاری داشته باشد. نمونههایی از این کاربردها عبارتند از:
- پیاده سازی سایتهای چند زبانه
- پیاده سازی حالت در دست تعمیر یا بهطور مثال میخواهیم صفحهای از سایت را تغییر دهم و فعلا میخواهیم آن صفحه یک متن هشدار که سایت در حال بروزرسانی است را برای کاربران نمایش دهد
- شناسایی ریکوئست هایی که از طرف رباتها میآیند و جلوگیری از حملات DDOS
- Log کردن و…
چرا لاراول به عنوان بهترین فریمورک PHP شناخته میشود؟
هر روزه برنامه نویسان بیشتری به فریم ورک Laravel علاقهمند میشوند و تعداد استفاده کنندگان این فریم ورک افزایش مییابد. با توجه به پیشرفت چشمگیر و روند رو به رشدی که این فریم ورک دارد، انتظار میرود آیندهی بسیار خوبی در انتظارش باشد. مزایا و خصوصیات بسیار خوب این فریم ورک و برتری هایی که نسبت به سایر فریم ورکها دارد، آن را به یک گزینهی بسیار خوب برای برنامه نویسان تبدیل کرده است. اگرچه استفاده از فریم ورکها کاملاً سلیقهای است و نمیتوان یکی از آنها را برتر و قویتر از دیگر فریم ورکها دانست، اما بدون شک فریم ورک لاراول در صدر محبوبترین و بهترین فریم ورکهای PHP خواهد بود. خوشحال میشویم نظرات و تجربیات خود را در رابطه با فریمورک Laravel با ما و سایر کاربران به اشتراک بگذارید.