CodeIgniter
Տեսակ | վեբ ծրագրի հենք և ազատ ծրագրային ապահովում |
---|---|
Հեղինակ | EllisLab, Inc. |
Նախագծումը՝ | British Columbia Institute of Technology? |
Գրված է՝ | PHP[1] |
Լույս տեսավ՝ | փետրվարի 28, 2006 |
Վերջին կայուն տարբերակ | 3.1.13 (մարտի 3, 2022)[2] |
Զարգացման կարգավիճակ | ակտիվ մշակվող |
Արտոնագիր | MIT արտոնագիր[3] |
Կայք | codeigniter.com և codeigniter.es |
Ելակոդ | github.com/bcit-ci/CodeIgniter |
CodeIgniter, PHP ծրագրավորման լեզվով գրված բաց կոդով MVC ֆրեյմվորկ, որն նախատեսված է լիարժեք վեբ-համակարգերի և հավելվածների ստեղծման համար։ Մշակվել է EllisLab ընկերության, ինչպես նաև Ռիք Էլիսի (Rick Ellis) և Փոլ Բուրդիքի (Paul Burdick) կողմից։
Պատմություն
[խմբագրել | խմբագրել կոդը]Ֆրեյմվորկիի առաջին անգամ թողարկվել է 2006 թ․ փետրվարի 28-ին։ Սկսած 2011 թ․ հունվարի 28-ից, երբ թողարկվեց ֆրեյմվորկի 2.0 տարբերակը, CodeIgniter-ի մշակումն իրականացվում է երկու ճյուղով՝
- CodeIgniter Core — այս ճյուղը առավել մեծ ուշադրություն է դարձնում կայունության վրա, ինչի պատճառով դանդաղ է զարգանում։
- CodeIgniter Reactor — այս ճյուղը զարգացվում է համայնքի կողմից։ Այն զարգանում է ավելի արագ և պարունակում է ամենանոր հնարավորությունները։
Առանձնահատկությունները
[խմբագրել | խմբագրել կոդը]- CodeIgniter-ն աչքի է ընկնում իր պարզությամբ[4], որն պայմանավորված է մի շարք գործողններով՝
- Ծավալուն, հասկանալի շարադրված, կիրառելի օրինակներով փաստաթղթեր, ինչպես նաև մեծ համայնք և Wiki[4][5],
- Բազմաթիվ վիդեոդասեր, որոնք կարելի է գտնել ինչպես պաշտոնական, այնպես էլ այլ կայքերում[6][7][8][9],
- Ֆրեյմվորկն ազատություն է տալիս ծրագրավորողին՝ չսահմանելով որևէ կառուցվածքային սահմանումներ կամ կանոններ,
- Անհրաժեշտություն չկա սովորել օգտագործել հրամանի տողով կառավարվող կոդի գեներատորը,
- CodeIgniter-ն աշխատում է գործնականում բոլոր PHP 5.1 և ավելի տարբերակն ապահովող հոսթինգներում,
- CodeIgniter-ն համարվում է արագ և ոչ շատ ռեսուրսներ պահանջող ֆրեյմվորկներից մեկը[5][10],
- Փոքր ծավալը[5], (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-ներ
Ընտրել բոլորը աղյուսակից
[խմբագրել | խմբագրել կոդը]$this->db->get('table_name');
Համարժեք կոդը SQL-ում՝
SELECT * FROM `table_name`
JOIN և LIMIT օպերատորներով օրինակ
[խմբագրել | խմբագրել կոդը]public function getData($id = 0, $offset = 0, $limit = 30) {
$result = $this->db->select('table1.id, table2.name')
->from('table1')
->join('table2', 'table2.id=table1.id', 'left');
if ($id) return $result->where('table1.id', (int)$id)->limit(1)->get()->row();
return $result->limit($limit, $offset)->get()->result();
}
Դեպք 1 (երբ $id = 0)
Տվյալներ՝ $id = 0, $offset= 10, $limit = 30
Ելքի SQL-ը
SELECT table1.id, table2.name
FROM table1
LEFT JOIN table2 ON table2.id = table1.id
LIMIT 10, 30
Ֆունկցիան վերադարձնում է օբյեկտների զանգված (db->result())
Դեպք 2 ($id-ն զրոյից տարբեր է)
Տվյալներ՝ $id = 5, $offset = 0, $limit = 30
Ելքի SQL-ը
SELECT table1.id, table2.name
FROM table1
LEFT JOIN table2 ON table2.id = table1.id
WHERE table1.id = 5
LIMIT 1
Ֆունկցիան վերադարձնում է մեկ օբյեկտ (db->row()
)
Քննադատությունները
[խմբագրել | խմբագրել կոդը]- Հաճախ CodeIgniter-ը քննադատում են օբյեկտային կողմորոշմամբ ծրագրավորման վերաբերյալ ոչ սովորական տեսակետի համար։
- CakePHP-ի որոշ կողմնակիցներ կարծում են, որ CodeIgniter-ի կողմից ծրագրավորողին տրված ազատությունը ինչ-որ տեղ խրախուսում է անփույթ ծրագրավորման ոճը։
- CodeIgniter-ի մոդելները լռելյան չեն աջակցում ORM-ը։
- Տվյալների բազաների հետ աշխատանքի դասը վատ մտածված կառուցվածքի պատճառով գործնականում հնարավոր չէ ընդլայնել կամ փոփոխել։
- Չնայած նրան, որ CodeIgniter-ն օգտագործվում է մեծ թվով մասնագիտացված ծրագրավորողների և վեբ-ստուդիաների կողմից, շատերը գտնոմ են, որ այն միայն նորեկների համար է։
CodeIgniter-ի ազդեցությունը
[խմբագրել | խմբագրել կոդը]CodeIgniter-ը հիմք է հանդիսացել այնպիսի ֆրեյմվորկների համար, ինչպիսիք են Kohana-ն և Rain Framework-ը, ինչպես նաև CodeIgniter-ի որոշ մտքեր օգտագործվում են Fuel PHP[11] և CodeLighter[12] ֆրեյմվորկներում։
Kohana-ն սկզբում ընդամենը CodeIgniter-ի մի ճյուղ էր։ Այն ստեղծվել էր PHP5-ի բոլոր հնարավորությունների օգտագործման և, մինչնույն ժամանակ, CodeIginter-ի բարձր արտադրողականության պահպանման նպատակով։ Այն տարբերվում էր CodeIgniter-ից նրանով, որ չէր աջակցում PHP4-ը և ուներ որոշ լրացուցիչ գրադարաններ (ORM, Auth և այլն)։ Եթե Kohana-ի 2.x տարբերակում դեռևս ինչ-որ բան մնացել էր CodeIgniter-ից, ապա նոր տարբերակներում (3.x) այն CodeIgniter-ի ոչ մի ընդհանուր բան չունի, բացի պատմությունից։
CodeIgniter-ով են աշխատում մի շարք CMS-ներ՝ Fuel CMS-ը[13], MaxSite CMS-ը[14], Cogear-ը[15], PyroCMS-ը[16] և այլն։
Հղումը
[խմբագրել | խմբագրել կոդը]- codeigniter.com(անգլ.) — Պաշտոնական կայքը
- Ֆորումը Արխիվացված 2008-02-23 Wayback Machine(անգլ.)
- Wiki-բաժինը Արխիվացված 2012-07-02 Wayback Machine(անգլ.)
- Sparks Արխիվացված 2011-07-09 Wayback Machine(անգլ.) — Sparks փաթեթների կառավարչի կայքը
- philsturgeon.co.uk Արխիվացված 2012-12-24 Wayback Machine(անգլ.) — Ֆիլ Սթարջենի (Phil Sturgeon)՝ ֆրեյմվորկի ակտիվ մշակողներից մեկի բլոգը
CodeIgniter-ն օգտագործող նախագծեր
[խմբագրել | խմբագրել կոդը]- tranquillpoet.com Արխիվացված 2017-10-20 Wayback Machine(անգլ.) — IDE, նախատեսված «պոետների» համար։ Ելատեքստը տեղադրված է GitHub-ում
- Maxsite CMS
- ImageCMS — ինտերնետ-խանութների և կայքերի համար նախատեսված CMS
- https://www.proprofsproject.com/ Project Bubble — նախագծերի կառավարման համակարգ](անգլ.)
- PyroCMS — ունիվերսալ մոդուլային CMS(անգլ.)
Տես նաև
[խմբագրել | խմբագրել կոդը]Ծանոթագրություններ
[խմբագրել | խմբագրել կոդը]- ↑ The codeigniter Open Source Project on Open Hub: Languages Page — 2006.
- ↑ Release 3.1.13 — 2022.
- ↑ https://github.com/codeigniter4/CodeIgniter4/blob/v4.0.4/license.txt
- ↑ 4,0 4,1 «CodeIgniter vs. CakePHP». Արխիվացված է օրիգինալից 2012 թ․ փետրվարի 29-ին. Վերցված է 2013 թ․ հունվարի 6-ին.(անգլ.)
- ↑ 5,0 5,1 5,2 «CodeIgniter vs Symfony». Արխիվացված օրիգինալից 2012 թ․ փետրվարի 29-ին. Վերցված է 2013 թ․ հունվարի 6-ին.(անգլ.)
- ↑ «CodeIgniter Video Tutorials». Արխիվացված է օրիգինալից 2012 թ․ փետրվարի 29-ին. Վերցված է 2013 թ․ հունվարի 6-ին.(անգլ.)
- ↑ «CodeIgniter Video Tutorials By Community». Արխիվացված է օրիգինալից 2012 թ․ փետրվարի 29-ին. Վերցված է 2013 թ․ հունվարի 6-ին.(անգլ.)
- ↑ «CodeIgniter From Scratch». Արխիվացված օրիգինալից 2012 թ․ փետրվարի 29-ին. Վերցված է 2013 թ․ հունվարի 6-ին.(անգլ.)
- ↑ «Easy Development With CodeIgniter». Արխիվացված օրիգինալից 2012 թ․ փետրվարի 29-ին. Վերցված է 2013 թ․ հունվարի 6-ին.(անգլ.)
- ↑ «Benchmark update: Cake vs. CodeIgniter vs. Kohana». Pr0digy.com. 2008 թ․ սեպտեմբերի 3. Արխիվացված է օրիգինալից 2012 թ․ փետրվարի 29-ին. Վերցված է 2009 թ․ հուլիսի 24-ին.(անգլ.)
- ↑ FUEL — A simple, flexible, community driven PHP5.3 framework
- ↑ codelighter Codeigniter light! Simple, small and lightweight php5 codeigniter-like framework
- ↑ FUEL CMS : A Rapid Development CodeIgniter CMS
- ↑ Maxsite CMS-ի պաշտոնական կայքը
- ↑ «cogear — կայքի կառավարման համակարգ, անվճար cms սոցիալական ցանցի համար». Արխիվացված է օրիգինալից 2016 թ․ ապրիլի 25-ին. Վերցված է 2013 թ․ հունվարի 6-ին.
- ↑ PyroCMS — The modular open-source CodeIgniter CMS
|