Jump to content

CodeIgniter

Վիքիպեդիայից՝ ազատ հանրագիտարանից
14:43, 28 դեկտեմբերի 2012 տարբերակ, MHamlet (քննարկում | ներդրում)
(տարբ) ←Նախորդ տարբերակ | Ընթացիկ տարբերակ (տարբ) | Հաջորդ տարբերակ→ (տարբ)
CodeIgniter
պատկերանիշ
Տեսակվեբ ծրագրի հենք և ազատ ծրագրային ապահովում
Նախագծումը՝British Columbia Institute of Technology?
Գրված է՝PHP[1][2]
Լույս տեսավ՝փետրվարի 28, 2006
ԱրտոնագիրMIT արտոնագիր[3]
Կայքcodeigniter.com, codeigniter.es և forum.codeigniter.com
Ելակոդgithub.com/bcit-ci/CodeIgniter

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

Պատմությունը

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

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

Կոդի օրինակներ

Active Record

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

$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.com(անգլ.) — Պաշտոնական կայքը
  • Sparks(անգլ.) — Sparks փաթեթների կառավարչի կայքը
  • philsturgeon.co.uk(անգլ.) — Ֆիլ Սթարջենի (Phil Sturgeon)՝ ֆրեյմվորկի ակտիվ մշակողներից մեկի բլոգը

CodeIgniter-ն օգտագործող նախագծեր

Տես նաև

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