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  դասընթաց


== Տես նաև ==
Comparison of web frameworks


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


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


== Արտաքին լինկեր ==
CakePHP 2 Application Cookbook