استفاده از تاریخ شمسی در codeigniter 4

به قول آقای سیف زاده، هر جا برنامه ای به زبان php دیدید که تاریخ را به شمسی نشان میدهد بدانید که حتما از jdf استفاده کرده است. در این لینک استفاده از jdf در کتابخانه codeigniter به طور کامل توضیح داده شده است. که مطالعه آن را به شما نیز توصیه می کنم. البته آموزش لینک مربوط به ورژن قبلی codeigniter می باشد.

در این پست ما نسخه 2.76 jdf را برای نسخه 4 کدایگنایتر راه اندازی خواهیم کرد. تابع jdf به تنهایی در codeigniter 4 قابل استفاده نیست و کمی تغییرات نیاز دارد. و روش کار هم مقداری با ورژن قبلی کدایگنایتر تغییر یافته است.

ادامه ی مطلب

اسکریپت آپلود سنتر – تعریف فایل های مجاز

اسکریپت آپلود سنتر – تعریف فایل های مجاز

امروز قسمت تعریف فایل های مجاز را کامل کردم. در این بخش که در قسمت مدیریت ادمین در دسترس می باشد، ادمین با تعریف پسوند فایل های مجاز می تواند فرمت فایل های قابل آپلود را تعریف کند.

جدولی که برای این بخش در پایگاه داده در نظر گرفته ام عملا یک row خواهد داشت. به این دلیل که فقط فرمت فایل های مجاز ذخیره می شود که به صورت مثلا jpg,jpeg,mp4,css و … خواهد بود.

از این جهت قسمت های insert و update را یکی کردم تا دیگر نیازی به جستجوری آیدی مربوطه در جدول نباشد. به این ترتیب قبل از ذخیره یا به عبارت بهتر آپدیت مقادیر قبلی، جدول مربوطه ابتدا truncate و سپس مقدار جدید ذخیره می شود.

ادامه ی مطلب

شروع برنامه نویسی اسکریپت آپلود سنتر

شروع برنامه نویسی اسکریپت آپلود سنتر

خیلی وقت بود که به فکر شروع برنامه ای رایگان و اپن سورس بودم که هم پر مخاطب باشد و هم بتواند بخشی از نیازهای جامعه وب را تامین کند. چند سال پیش اسکریپتی با موضوع آپلود سنتر نوشتم که البته اپن سورس نبود. اسکریپت مذکور را با فریم ورک کدایگنایتر 3 نوشته بودم. اما به دلیل اینکه هسته کد ایگنایتر به ورژن 4 آپدیت شد و عملا پروژه هایی که با ورژن قبلی نوشته شده بودند قابل بروز رسانی به نسخه 4 نبودند عملا اسکریپت آپلود سنتر را رها کردم و پروژه مورد نظر را ادامه ندادم.

چند وقتی است که اسکریپتی با موضوع آپلود سنتر شروع کرده ام. البته با codeigniter 4! قصدم انتشار عمومی و رایگان این نسخه می باشد. پروژه همین الان در گیت هاب در دسترس است که البته فعلا کامل نیست ولی می توانید با مشاهده صفحه گیت هاب پروژه از آخرین تغییرات با خبر شوید. تجربه توسعه نسخه قبلی تجربه جالبی برایم بود که این مسئله باعث بهبود برنامه نویسی و پیشرفت بهتر این پروژه شده است.

تا کنون قسمت های ثبت نام و ورود کاربر را آماده کرده ام. که کاربران به دو بخش ادمین و یوزر تقسیم می شوند. سعی کردم قسمت ورود کاربران را به صورت ACL کار کنم که عملا دو نقش admin و user را در نظر گرفته ام. اگر یوزر در هنگام ورود دارای نقش ادمین باشد به محیط مدیریت ادمین هدایت خواهد شد و کاملا مشخص است که دسترسی یوزرهای معمولی به محیط ادمین مسدود شده است.

ادامه ی مطلب

استفاده از flashdata برای پیام های موقت در codeigniter 4

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

این کار به راحتی در codeigniter 4 مقدور می باشد و کل فرآیند توسط session مدیریت می شود. به عبارتی توسط session یک پیام به طور موقت ایجاد شده و در session ذخیره می شود و بعد از یک بار رفرش، کلا حذف می شود. فرض را بر این میگذاریم که شما controller و view مورد نظر را ساخته و می خواهید یک پیام موقت را در view نمایش دهید.

ادامه ی مطلب

آموزش نصب codeigniter 4

نصب کدایگنایترهای ورژن 2 و 3 خیلی ساده بود. عملا فقط ورژن مورد نظر را دانلود می کردید و تمام. در ورژن چهار همین کار را هم میتوان انجام داد. یعنی codeigniter 4 را از وب سایت رسمی فریم ورک دانلود کنید و کار خود را شروع کنید.

روش دوم استفاده از composer می باشد. این روش نصب مختص ورژن 4 می باشد و مزایای خود را دارد. با composer علاوه بر نصب می توانید به راحتی سورس های خود را آپدیت کنید و نیازی به دانلود دستی فایل ها نیست. این نکته در توسعه نرم افزار بسیار اهمیت دارد و به راحتی و در حداقل زمان می توانید سورس های خود را آپدیت کنید.

ادامه ی مطلب

آموزش join دو یا چند table در codeigniter 4

codeigniter از جمله فریم ورک های محبوب و قدیمی زبان برنامه نویسی php می باشد. کدایگنایتر در ورژن های 2، 3 و 4 عرضه شده است. ورژن های 2 و 3 بسیار به هم شبیه هستند اما در codeigniter 4 ساختار فریم ورک به کلی عوض شد، این تغییر در حدی بود که برنامه هایی که با ورژن 3 نوشته شده بودند قابل آپدیت به ورژن 4 نبودند. در ورژن 4 کدایگنایتر کلا عوض شد و ساختاری جوانتر و بهتری پیدا کرد.

ادامه ی مطلب

اجازه دسترسی vscode به محتوای www در آپاچی

امروز به مسئله ساده و کاربردی برخوردم که میخواهم با شما به اشتراک بگذارم. همانطور که می دانید بعد از نصب آپاچی ریشه فایل های قابل اجرا در آدرس var/www/html خواهد بود. حال فرض کنید پروژه ای را در همین مسیر ایجاد کرده و میخواهید با یک IDE مثلا با vscode پروژه را در همان مسیر ویرایش کنید. اگر با هر یوزری غیر از یوزر روت (root) لاگین کرده باشین با ارور permission denied مواجه خواهید شد.

حال راهکار چیست؟ ساده ترین راهکار استفاده از دستور chown و تغییر دادن سطح دسترسی یوزر مربوطه به دایرکتوری www می باشد.

chown yourUserName:yourUserName -R var/www

yourUserName را با نام کاربری لینوکس تغییر دهید.

دانلود فیلم آموزش ساخت Drag and Drop با قابلیت Sorting در لاراول

دانلود فیلم آموزش ساخت Drag and Drop با قابلیت Sorting در لاراول

در این فیلم آموزشی تقریبا کوتاه که 49 دقیقه می باشد امکان Drag and Drop با امکان sorting در لاراول مورد بحث و آموزش قرار می گیرد. در این فیلم برنامه نویس اقدام به ایجاد یک منو می کند که علاوه بر این که هر یک از اجرای منو قابلیت Drag and Drop را دارند و محتوای خود منوها نیز قابلیت آپدیت داشته و با Save کردن منو، هم ردیف Sort شده و هم محتوای منو آپدیت می شود.

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

ادامه ی مطلب

Routing در لاراول

Route در لاراول هر درخواستی را به یک controller هدایت می کند. تمامی route ها در مسیر routes/web.php ذخیره و مشخص می شوند. به عنوان نمونه route پیشفرضی که بعد از نصب لاراول مشاهده می کنید به ریشه دامنه که همان / است اشاره می کند و این route در جواب درخواست کاربر صفحه welcome را که همان فایل welcome.blade.php است را باز می کند. که این صفحه هم در مسیر view قرار دارد.

Route::get ('/', function () {
   return view('welcome');});
ادامه ی مطلب

دانلود فیلم آموزش jwt در لاراول – JWT Authentication

دانلود فیلم آموزش jwt در لاراول – JWT Authentication

jwt مخفف json web tokens است. jwt با ایجاد توکن و ذخیره آن در هیدر امکان احراز هویت را ممکن می سازد. به بیانی دیگر یک رشته رمز شده را که همان token گفته میشود در header درخواست http ذخیره می کند و با این امکان از طریق api می توانید عملیات احراز هویت و یا به عبارتی Authentication را انجام دهید.

عملکرد jwt بسیار جالب است. وقتی از طریق api درخواست دسترسی به منبعی ارسال می شود. توکن ایجاد شده که منحصر به فرد میباشد، از طریق هیدر به مقصد ارسال می شود و سرور با Decode کردن توکن دریافتی مشخص می کند که این درخواست اجازه دسترسی به اطلاعات را خواهد داشت یا نه.

در بحث api لاراول معمولا شما 2 گزینه برای کار کردن دارید. می توانید api را با jwt و یا passport راه اندازی کنید. فیلم آموزشی پیش روی شما JWT Authentication را در لاراول مورد بحث قرار می دهد. این فیلم آموزشی محصول codecourse است و به زبان انگلیسی می باشد.

ادامه ی مطلب