کدایگنایتر
کُدایگنایتر (به انگلیسی CodeIgniter) یک چارچوب نرمافزاری تحت وب متنباز است که برای ساختِ وبگاههای پویا بهکار میرود. این فریمورک که با زبان پیاچپی نوشته شدهاست کار توسعهٔ نرمافزار را در سنجش با کدنویسی از آغاز شتاب میبخشد. این شتاببخشی توسط کتابخانههای این فریمورک انجام میشود که بسیاری از آنها کارهای رایج را بهسادگی انجام میدهند. نخستین نگارش همگانی کدایگنایتر در ۲۸ فوریهٔ ۲۰۰۶ بود و واپسین نگارش آن"۳.۰.۰" در ۳۰ مارچ ۲۰۱۵ است.
نویسنده(های) اصلی | EllisLab |
---|---|
توسعهدهنده(ها) | British Columbia Institute of Technology |
انتشار پایدار | 4.2.1
۱۶ ژوئن ۲۰۲۱ |
مخزن | |
نوشتهشده با | php |
سیستمعامل | چندسکویی |
در دسترس به | php |
پروانه | MIT License |
وبگاه |
ویژگیها
کدایگنایتر از الگوی معماری مدل-نما-کنترلگر سود میبرد. این فریمورک در بسیاری از ویژگیها و مفاهیم همانند روبی آن ریلز است.
- پشتیبانی از چندین پایگاهداده
- دستیابی به پایگاه داده از طریق الگوی ثبت کُنشور Active record pattern
- مدیریت نشست
- اعتبارسنجی داده و فُرم
- کشگذاری همهٔ صفحه
- داربستبندی
- کلاس قالبگذار
- پشتیبانی از افزودن کلاس، افزونه و هوکس
اما دیگر ویژگیهایی که کدایگنایتر را متمایز میکند، عبارتند از:
- کد بسیار سبک
- نصب و ساختار پوشههای آسان
- ثبت خطاها
- رهیابی انعطافپذیر ِ URIها
همچنین دیگر ویژگیهایی را ارائه میکند که هنوز در دیگر فریمورکها بهطور پیشگزیده ارائه نشدهاست.
- امنیت و پالایش XSS
- کلاس فرستادن ایمیل که از پیوستها، ایمیلهای HTML ای یا متنی، پروتکلهایی چون SMTP، sendmail و Mail پشتیبانی میکند.
- کتابخانهٔ دستکاری تصویر (کارهایی چون: بریدن، چرخاندن، تغییر اندازه دادن و ...). پشتیبانی از GD، ImageMagic و NetPBM.
- کلاس بارکنندهٔ فایل
- کلاس FTP
- بومیسازی
- صفحهبندی
- رمزگذاری داده
- محکزنی
- کلاس تقویم
- کلاس User Agent (تشخیص مرورگر)
- کلاس رمزگذاری فایلهای Zip
- کلاس Trachback
- کلاس XML-RPC
- کلاس آزمایش واحد (unit Testing)
- ساخت URLهای کاربرپسند
- کتابخانهای بزرگ از helperها
سرعت
کدایگنایتر نسبت به اکثر فریم ورک های فول استک مانند لاراول، کیک پیاچپی و یی سرعت بیشتری دارد و یکی از فریمورک های سبک و سریع پیاچپی میباشد.
کارایی نهایی وب اپلیکیشن به عوامل مختلفی مانند پایگاه داده، وب سرور، سیستم کش، نحوهی کد نویسی، پیچیدگی پروژه و ... وابسته است و صرفا استفاده از یک فریمورک خاص تضمینی بر سرعت بالا نخواهد بود.
به طور کلی، دلیل سرعت بالا و سبک بودن این فریمورک حذف امکانات غیر ضروری و ساختار ساده تر نسبت به سایر فریمورک های فول استک است.