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