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

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

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

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

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

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

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

Հատկություններ
--------------

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

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

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

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

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

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

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

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

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

Գիտաժողովներ
------------

| Տարի | Գտնվելու վայրը |
| --- | --- |
| 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. 1 2  «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. 1 2  «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-ին.

### Մատենագրություն

* Munro, Jamie (2011 թ․ ապրիլի 9). «Rapid Application Development With CakePHP» (1st ed.). Createspace: 170. ISBN 1-4609-5439-4. Արխիվացված է օրիգինալից 2017 թ․ հուլիսի 14-ին. Վերցված է 2011 թ․ մայիսի 20-ին. `{{cite journal}}`: Cite journal requires `|journal=` (օգնություն)CS1 սպաս․ postscript (link)
* Golding, David (2008 թ․ հուլիսի 21). «Beginning CakePHP: from Novice to Professional» (1st ed.). Apress: 344. ISBN 1-4302-0977-1. Արխիվացված է օրիգինալից 2011 թ․ հունվարի 12-ին. Վերցված է 2009 թ․ հունիսի 12-ին. `{{cite journal}}`: Cite journal requires `|journal=` (օգնություն)CS1 սպաս․ postscript (link)
* Chan, Kai; Omokore, John; Miller, Richard (2008 թ․ դեկտեմբերի 2). «Practical CakePHP Projects» (1st ed.). Apress: 400. ISBN 1-4302-1578-X. Արխիվացված է օրիգինալից 2010 թ․ դեկտեմբերի 23-ին. Վերցված է 2009 թ․ հունիսի 12-ին. `{{cite journal}}`: Cite journal requires `|journal=` (օգնություն)CS1 սպաս․ postscript (link)
* Watts, James; González, Jorge (2014 թ․ օգոստոսի 5). «CakePHP 2 Application Cookbook» (1st ed.). packtpub: 346. ISBN 9781782160083. Վերցված է 2014 թ․ օգոստոսի 5-ին. `{{cite journal}}`: Cite journal requires `|journal=` (օգնություն)CS1 սպաս․ postscript (link)

Արտաքին հղումներ
----------------

* CakePHP 2 Application Cookbook

|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 

| * դ
* ք
* խ
PHP |
| --- |
|  |
| Մարդիկ | Էնդի Գութմանս • Ռասմուս Լերդորֆ • Զեև Սուրասկի |
|  |
| Ռեսուրսներ | Zend Engine • Գրադարաններ • PEAR • Խմբագրիչներ • Արագացուցիչ • PHP արտոնագիր |
|  |
| Կոմպիլյատորներ | HipHop • Quercus • Project Zero • Phalanger • Parrot |
|  |
| Ֆրեյմվորկներ | AppFlower • CakePHP • CodeIgniter • Դրուփալ • FuelPHP • Horde • Joomla! • Lithium • Midgard • MODx • Qcodo • Seagull • SilverStripe • Symfony • TYPO3 • Xaraya • Yii • Zend Framework • Zeta Components |
|  |
| Փորձարկում | PHPUnit • PHP Unit Testing Framework • SimpleTest |
|  |
| ORM | Propel • Doctrine |
|  |
| IDE | AppFlower • Eclipse PDT  • PhpStorm • NetBeans • RadPHP • PHP DevelStudio • PHPEdit • Zend Studio |
|  |
| Կոմպիլյատոր | Phalanger |
|  |
| Widget toolkit | wxPHP • PHP-GTK • PHP-Qt |
|  |
| Category Կատեգորիա |

 |