CodeIgniter
![]() | |
---|---|
Տեսակ | վեբ ծրագրի հենք և ազատ ծրագրային ապահովում |
Հեղինակ | EllisLab, Inc. |
Նախագծումը՝ | British Columbia Institute of Technology? |
Գրված է՝ | PHP[1] |
Լույս տեսավ՝ | փետրվարի 28, 2006 |
Զարգացման կարգավիճակ | ակտիվ մշակվող |
Արտոնագիր | MIT արտոնագիր[2] |
Կայք | 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-ն աչքի է ընկնում իր պարզությամբ[3], որն պայմանավորված է մի շարք գործողններով՝
- Ծավալուն, հասկանալի շարադրված, կիրառելի օրինակներով փաստաթղթեր, ինչպես նաև մեծ համայնք և Wiki[3][4],
- Բազմաթիվ վիդեոդասեր, որոնք կարելի է գտնել ինչպես պաշտոնական, այնպես էլ այլ կայքերում[5][6][7][8],
- Ֆրեյմվորկն ազատություն է տալիս ծրագրավորողին՝ չսահմանելով որևէ կառուցվածքային սահմանումներ կամ կանոններ,
- Անհրաժեշտություն չկա սովորել օգտագործել հրամանի տողով կառավարվող կոդի գեներատորը,
- CodeIgniter-ն աշխատում է գործնականում բոլոր PHP 5.1 և ավելի տարբերակն ապահովող հոսթինգներում,
- CodeIgniter-ն համարվում է արագ և ոչ շատ ռեսուրսներ պահանջող ֆրեյմվորկներից մեկը[4][9],
- Փոքր ծավալը[4], (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[10] և CodeLighter[11] ֆրեյմվորկներում։
Kohana-ն սկզբում ընդամենը CodeIgniter-ի մի ճյուղ էր։ Այն ստեղծվել էր PHP5-ի բոլոր հնարավորությունների օգտագործման և, մինչնույն ժամանակ, CodeIginter-ի բարձր արտադրողականության պահպանման նպատակով։ Այն տարբերվում էր CodeIgniter-ից նրանով, որ չէր աջակցում PHP4-ը և ուներ որոշ լրացուցիչ գրադարաններ (ORM, Auth և այլն)։ Եթե Kohana-ի 2.x տարբերակում դեռևս ինչ-որ բան մնացել էր CodeIgniter-ից, ապա նոր տարբերակներում (3.x) այն CodeIgniter-ի ոչ մի ընդհանուր բան չունի, բացի պատմությունից։
CodeIgniter-ով են աշխատում մի շարք CMS-ներ՝ Fuel CMS-ը[12], MaxSite CMS-ը[13], Cogear-ը[14], PyroCMS-ը[15] և այլն։
Հղումը[խմբագրել | խմբագրել կոդը]
- 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(անգլ.)
Տես նաև[խմբագրել | խմբագրել կոդը]
Ծանոթագրություններ[խմբագրել | խմբագրել կոդը]
- ↑ The codeigniter Open Source Project on Open Hub: Languages Page — 2006.
- ↑ https://github.com/codeigniter4/CodeIgniter4/blob/v4.0.4/license.txt
- ↑ 3,0 3,1 «CodeIgniter vs. CakePHP»։ Արխիվացված է օրիգինալից 2012 թ․ փետրվարի 29-ին։ Վերցված է 2013 թ․ հունվարի 6(անգլ.)
- ↑ 4,0 4,1 4,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-09-03։ Արխիվացված է օրիգինալից 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-04-25-ին։ Վերցված է 2013-01-06
- ↑ PyroCMS — The modular open-source CodeIgniter CMS
|