akofaraji.ir

در این بخش قصد داریم با هم آموزش laravel ، که برگرفته از سایت خوب روکسو است را با هم پیش ببریم



Generic plalaravelolder image
ئاکو فرجی
15 مهر 1403

چرا لاراول؟

چرا فریم ‌ورک؟ به این موضوع تا به حال توجه کرده‌اید که چرا کامپوننت‌‌ها یا بسته‌های نصبی برخی از توسعه‌دهندگان PHP مفید می‌باشد؟ خب مشخصه که با این پکیج‌ها و بسته‌های نصبی نگهداری از سرویس‌ها و نحو‌ه‌ی کدنویسی ما بسیار ساده خواهد شد. چون شما به جای نوشتن توابع بدیهی فقط کافی‌ست از آنها استفاده کرده و نرم‌افزار خود را توسعه دهید. البته لازم به ذکر است که هر بسته نصبی یا کامپوننتی معتبر نیست. این پیشنهاد را از بنده داشته باشید که استفاده از کامپوننت‌ها تنها و تنها به حمایت‌کننده یا به اصطلاح Supporter آن کامپوننت و یا پکیج بستگی دارد. حال فرض کنید که شما نرم‌افزاری را بدون استفاده از فریم‌ورک‌ها ایجاد می‌کنید. از کجا شروع خواهید کرد؟ بسیار خب، احتمالا در ابتدا باید تمام درخواست‌های HTTP‌ را مسیردهی کنید سپس نیاز دارید که تمامی کتابخانه‌های Request (درخواست) و Response (پاسخ) را کدنویسی کرده و آنها را در دسترس قرار دهید. ساخت یک روتر (Router)، وای خدای من چقدر سخت! باید یک روتر برای نرم‌افزار خود بنوسید و تنظیمات آن را مطابق با کتابخانه‌ای که خودتان ایجاد کرده‌اید، تهیه کنید. حال این سوال برای شما پیش می‌آید که از چه سینتکس و ساختاری برای کتابخان...

ادامه مطلب
Generic plalaravelolder image
ئاکو فرجی
15 مهر 1403

نصب و راه‌اندازی لاراول با Homestead

۱) ملزومات سیستم   تمام امکاناتی که برای نصب لاراول مورد نیاز است در سیستم عامل ویندوز وجود دارد و با نصب Wamp‌ یا Xampp دسترسی به یک سرور داخلی امکان پذیر خواهد بود. اما تمام افراد و برنامه‌نویسان با ویندوز کار نمی‌کنند. بنابراین تمرکز این آموزش ارائه کدها و دستورها بر اساس ساختار سیستم عامل لینوکس و مکینتاش است. البته لازم به ذکر است که این دستورها و کدها در سیستم‌عامل ویندوز قابل اجرا هستند. حداقل امکاناتی که برای نصب لاراول مورد نیاز است: PHP نسخه 5.5.9 یا بالاتر افزونه‌ی OpenSSL PHP افزونه PDO PHP افزونه Mbstring PHP افزونه Tokenizer PHP   ۱-۱) Composer   جهت توسعه نرم‌افزار خود حتما و حتما به یک Composer عمومی (گلوبال) نیاز دارید. و اما کامپوزر چیست؟ کامپوزر ابزاری ست برای مدیریت بسته های نصبی که به زبان PHP نوشته شده اند. کامپوزرها در PHP مانند npm در Node یا Ruby Gem در زبان Ruby است. در واقع با کامپوزرها می توان بسته هایی مثل لاراول، Laravel Collective, Laravel Helper و… را در فایل پروژه خود نصب و مدیریت کرد. گاها برای تعریف کامپوزر از عبارت Dependency Manager (مدیریت وابستگی ها) استفاده می شود که به معنای مدیریت تمام کتابخانه ها و وابستگی های موجود در پروژه است. لازم به ذکر است یک مدیریت بس...

ادامه مطلب
Generic plalaravelolder image
ئاکو فرجی
15 مهر 1403

نصب و راه‌اندازی محیط لاراول با PHPStorm

  ۱) نصب لاراول با PHPStorm   برای اینکار ابتدا نرم افزار PHPStorm را از انتهای همین مقاله (بخش دانلودها) دریافت کنید. این نرم‌افزار کاملا چک شده و کرک مناسبی برای آن در نظر گرفته‌ایم. آخرین نسخه ارائه شده‌ی نرم‌افزار PHPStorm‌ در زمان انتشار این مقاله ۲۰۱۶ می‌باشد. جهت فعال سازی کرک مراحل زیر را طی کنید:   ۱-۱) نصب نرم‌افزار PHPStorm   ۱) ابتدا نرم‌افزار را روی سیستم خود نصب و اجرا کنید. پس از اجرای نرم افزار با صفحه‌ای مواجه خواهید شد که گزینه‌هایی برای انتخاب لایسنس نرم‌افزار در اختیار شما قرار می‌دهد. ۲) از بین گزینه‌های موجود گزینه‌ی Licence Server را مشابه تصویر زیر انتخاب کنید.     ۳) سپس فولدر Offline License Server باز کنید و متناسب با معماری کامپیوتر خود (32 یا 64 بیت) یکی از فایل‌های exe که در انتهای پوشه است را باز کنید تا صفحه زیر نمایان شود:     ۴) در نهایت روی گزینه‌ی Active کلیک کنید تا لایسنس نرم افزار شما فعال شود.   ۲-۱) نصب Xampp یا Wamp   دومین کاری که برای اجرای هر برنامه و کد PHP در سیستم لوکال باید انجام دهید، نصب یک نرم‌افزار برای شبیه‌سازی سرورهای واقعی بر روی سیستم داخلی (...

ادامه مطلب
Generic plalaravelolder image
ئاکو فرجی
15 مهر 1403

مسیریابی (Routing) در لاراول

  مقدمه بسیاری از توابع کاربردی در هر نرم‌افزار تحت وب که با فریم‌ورک نوشته می‌شود دریافت درخواست از کاربر و ارسال پاسخ است که معمولا توسط پروتکل‌های HTTP یا HTTPS صورت می‌پذیرد. این بدین معنی‌ست که طراحی مسیرهایی که کاربر وارد آن می‌شود و درخواستی برای سرور ارسال می‌کند بسیار مهم و از اصلی‌ترین و اولین مقدمه‌ی هر نرم‌افزار تحت وب است. بگونه‌ای که بدون مسیرها (Routes) نرم‌افزار شما هیچ قابلیتی نخواهد داشت. در ادامه به توضیح دقیق نحوه‌ی تعریف مسیرها و همچنین کنترل آنها توسط فریم‌ورک قدرتمند لاراول می‌پردازیم.   تعریف مسیر (Route)   در لاراول ۵.۴ مسیرها (Routes) در پوشه‌ی routes تعریف شده‌اند. البته در نسخه‌های قبلی این مسیر به صورت app/Http/routes.php بود. ساده‌ترین راه‌ برای تعریف یک مسیر انطباق یک URI‌ مانند “/” به یک Clouser‌ (بستار) است:   یک سوال: URI چیست؟   پاسخ: URI‌ به مجموعه‌ی URLها و URN ها گفته می‌شود. برای روشن‌تر شدن این موضوع یک مثال خیلی مشخص می‌زنیم:   تعریف URI:‌ هر آدرسی که منبع مشخصی نداشته باشد. (مثل آدرس درایو‌ها در ویندوز و …) به نمونه‌ی زیر ...

ادامه مطلب
Generic plalaravelolder image
ئاکو فرجی
15 مهر 1403

کنترلر‌ها در لاراول

  مقدمه کنترلر‌ها به عنوان یکی از اساسی‌ترین و مهم‌ترین بخش‌های یک وب سایت و یا اپلیکیشن به‌حساب می‌آیند. همانطور که در جریان هستید در الگو و معماری MVC، حرف سوم (C) معادل عبارت Controller است. کنترلرها به عنوان یک واسط بین کاربر، View و Model عمل می‌کنند و به عبارتی قلب تپنده‌ی یک اپلیکیشن می‌باشند. چنانچه با معماری MVC آشنایی ندارید، به شما توصیه می‌کنیم حتما مقاله‌ی زیر را مطالعه بفرمایید: آموزش الگوی MVC در زبان برنامه‌نویسی PHP   کنترلرها به صورت مستقیم با مسیرها (routes) در ارتباط هستند. معمولا از آنها برای ایجاد یک ساختار مشخص مانند CRUD استفاده می‌شود. در CRUD، یک کنترلر می‌تواند عملیات ساخت (Create)، خواندن (Read)، بروزرسانی (Update) و حذف کردن (Delete) را انجام دهد. مقاله‌ی زیر به صورت دقیق و با جزئیات به توضیح CRUD پرداخته است. به عزیزان توصیه می‌کنیم که این مقاله را مطالعه کرده و سپس به ادامه‌ی مبحث کنترلر بپردازند: معرفی متدهای CRUD   آرتیسَن Artisan   لازمه ورود به مبحث کنترلر‌ها آشنایی با ماهیت Artisan در لاراول است. آرتیسن یا Artisan به عنوان یک رابط خط فرمان یا Interface Command-line امکاناتی را در اختیار برنامه‌نویس و توسعه‌دهنده قر...

ادامه مطلب
Generic plalaravelolder image
ئاکو فرجی
15 مهر 1403

Viewها در لاراول

       پس از بررسی کنترلرها که به عنوان قلب تپنده‌ی هر وب سایت معرفی می‌شود، حال نوبت به ارائه‌ی دومین کلید اصلی هر وب سایت یعنی Viewها است. ویو به عنوان یک نمایشگر کاملا حرفه‌ای درنظر گرفته می‌شود که نیازهای کاربران به واسطه‌ی آن به سرور ارسال و پاسخ مرتبط دریافت می‌شود. در این بخش به توضیح دقیق View می پردازیم.     مقدمه   اجازه بدهید در ابتدا به مبحث routing بازگردیم. اگر به خاطر ندارید اصلا نگران نباشید. routing همان مسیردهی و ساخت مسیر برای وب اپلیکیشن شما بود که در پوشه‌ی routes قرار داشت. در واقع با استفاده از route ها متدهای HTTP را اجرا کرده و درخواست کاربران را به کنترلر ارسال و در نهایت پاسخی را که دریافت می‌کنیم در خروجی نمایش می‌دهیم. در این بخش می‌خواهم به نحوه‌ی نمایش پاسخ درخواست‌ها به کاربران، صحبت کنیم.   تعریف View برای کنترلر   همانطور که در فصل ۲-۲ توضیح دادیم، فایل‌های ویو در پوشه‌ی resources/view قرار دارند. بنابراین برای شروع کار یک فایل با عنوان دلخواه مثلا home.blade.php ایجاد می‌کنیم. سپس محتویات درون فایل را برابر کدهای زیر قرار دهید:   1 2 3 4 5 6 7 8 9 10 <html&...

ادامه مطلب
Generic plalaravelolder image
ئاکو فرجی
15 مهر 1403

طراحی قالب با Blade‌ در لاراول

  در فصل گذشته به یادگیری و آموزش مبحث کنترلرها به عنوان هسته‌ی مرکزی هر نرم‌افزار پرداختیم. کنترلر وظیفه‌ی ارتباط با ویو (View) و مدل را به عهده دارد. در این جلسه می‌خواهیم به آموزش مقدماتی تا پیشرفته‌ی طراحی قالب در لاراول بپردازیم.     مقدمه   اگر زبان برنامه‌نویسی PHP را با سایر زبان‌ها مقایسه کنید به این نتیجه می‌رسید که زبان PHP به طور کامل با زبان‌های طراحی قالب مانند HTML, CSS, JS در تعامل است. گاهی برای کدنویسی یک قالب وب سایت نیاز داریم که از توابع و یا دستورهای PHP‌ استفاده کنیم. بنابراین همواره باید تگ <? php?> را بکار برده و دستورهای PHP را درون آن اجرا کنیم. اما لاراول ابزاری را در اختیار برنامه‌نویسان قرار می‌دهد که به سادگی هرچه تمام تر بتوانند دستورهای PHP را بدون استفاده از تگ‌های تکراری پی اچ پی اجرا کنند. نام این موتور طراحی قالب Blade می‌باشد. Blade از موتور Razor در NET. الهام گرفته شده است و از نظر قواعد نحوی و نگارشی (سینتکس) بسیار شبیه به این موتور می‌باشد. در مثال زیر تفاوت بین دو قالبی که از Blade بهره‌برده‌اند و دیگری که بدون استفاده از Blade‌ است، نمایش داده شده:   1 2 3 4 5 6 7 8 9 1...

ادامه مطلب
Generic plalaravelolder image
ئاکو فرجی
15 مهر 1403

Request Facade و مدیریت داده‌ها

      در این جلسه با آموزش تخصصی جمع‌آوری و دسته‌بندی اطلاعات با استفاده از Request Facade در خدمت شما عزیزان هستیم. با توجه به مطالعاتی که در فصل گذشته داشتیم به این نتیجه رسیدیم که چگونه یک کنترلر و ویو را ایجاد کرده و به یکدیگر متصل کنیم. همچنین آموختیم که چگونه اطلاعات را از طریق کنترلر به ویو منتقل کنیم. اما نکته‌ای که برای شما عزیزان حائز اهمیت هست ارسال اطلاعات متغییر به ویو می‌باشد. تا به اینجا شما اطلاعات استاتیک و ثابت را به ویو ارسال می‌کردید. برای همین منظور به Request Facade اشاره خواهیم کرد و روش‌های مختلف ارسال داده داینامیک به ویو را برای شما عزیزان شرح می‌دهیم.     مقدمه   یکی از مزایای استفاده از فریم‌ورک لاراول دسته‌بندی و مدیریت داده‌ها و ارسال آنها به ویو می‌باشد. داده‌هایی که گاها بسیار پیچیده هستند و یا در منبع داده‌ی مختلفی قرار دارند را می‌توان با استفاده از نوشتن تنها یک خط به ویو منتقل کرد. در نتیجه لاراول ابزاری را تحت عنوان Facade در اختیار عزیزان قرار داده تا بتوانند به سادگی هرچه تمام تر این کار را انجام دهند.   Request Facade   یکی از معمول‌ترین روش‌ها برای دریافت داده‌های کاربران و دسته‌بندی آنها در ...

ادامه مطلب
Generic plalaravelolder image
ئاکو فرجی
16 مهر 1403

Response Facade و مدیریت پاسخ

      اگر بخواهیم قانون سوم نیوتن (هر نیرویی به جسمی وارد شود دقیقا یک نیرو در خلاف جهت آن وارد می‌شود) را به برنامه‌نویسی ربط دهیم اینگونه می‌توان بیان که هر درخواستی از طرف کاربر پاسخی از طرف سرور خواهد داشت. حال ما در فصل گذشته به توضیح درخواست پرداختیم ولی پاسخ را بررسی نکردیم. از طرفی یکی از مباحث مهمی که در اپلیکیشن‌های تحت وب بیان می‌شود و حائز اهمیت می‌باشد بحث Redirect می‌باشد که خود نیز نوعی پاسخ (Response) می‌باشد و آن را نیز در این بخش توضیح خواهیم داد.     Response Facade   تمام routeها و کنترلرها باید یک پاسخ به ازای هر درخواست به مرورگر کاربر ارسال کنند. لاراول راه‌های متفاوتی برای ارسال پاسخ‌ها درنظر گرفته است. همانطور که قبلا و در دروس اولیه مشاهده کردید ساده‌ترین نوع پاسخ ارسال رشته به صفحه‌ی کاربر می‌باشد. که به صورت زیر می‌باشد:     1 2 3 Route::get('/', function () {     return 'Hello World'; });   فریم‌ورک لاراول به صورت اتوماتیک تمام درخواست‌های رشته‌ای را به HTTP‌ تبدیل می‌کند. علاوه بر این می‌توان مجموعه‌ای از رشته&zwnj...

ادامه مطلب
Generic plalaravelolder image
ئاکو فرجی
15 مهر 1403

دستورهای Migration و انواع داده MySQL

      پس از مبحث View و Controller باید وارد یک فضای جدید از معماری سه لایه‌ی MVC شویم که نام آن Model‌ است. قبل از مطرح کردن بحث مدل‌ها شما باید با نحوه‌ی ارتباط با دیتابیس (Database) و مهاجرت (Migration) آشنا شوید. سپس از یک ابزار بسیار کاربردی تحت عنوان Tiker پرده برداشته و به قدرتهای این فریم ورک بی نظیر پی ببرید. با ما همراه باشید     مقدمه   اگر به مباحث قبلی توجه داشته باشید، نقص نرم‌افزار و اپلیکیشن شما مشخص خواهد شد. درست حدس زدید! نرم‌افزار شما داده‌های ارسالی و دریافتی را از کدام منبع اتخاذ می‌کند؟ هیچ منبعی در مباحث قبلی برای ذخیره سازی اطلاعات وجود نداشت. لذا همواره برای تمام اپلیکیشن‌های سطح بالا همواره باید منبعی با نام «دیتابیس یا پایگاه داده» وجود داشته باشد که اطلاعات نرم‌افزار شما اعم از درخواست کاربران، ورودی‌ها و … در آن ذخیره شود. قبل از شروع هر کاری قطعا شما باید دیتابیس خود را تنظیم کرده و آن را به اپلیکیشن خود معرفی کنید در صورتیکه این کارها را انجام نداده‌اید   پس از انجام تنظیمات دیتابیس و اطمینان از اتصال آن با لاراول باید با مبحثی به نام Migration یا مهاجرت آشنا شوید.   Migration چیست؟   Migration‌ در ل...

ادامه مطلب