Cakephp

Վիքիպեդիայից՝ ազատ հանրագիտարանից
Cakephp
Изображение логотипа
Տեսակվեբ ծրագրի հենք
Հեղինակ[[ Cake Software Foundation, Inc.]]
Գրված է՝PHP[1]
ՕՀբազմապլատֆորմ
ԱրտոնագիրMIT արտոնագիր[2]
Կայքcakephp.org(անգլ.)
Ելակոդgithub.com/cakephp/cakephp
 CakePHP Վիքիպահեստում

CakePHP- ը բաց կոդով համացանցային ծրագիր է։ Այն հետևում է մոդել-դիտիչ-վերահսկիչի (MVC) մոտեցմանը և գրվում է PHP-ով, որը մոդելավորվում է Ruby on Rails- ի հասկացություններից հետո և տարածվում է MIT լիցենզիայի ներքո[3]։

CakePHP- ն օգտագործում է հայտնի ծրագրային ինժեներական հասկացություններ և ծրագրային ապահովման ձևավորման օրինակներ, ինչպիսիք են կոնվենցիան կազմաձևման, մոդելային դիտման-վերահսկիչի, ակտիվ գրառման, ասոցիացիայի տվյալների քարտեզագրման և առջևի վերահսկիչի վերաբերյալ։

Պատմություն[խմբագրել | խմբագրել կոդը]

CakePHP- ն սկսվել է 2005 թվականի ապրիլին, երբ լեհ ծրագրավորող Միխալ Թաթարյունիչիչը[4] գրել է PHP- ում արագ կիրառման զարգացման ծրագրի նվազագույն տարբերակը ՝ այն անվանելով Cake[5][6][7]: Նա հրապարակեց ֆրեյմվորկը MIT արտոնագրի ներքո և այն բացեց մշակողների առցանց համայնքին:[փա՞ստ]

2005 թ.-ի դեկտեմբերին Լ. Մաստերսը և Գ. Ջ. Վուդվորֆթը հիմնադրեց Cake Ծրագրային ապահովման հիմնադրամը, CakePHP- ի հետ կապված զարգացումը խթանելու համար[7]։ 1.0 տարբերակը թողարկվել է 2006 թվականի մայիսին։

Ծրագրի ոգեշնչումներից մեկը Ruby on Rails- ն էր ՝ օգտագործելով դրա շատ հայեցակարգեր։ Համայնքն այդ ժամանակից ի վեր մեծացել և տարածել է մի շարք ենթածրագրեր[8][9]։

2009 թ. Հոկտեմբերին ծրագրի ղեկավար Վուդվորթը և մշակող Ն. Աբելեն հրաժարական տվեցին նախագծից `իրենց սեփական նախագծերի վրա կենտրոնանալու համար, ներառյալ Lithium վեբ ֆրեյմվորկը (նախկինում CakePHP նախագծի մի մասն էր)։ Մնացած զարգացման խումբը շարունակում էր կենտրոնանալ նախկինում սահմանված ճանապարհային քարտեզի վրա[10]։

Հատկություններ[խմբագրել | խմբագրել կոդը]

Plugins- ը ծրագրավորողներին թույլ է տալիս փաթեթավորել վերահսկիչների, մոդելների, դիտումների և այլ դասերի համադրությունները ՝ բազմիցս կիրառություններում և այլ ծրագրավորողների կողմից օգտագործելու համար։ CakePHP 3-ից ի վեր հնարավոր է տեղադրել Composer-ով հավելվածներ[11]։

CakePHP ORM- ը (օբյեկտի հետ կապի քարտեզագրում) առաջադեմ PHP հիբրիդ է ՝ ակտիվ գրառման օրինակին և տվյալների քարտեզագրման օրինակին ՝ երկուսն էլ փոխառելով հիմնական հասկացությունները։ CakePHP ORM- ն օգտագործում է երկու հիմնական օբյեկտի տիպ ՝ table դասը, որը ներկայացնում է տվյալների բազայի աղյուսակները և անհատական table-ի տողերը ներկայացնող կազմակերպությունների դասերը[12][13]։

Query builder ներկայացվեց CakePHP 3-ում ՝ որպես նոր ORM- ի ուղեկից։ Հարցման արտադրողը մատուցում է դասընթացների մի շարք դասընթացներ և մեթոդներ, որոնք ծրագրորեն կառուցելու են SQL հարցումները `փոխարենը դրանք ձեռքով գրելու փոխարեն։ ORM- ը լայնորեն կիրառում է հարցումների ստեղծողի կողմից[13][14]։

Ուղղորդում և հակառակ ուղղում։ CakePHP router թույլ է տալիս բարդ HTTP կիրառական ուղղորդում, մուտքային պահանջները ուղղել ճիշտ վերահսկիչին և գործողություններին։ Հակադարձ routing-ը ստեղծում է փոխկապակցվածություն routes-ի և լինկերի միջև ՝ ապահովելով, որ հղումները միշտ ստեղծվում են ճիշտ միասնական ռեսուրսների որոնիչի հետ։

View բջիջները տրամադրում են փոքր, մինի հսկիչ սարքեր, որոնք կարող են օգտվել դիտման տրամաբանությունից և ներկայացնել ձևանմուշներ։ Սրանք իդեալական են փոքր, վերաօգտագործելի էջի բաղադրիչներ ստեղծելու համար։

Միգրացիաները ապահովում են տվյալների բազայի սխեմաների տարբերակների վերահսկում։ Դրանք հնարավորություն են տալիս ապահովել, որ կիրառման տրամաբանության և տվյալների բազայի համապատասխան փոփոխությունները համաժամեցվեն։ Սա մեծապես հեշտացնում է ինչպես CakePHP հավելվածների տեղակայումը, այնպես էլ զարգացումը բազմաբնույթ ծրագրավորող թիմերում։ CakePHP միգրացիոն գործիքը հիմնված է Phinx նախագծի վրա։

Ավտոմատ կարգաբերում, ծրագրավորողներին դյուրին է դարձնում ORM կամ Query Builder- ի կողմից ստեղծված արդյունքների հավաքածուները։

Ձևաթղթի ձևավորողն ու վավերացուցիչը հնարավորություն են տալիս ծրագրային ձևավորել այնպիսի ձևեր, որոնք կապված են մոդելի շերտին ինչպես տվյալների տիպերի, այնպես էլ վավերացման համար[15]։

CakePHP Bake- ը կիրառական կմախքներ և boilerplate ծածկագիրն ավտոմատ կերպով առաջացնելու գործիք է։ Այն օգտագործում է նախնական տվյալների բազայի սխեման `ճիշտ տվյալների հարաբերությունների և տվյալների տեսակների ճիշտ եզրակացության համար և այն օգտագործելով` վերահսկիչների, մոդելի օբյեկտի և ձևանմուշների ամբողջական փաթեթ ստեղծելու համար։ Այն կարող է առաջացնել CRUD- ի հիմնական դիմում ՝ զրոյական կոդավորմամբ[16]։

Գիտաժողովներ[խմբագրել | խմբագրել կոդը]

Տարի Գտնվելու վայրը
2019 Տոկիո, Ճապոնիա
2017 Նյու Յորք, ՆՅ, ԱՄՆ
2016 Ամստերդամ, Նիդեռլանդներ
2015 Նյու Յորք, ՆՅ, ԱՄՆ
2014 Մադրիդ, Իսպանիա
2013 Սան Ֆրանցիսկո, ՍԱ, ԱՄՆ
2012 Մանչեստր, ՄԹ
2011 Մանչեստր, ՄԹ
2010 Չիկագո, ԻԼ, ԱՄՆ
2009 Բեռլին, Գերմանիա
2008 Բուենոս Այրես, Արգենտինա
2008 Օրլանդո, ՖԼ, ԱՄՆ

Դասընթացներ[խմբագրել | խմբագրել կոդը]

Պաշտոնական առցանց դասընթացներ, որոնք հովանավորվում են CakeDC-ի կողմից։ Ամսական կենդանի դասընթացներ, որոնք ընդգրկում են մի շարք թեմաներ, ներառյալ.

  • Ստանդարտ CakePHP 2 դասընթաց
  • Ստանդարտ CakePHP 3 դասընթաց
  • Առաջադեմ CakePHP 3 դասընթաց
  • Ստանդարտ CakePHP 4 դասընթաց

Ծանոթագրություններ[խմբագրել | խմբագրել կոդը]

  1. The cakephp Open Source Project on Open Hub: Languages Page — 2006.
  2. The cakephp Open Source Project on Open Hub: Licenses Page — 2006.
  3. «CakePHP Manual - CakePHP at a Glance». Վերցված է 2015 թ․ մարտի 9-ին.
  4. «Contributors - cakephp». cakephp.lighthouseapp.com. Արխիվացված է օրիգինալից 2021 թ․ հունվարի 18-ին. Վերցված է 2020 թ․ օգոստոսի 23-ին.
  5. «Introduction to CakePHP - 1.1». book.cakephp.org.
  6. «Archived copy». Արխիվացված է օրիգինալից 2016 թ․ մարտի 3-ին. Վերցված է 2012 թ․ օգոստոսի 31-ին.{{cite web}}: CS1 սպաս․ արխիվը պատճենվել է որպես վերնագիր (link)
  7. 7,0 7,1 «Listing» (PDF). www.cs.colorado.edu. Վերցված է 2019 թ․ հուլիսի 1-ին.
  8. «CakeForge». Արխիվացված է օրիգինալից 2009 թ․ սեպտեմբերի 8-ին. Վերցված է 2009 թ․ սեպտեմբերի 5-ին.
  9. «TheChaw». Վերցված է 2009 թ․ սեպտեմբերի 5-ին.
  10. «The Cake is Still Rising». Արխիվացված է օրիգինալից 2010 թ․ հոկտեմբերի 10-ին. Վերցված է 2009 թ․ հոկտեմբերի 25-ին.
  11. «Plugins». Վերցված է 2020 թ․ մարտի 13-ին.
  12. «ORM». Վերցված է 2020 թ․ մարտի 13-ին.
  13. 13,0 13,1 «My CakePHP 3 Review – Still Fresh, Still Hot». Վերցված է 2020 թ․ մարտի 13-ին.
  14. «Query builder». Վերցված է 2020 թ․ մարտի 13-ին.
  15. «Form helper». Վերցված է 2020 թ․ մարտի 13-ին.
  16. «CakePHP 3: Bake by example». Վերցված է 2020 թ․ մարտի 13-ին.

Մատենագրություն[խմբագրել | խմբագրել կոդը]

Արտաքին հղումներ[խմբագրել | խմբագրել կոդը]