Cakephp

**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- ի հիմնական դիմում ՝ զրոյական կոդավորմամբ։

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

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

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

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

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

*
*
*
*

## Արտաքին հղումներ
*CakePHP 2 Application Cookbook 

Կատեգորիա:PHP ֆրեյմվորկեր
Կատեգորիա:PHP- ում ծրագրավորված անվճար ծրագրաշար
Կատեգորիա:Web ֆրեյմվորկեր
Կատեգորիա:Բնօրինակում անաղբյուր հոդվածներ
Կատեգորիա:Ծրագիր, որն օգտագործում է MIT լիցենզիան
Կատեգորիա:Համակարգչային անվճար գրադարաններ