آشنایی با فریم ورک کدایگنایتر ( CodeIgniter ) و برخی قابلیت های آن

۱۸ فروردین ۱۴۰۰ - ۱۲:۵۶
کدایگنایتر یک فریم ورک یا چارچوب نرم افزاری است که در زبان PHP و بر اساس الگوی معماری MVC طراحی شده است . این فریم ورک مانند سایر فریم ورک ها به سرعت کدنویسی شما کمک می کند و باعث می شود در زمان کمتری کدهای خود را تکمیل کنید. کدایگنایتر به صورت متن باز (open source) طراحی شده است و به صورت رایگان در دسترس خواهد بود. کاربردی بودن و سادگی و حجم کم این فریم ورک، باعث شده است محبوبیت خوبی در میان برنامه نویسان و طراحان سایت پیدا کند.

آشنایی با فریم ورک کدایگنایتر ( CodeIgniter ) و برخی قابلیت های آن


کدایگنایتر یک فریم ورک یا چارچوب نرم افزاری است که در زبان PHP و بر اساس الگوی معماری MVC طراحی شده است . این فریم ورک مانند سایر فریم ورک ها به سرعت کدنویسی شما کمک می کند و باعث می شود در زمان کمتری کدهای خود را تکمیل کنید. کدایگنایتر به صورت متن باز (open source) طراحی شده است و به صورت رایگان در دسترس خواهد بود. کاربردی بودن و سادگی و حجم کم این فریم ورک، باعث شده است محبوبیت خوبی در میان برنامه نویسان و طراحان سایت پیدا کند. تفاوت فریم ورک ها و کتابخانه ها ممکن است سؤال برخی از نو آموزان برنامه نویسی تحت وب  باشد. پاسخ دقیق این سؤال نیازمند توضیح مفصل و دست و پنجه نرم کردن با فریم ورک ها و کتابخانه ها است اما به صورت مختصر و کوتاه و در قالب مثال تفاوت فریم ورک و کتابخانه این است که فریم ورک شبیه اسکلت پیش ساخته ی یک ساختمان است که شما در کدنویسی خودتان استفاده می کنید و برای رسیدن به نتیجه باید آن را تکمیل کنید مثل اسکلتی که لازم است برای تبدیل شدن به ساختمان کامل دیواره ها و سقف و ... به آن اضافه شود، اما کتابخانه مانند یک اتاق کامل ساخته شده است که شما بدون تغییر و با آگاهی از فایده ی آن در کار خودتان استفاده می کنید مثلا می دانید که اضافه کردن این کتابخانه یک کادر در صفحه وبی که شما طراحی می کنید اضافه خواهد کرد. برای فهم بهتر این تفاوت می توانید به مقالات توضیح فریم ورک بوت استرپ و کتابخانه جی کوئری مراجعه کنید.


برخی از قابلیت های کدایگنایتر

1- الگوی معماری MVC

اولین خصوصیت بارز این فریم ورک،  پیروی از مدل سه لایه MVC است. MVC  مخفف کلمات Model-Viwe-Controller است که باعث کار کردن و کد نویسی راحت تر می شود و طبق قوانین ساده پیش می رود. منظور از مدل سه لایه یا الگوی معماری MVC قوانینی است که کدها را دسته بندی می کند و کدهای مربوط به شکل و مدل، ظاهر یا ویو و کنترل کننده را از هم جدا کرده و هر کدام را در دسته ی مشخصی قرار داده است. این دسته بندی کار را برای برنامه نویس ساده تر کرده و دسترسی به کدها را آسانتر ، منظم تر و منطقی تر می کند.

2- حجم کم
منظور ما از حجم  کم این است که، حجم و فضای زیادی اشغال نمیکند. همانطور که در ابتدا مقاله هم اشاره شد این فریم ورک حجم کمی دارد و به راحتی روی هاست سرور اصلی راه اندازی می شود و مشکلی از بابت حافظه ایجاد نمی شود

3-Form and Data Validation

این فریم ورک دارای form validation است. یعنی شما میتوانید برای ثبت اطلاعات یا ویرایش آنها از فرم های html استفاده کنید و در back end از کدهای فرم ولیدیشن استفاده کنید . در نتیجه خطاگیری برای شما راحت تر می شود و اعتبارسنجی را به راحتی انجام خواهید داد.

به طور مثال: شما برای اینکه دوبار یک داده را در پایگاه داده ذخیره نکنید باید مدام بصورت دستی آن را  چک کنید.

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

بی شک شما قادر به چنین کاری نخواهید بود یا با مشقت زیادی همراه خواهید شد پس بهتر از با یک کد نصف خط form validation، این مورد را چک کنید.

4-امنیت بالا

موضوع مهم در طراحی هر سایت، در امان بودن از دست هکرها و کرکرها است .

کدایگنایتر خیال شما را بابت این موضوع راحت کرده چون دارای امنیت بالایی است و کار مختل کننده های امنیتی را سخت کرده است.

5. کلاس ارسال ایمیل و آپلود فایل و دسترسی آسان به Database

کدایگنایتر با داشتن کلاس ارسال ایمیل، کار کدنویسی برنامه نویسان رو در کدهای ارسال ایمیل یا back end راحت کرده است و دیگر نیاز به کدهایی با طول زیاد ندارد.

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

6. کتاب خانه helper

CodeIgniter بزرگترین کتابخانه کمکی(helper) را دارد.

با استفاده از این شما از کدهای کمکی استفاده می کنید تا کارآیی سایتتان بالا برود و راحت تر کد بنویسید.

7. xss filtering

Xss، یک نوع قابلیت آسیب پذیری امنیت کامپیوتر است. معمولاً در برنامه های کاربردی web بکار می رود. XSS، هکرها را قادر می سازد تا صفحات وب را از طریق تزریق اسکریپت سمت client هک کنند. دلیل به وجود آمدن این آسیب پذیری عدم اعتبارسنجی ورودی‌های کاربر است. مهاجم می تونه با تزریق اسکریپت‌های مخرب در سایت از این آسیب پذیری سو استفاده کنه. کدایگنایتر از این آسیب احتمالی جلوگیری میکند .دیگر هکرها یا افراد بدخواه نمیتوانند آسیبی به محیط وب بزنند و آن را هک کنند.

8.unit testing class

اگر نرم افزار تجاری شما روز به روز در حال رشد است . برای نگه داشتن برنامه، نیازمند به چالش کشیدن آن هستیم. اینجا است که Unit testing  نقش مهمی در موفقیت شما دارد. با کمک Unit testing می توانیم هر متد را به تنهایی مورد بررسی قرار دهیم تا اینکه مشخص شود که آن ها برای استفاده مناسب هستند یا نه!

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

9. calendering class

CodeIgniter دارای کلاس تقویم است که با استفاده از آن برنامه نویس دیگر لازم نیست از کدهای پیچیده برای ایجاد تقویم قمری استفاده کند.

10.Application Profiling

CodeIgniter برای شما بخش application، که همان هسته اصلی یک سایت است را به چندین بخش جدا کرده تا راحت تر مشکلات پیدا شوند و بدانیم هر قسمت چه کاری را انجام می دهد و دسترسی راحت باشد.

به طور مثال این بخش به config , views, model, helper  و …… تقسیم بندی شده است.

11.Data Encryption

یک ویژگی مهم دیگر در کدایگنایتر   encrypt کردن داده ها است.

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

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

برخی معایب کدایگنایتر

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

نظرات کاربران
  • نام کاربری

    آموزش ایجاد طرح گرافیکی سایت در فتوشاپ ، تبدیل طرح گرافیکی به قالب وردپرسی و ووکامرسی آموزش ایجاد طرح گرافیکی سایت در فتوشاپ ، تبدیل طرح گرافیکی به قالب وردپرسی و ووکامرسی

    • نام کاربری

      آموزش ایجاد طرح گرافیکی سایت در فتوشاپ ، تبدیل طرح گرافیکی به قالب وردپرسی و ووکامرسی آموزش ایجاد طرح گرافیکی سایت در فتوشاپ ، تبدیل طرح گرافیکی به قالب وردپرسی و ووکامرسی

نظر خود را با ما در میان بگذارید