Кіріспе

PHP-дегі ашық кодты веб-шеңбері

CakePHP – ашық кодты веб-шеңбері. Ол модель-көрініс-бақылаушы (MVC) тәсілін ұстанады және PHP тілінде жазылған, Ruby on Rails тұжырымдамаларына негізделген және MIT лицензиясы бойынша таратылады. CakePHP конфигурациядан гөрі конвенция, модель-көрініс-бақылаушы, белсенді жазба, қатынас деректерін бейнелеу және алдыңғы бақылаушы сияқты жақсы таныс бағдарламалық инженерия тұжырымдары мен бағдарламалық дизайн үлгілерін пайдаланады.

Тарих

CakePHP 2005 жылы сәуір айында, поляк бағдарламашысы Михал Татаринович PHP-де жылдам қолданбаларды дамытуға арналған минималды нұсқаны жазғанда басталды, оған Cake деп ат қойды. Ол бұл фреймворкты Public Domain лицензиясымен жариялады, бірақ ол көп ұзамай MIT лицензиясына өзгертілді және онлайн-дамытушылар қауымдастығына ашық болды. 2005 жылдың желтоқсан айында Л. Мастерс және Г. Дж. Вудворт CakePHP-ті дамытуды қолдау мақсатымен Cake Software Foundation-ды құрды. 2009 жылдың қазан айында жоба менеджері Вудворт және дамытушы Н. Абель өздерінің жобаларына, соның ішінде Lithium веб-фреймворкіне (бұрын CakePHP жобасының бір бөлігі болған) көңіл бөлгені үшін жобадан кетті. Қалған дамыту тобы бұрын белгіленген жол картасын іске асыруды жалғастырды.

Ерекшеліктері

Плагиндер әзірлеушілерге бірнеше қолданбаларда және басқа әзірлеушілер үшін қайта пайдалануға болатын контроллерлер, модельдер, көріністер және басқа сыныптардың комбинацияларын жинақтауға мүмкіндік береді. CakePHP 3 нұсқасынан бастап плагиндерді Composer арқылы орнату мүмкін болды. CakePHP ORM (объектілік реляциялық бейнелеу) – активті жазба үлгісі мен деректер бейнелеу үлгісінің жетілдірілген PHP гибриді, ол екеуінен де негізгі ұғымдарды қабылдайды. CakePHP ORM екі негізгі нысан түрін пайдаланады: дерекқоры кестелерін көрсететін кесте класы және жеке кесте қатарларын көрсететін объектілер кластары. Сұраныс құрастырушы CakePHP 3-те жаңа ORM-мен бірге енгізілді. Сұраныс құрастырушы SQL сұраныстарын қолмен жазудың орнына бағдарламалық түрде құруға арналған кластар мен әдістер жиынтығын ұсынады. ORM сұраныс құрастырушыны кеңінен пайдаланады. Маршрутизация және кері маршрутизация. CakePHP маршрутизаторы күрделі HTTP қолданбаларын маршрутизациялауға, кіріс сұрауларын дұрыс контроллерге және әрекетке бағыттауға мүмкіндік береді. Кері маршрутизация маршруттар мен сілтемелер арасындағы байланысты құрады, сілтемелер әрқашан дұрыс бірыңғай ресурстың орнымен (URL) жасалатынын қамтамасыз етеді. View Cells – көрініс логикасын шақырып, шаблонды көрсетуге арналған шағын контроллерлер. Олар кішкентай, қайта пайдалануға болатын бет компоненттерін жасауға өте ыңғайлы. Миграциялар дерекқоры схемаларын нұсқамен басқаруды қамтамасыз етеді. Бұл қолданба логикасына енгізілген өзгерістер мен сәйкес дерекқоры өзгерістерін синхрондауға мүмкіндік береді. Бұл CakePHP қолданбасын орнатуды, сондай-ақ бірнеше әзірлеушілерден тұратын командаларда әзірлеуді жеңілдетеді. CakePHP миграция құралы Phinx жобасына негізделген. ORM немесе Query Builder арқылы жасалған нәтижелер жиынтығын әзірлеушілерге оңай беттерге бөлу үшін автоматты беттеу. Форма құрастырушы және тексеруші модель қабатына дерек түрлері мен тексерулер бойынша байланыстырылған формаларды бағдарламалық түрде жасауға мүмкіндік береді. CakePHP Bake – қолданба, қаңқа және бастапқы кодты автоматты түрде жасауға арналған құрал. Ол дұрыс дерек қатынастарын және дерек түрлерін анықтау үшін алдын ала бар дерекқоры схемасын пайдаланады және осы деректердің негізінде контроллерлердің толық жиынтығын, модель объектісін және көрініс үлгілерін жасайды. Ол нөлдік кодтаумен қарапайым CRUD қолданбасын жасауға қабілетті.