CodeIgniter

CodeIgniter, PHP ծրագրավորման լեզվով գրված բաց կոդով MVC ֆրեյմվորկ, որն նախատեսված է լիարժեք վեբ-համակարգերի և հավելվածների ստեղծման համար։ Մշակվել է EllisLab ընկերության, ինչպես նաև Ռիք Էլիսի (Rick Ellis) և Փոլ Բուրդիքի (Paul Burdick) կողմից։


== Պատմություն ==
Ֆրեյմվորկիի առաջին անգամ թողարկվել է 2006 թ․ փետրվարի 28-ին։ Սկսած 2011 թ․ հունվարի 28-ից, երբ թողարկվեց ֆրեյմվորկի 2.0 տարբերակը, CodeIgniter-ի մշակումն իրականացվում է երկու ճյուղով՝

CodeIgniter Core — այս ճյուղը առավել մեծ ուշադրություն է դարձնում կայունության վրա, ինչի պատճառով դանդաղ է զարգանում։
CodeIgniter Reactor — այս ճյուղը զարգացվում է համայնքի կողմից։ Այն զարգանում է ավելի արագ և պարունակում է ամենանոր հնարավորությունները։


== Առանձնահատկությունները ==
CodeIgniter-ն աչքի է ընկնում իր պարզությամբ, որն պայմանավորված է մի շարք գործողններով՝
Ծավալուն, հասկանալի շարադրված, կիրառելի օրինակներով փաստաթղթեր, ինչպես նաև մեծ համայնք և Wiki,
Բազմաթիվ վիդեոդասեր, որոնք կարելի է գտնել ինչպես պաշտոնական, այնպես էլ այլ կայքերում,
Ֆրեյմվորկն ազատություն է տալիս ծրագրավորողին՝ չսահմանելով որևէ կառուցվածքային սահմանումներ կամ կանոններ,
Անհրաժեշտություն չկա սովորել օգտագործել հրամանի տողով կառավարվող կոդի գեներատորը,
CodeIgniter-ն աշխատում է գործնականում բոլոր PHP 5.1 և ավելի տարբերակն ապահովող հոսթինգներում,
CodeIgniter-ն համարվում է արագ և ոչ շատ ռեսուրսներ պահանջող ֆրեյմվորկներից մեկը,
Փոքր ծավալը, (2.1.1 տարբերակն ամբողջությամբ զբաղեցնում է ընդամենը 2.2 ՄԲ ծավալ)
Ֆրեյմվորկն թույլ է տալիս հրաժարվել մոդելներից (չնայած, որ դա չի ողջունվում)
CodeIgniter-ի փաստաթղթերում ողջունվում են «մեծ» կառավարկիչները և «փոքր» մոդելները։ Վավերացումն ու արտաքին բիզնես-տրամաբանությունը հիմնականում կատարվում են կառավարչում։ Չնայած դրան, ֆրեյմվորկն ծրագրավորողին ազատություն է տալիս մշակման մեթոդն ընտրելու հարցում։


== Հնարավորությունները ==
MySQL, PostgreSQL, MSSQL, SQLite, Օրաքլ տվյալների բազաների աջակցություն,
Պսեվդո-ActiveRecord-ի աջակցություն, որն, մեծ մասամբ, կրկնում է SQL լեզվի շարահյուսությունը,
Հեշտ ընդլայնվող համակարգ՝ արտաքին գրադարանների օգտագործման, ինչպես նաև արդեն գոյություն ունեցողների ընդլայման ու վերագրման հնարավորության շնորհիվ,
Ինչպես սեգմենտավորված Մարդուն հասկանալի URL-ներ, այնպես էլ պարամետրերի փոխանցմամբ սովորական URL-ների աջակցություն,
Ֆրեյմվորկն ունի բազմաթիվ ներկառուցված գրադարաններ, որոնք թույլ են տալիս աշխատել ֆայլերի, տվյալների բազաների, սեսիաների, պատկերների հետ, ուղարկել էլեկտրոնային նամակների, վավերացնել ֆորմաները և այլն,
Ունի SQL-հարցումների և գեներացվող HTML-երի քեշավորման հնարավորություն։
2011 թվականին հայտնվեց Sparks անվանումով փաթեթների կառավարիչ, որն թույլ է տալիս հեշտությամբ տեղադրել արտաքին գրադարաններն հրամանի տողի օգնությամբ,
HMVC կառուցվածքի աջակցություն (հավելվածների շնորհիվ)
Չնայալ ստանդարտ փաթեթում ORM-ի բացակայությանը, ֆրեյմվորկի ելատեքստային կոդի փոքրիկ փոփոխությունից հետո հնարավոր է օգտագործել PHP ActiveRecord, Doctrine, Propel և այլ ORM-ներ


==== Ընտրել բոլորը աղյուսակից ====

Համարժեք կոդը SQL-ում՝


==== JOIN և LIMIT օպերատորներով օրինակ ====

 Դեպք 1 (երբ $id = 0) 
Տվյալներ՝ $id = 0, $offset= 10, $limit = 30
Ելքի SQL-ը

Ֆունկցիան վերադարձնում է օբյեկտների զանգված (db->result())
 Դեպք 2 ($id-ն զրոյից տարբեր է) 
Տվյալներ՝ $id = 5, $offset = 0, $limit = 30
Ելքի SQL-ը

Ֆունկցիան վերադարձնում է մեկ օբյեկտ (db->row())


== Քննադատությունները ==
Հաճախ CodeIgniter-ը քննադատում են օբյեկտային կողմորոշմամբ ծրագրավորման վերաբերյալ ոչ սովորական տեսակետի համար։
CakePHP-ի որոշ կողմնակիցներ կարծում են, որ CodeIgniter-ի կողմից ծրագրավորողին տրված ազատությունը ինչ-որ տեղ խրախուսում է անփույթ ծրագրավորման ոճը։
CodeIgniter-ի մոդելները լռելյան չեն աջակցում ORM-ը։
Տվյալների բազաների հետ աշխատանքի դասը վատ մտածված կառուցվածքի պատճառով գործնականում հնարավոր չէ ընդլայնել կամ փոփոխել։
Չնայած նրան, որ CodeIgniter-ն օգտագործվում է մեծ թվով մասնագիտացված ծրագրավորողների և վեբ-ստուդիաների կողմից, շատերը գտնոմ են, որ այն միայն նորեկների համար է։


== CodeIgniter-ի ազդեցությունը ==
CodeIgniter-ը հիմք է հանդիսացել այնպիսի ֆրեյմվորկների համար, ինչպիսիք են Kohana-ն և Rain Framework-ը, ինչպես նաև CodeIgniter-ի որոշ մտքեր օգտագործվում են Fuel PHP և CodeLighter ֆրեյմվորկներում։
Kohana-ն սկզբում ընդամենը CodeIgniter-ի մի ճյուղ էր։ Այն ստեղծվել էր PHP5-ի բոլոր հնարավորությունների օգտագործման և, մինչնույն ժամանակ, CodeIginter-ի բարձր արտադրողականության պահպանման նպատակով։ Այն տարբերվում էր CodeIgniter-ից նրանով, որ չէր աջակցում PHP4-ը և ուներ որոշ լրացուցիչ գրադարաններ (ORM, Auth և այլն)։ Եթե Kohana-ի 2.x տարբերակում դեռևս ինչ-որ բան մնացել էր CodeIgniter-ից, ապա նոր տարբերակներում (3.x) այն CodeIgniter-ի ոչ մի ընդհանուր բան չունի, բացի պատմությունից։
CodeIgniter-ով են աշխատում մի շարք CMS-ներ՝ Fuel CMS-ը, MaxSite CMS-ը, Cogear-ը, PyroCMS-ը և այլն։


== Հղումը ==
codeigniter.com(անգլ.) — Պաշտոնական կայքը
Ֆորումը Archived 2008-02-23 at the Wayback Machine.(անգլ.)
Wiki-բաժինը Archived 2012-07-02 at the Wayback Machine.(անգլ.)
Sparks Archived 2011-07-09 at the Wayback Machine.(անգլ.) — Sparks փաթեթների կառավարչի կայքը
philsturgeon.co.uk Archived 2012-12-24 at the Wayback Machine.(անգլ.) — Ֆիլ Սթարջենի (Phil Sturgeon)՝ ֆրեյմվորկի ակտիվ մշակողներից մեկի բլոգը


== CodeIgniter-ն օգտագործող նախագծեր ==
tranquillpoet.com Archived 2017-10-20 at the Wayback Machine.(անգլ.) — IDE, նախատեսված «պոետների» համար։ Ելատեքստը տեղադրված է GitHub-ում
Maxsite CMS
ImageCMS — ինտերնետ-խանութների և կայքերի համար նախատեսված CMS
https://www.proprofsproject.com/ Project Bubble — նախագծերի կառավարման համակարգ](անգլ.)
PyroCMS — ունիվերսալ մոդուլային CMS(անգլ.)


== Տես նաև ==
Kohana
CMF-ների ցանկը
Smarty


== Ծանոթագրություններ ==