Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
PHP-дегі ашық кодты веб-шеңбері
Open source web framework in PHP
CakePHP – ашық кодты веб-шеңбері. Ол модель-көрініс-бақылаушы (MVC) тәсілін ұстанады және PHP тілінде жазылған, Ruby on Rails тұжырымдамаларына негізделген және MIT лицензиясы бойынша таратылады. CakePHP конфигурациядан гөрі конвенция, модель-көрініс-бақылаушы, белсенді жазба, қатынас деректерін бейнелеу және алдыңғы бақылаушы сияқты жақсы таныс бағдарламалық инженерия тұжырымдары мен бағдарламалық дизайн үлгілерін пайдаланады.
CakePHP is an open source web framework. It follows the model–view–controller (MVC) approach and is written in PHP, modeled after the concepts of Ruby on Rails, and distributed under the MIT License. CakePHP uses well known software engineering concepts and software design patterns, such as convention over configuration, model–view–controller, active record, association data mapping, and front controller.
Тарих
CakePHP 2005 жылы сәуір айында, поляк бағдарламашысы Михал Татаринович PHP-де жылдам қолданбаларды дамытуға арналған минималды нұсқаны жазғанда басталды, оған Cake деп ат қойды. Ол бұл фреймворкты Public Domain лицензиясымен жариялады, бірақ ол көп ұзамай MIT лицензиясына өзгертілді және онлайн-дамытушылар қауымдастығына ашық болды. 2005 жылдың желтоқсан айында Л. Мастерс және Г. Дж. Вудворт CakePHP-ті дамытуды қолдау мақсатымен Cake Software Foundation-ды құрды. 2009 жылдың қазан айында жоба менеджері Вудворт және дамытушы Н. Абель өздерінің жобаларына, соның ішінде Lithium веб-фреймворкіне (бұрын CakePHP жобасының бір бөлігі болған) көңіл бөлгені үшін жобадан кетті. Қалған дамыту тобы бұрын белгіленген жол картасын іске асыруды жалғастырды.
CakePHP started in April 2005, when the Polish programmer Michal Tatarynowicz wrote a minimal version of a rapid application development framework in PHP, dubbing it Cake. He published the framework under the Public Domain license which was soon changed to MIT License and opened it up to the online community of developers. In December 2005, L. Masters and G. J. Woodworth founded the Cake Software Foundation to promote development related to CakePHP. In October 2009, project manager Woodworth and developer N. Abele resigned from the project to focus on their own projects, including the Lithium web framework (previously part of the CakePHP project). The remaining development team continued to focus on the original roadmap that was previously defined.
Ерекшеліктері
Плагиндер әзірлеушілерге бірнеше қолданбаларда және басқа әзірлеушілер үшін қайта пайдалануға болатын контроллерлер, модельдер, көріністер және басқа сыныптардың комбинацияларын жинақтауға мүмкіндік береді. 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 қолданбасын жасауға қабілетті.
Plugins allow developers to package combinations of controllers, models, views and other classes for reuse in multiple applications and by other developers. Since CakePHP 3 it has been possible to install plugins using Composer. CakePHP ORM (object relational mapping) is an advanced PHP hybrid of the active record pattern and the data mapper pattern, borrowing core concepts from both. The CakePHP ORM uses two primary object types, the table class representing database tables, and entity classes representing individual table rows. Query builder was introduced in CakePHP 3 as a companion to the new ORM. The query builder provides a set of classes and methods for programmatically building SQL queries instead of writing them by hand. The ORM makes extensive use of the query builder. Routing and reverse routing. The CakePHP router allows for complex HTTP application routing, routing incoming requests to the correct controller and action. Reverse routing creates a relationship between routes and links, ensuring that links are always generated with the correct uniform resource locator. View Cells provide small, mini controllers that can invoke view logic and render templates. These are ideal for creating small, reusable page components. Migrations provide version control for database schemas. These make it possible to ensure that changes to application logic and corresponding database changes are kept synchronised. This greatly simplifies both CakePHP application deployment, but also development in multi developer teams. The CakePHP migration tool is based on the Phinx project. Automatic pagination to make it easy for developers to paginate result sets generated by the ORM or Query Builder. Form builder and validator allows for the programmatic generation of forms that are tied to the model layer for both data types and validation. CakePHP Bake is a tool for automatically generating application, skeletons and boilerplate code. It uses a pre existing database schema to infer the correct data relations and data types and using that to generate a full set of controllers, model object and view templates. It can generate a basic CRUD application with zero coding.