CakePHP Interview Questions and Answers
CakePHP is a modern, open-source PHP 7 framework that makes building web applications simpler and faster. It is based on MVC architecture that is powerful and quick to grasp. The in-built models, controllers, and views allow natural separation of logic from presentation layers. This framework requires less code and offers a flexible database access layer with a powerful scaffolding system. A lot of CakePHP interview questions were asked about the basic overview.
Advantages
- Build apps quickly
- Complicated XML and YAML files not required.
- Ideal for making commercial apps.
- Secure, scalable and stable
- Unique built-in features like translation, caching, database access, and authentication.
Here are some of the CakePHP Interview Questions for freshers as well as experienced candidates:
Development History
Michal Tatarynowicz, a Polish programmer, started CakePHP in April 2005. The framework got published under the MIT license. L. Masters and G. J. Woodworth founded the Cake Software Foundation in Dec 2005 to promote the development of CakePHP and released Version 1.0 in May 2006.
Latest Version: Version CakePHP 3.7.2 got released in Jan 2019.
Top CakePHP Interview Questions
It stands for "Has And Belongs To Many" and it is a kind of associations that can be defined in models for retrieving associated data across different entities in cakePHP.
It is a technique that allows a user to define and create a basic application that can create, retrieve, update and delete objects in cakePHP.
App::import('Model', 'Price');
$price = new Price();
beforeFilter()
- find()
- findAll()
- findAllBy()
- findBy()
- findNeighbours() etc
Security.salt : It is used for generating hashes. We can change it's default value in /app/Config/core.php
.
Security.cipherseed : It is used for encrypt/decrypt strings. We can change it's default value by editing /app/Config/core.php
.
Callback functions just before or after a CakePHP model operation. These callback functions can be defined in model classes.These are very simple functions which called automatically when are defined by the core CakePHP.
- beforeFind()
- afterFind()
- beforeValidate()
- afterValidate()
- beforeSave()
- afterSave()
- beforeDelete()
- afterDelete()
- onError()
These are the functions that we can call before and after doing any task in Models like after finding data, before saving data etc.
For Example : beforeSave(), afterSave(), beforeFind(), afterFind()
.
CakePHP provide a very simple but powerful validation model so that we can easily manage our data validation. To do validation in CakePHP we can just need to declare a $validate
array in your model class for required fields.
public $validate = array(
'email' => array(
'rule' => 'email',
'message' => 'Can you please enter a valid email address.',
'required' => true
),
'phone' => array(
'rule' => array('minLength', '10'),
'message' => 'Can you please enter a valid mobile number.',
'allowEmpty' => true
)
);
beforeFilter() is executed before every action in the controller call but beforeRender() is executed before the view is rendered.