What is Cakephp?
CakePHP is a free, open source framework for fast PHP development. It is a basic structure for programmers to build web applications. CakePHP's goal is to enable developers to work in a structured and fast way - without sacrificing flexibility. CakePHP takes the monotony out of web development.
When was CakePHP developed?
CakePHP started in April 2005. When Polish programmer Michal Tatarynowicz wrote a minimal version of a fast application framework in PHP and called it Cake.CakePHP version 1.0, it was released in May 2006. (Source:http://en.wikipedia.org/wiki/CakePHP)
What is the current stable version of CakePHP?
3.4
(Stand 01.04.2017).
What is MVC in CakePHP?
Model View Controller (MVC) is an architectural pattern used in software development.
Model: Database functions are present in the model
Check out: design parts written here
Controller: This is about business logic
CakePHP MVC architecture
Server requirements for CakePHP.
Here are the requirements for setting up a server to run CakePHP:
An HTTP server (such as Apache) with the following enabled: sessions, mod_rewrite (not essential but preferred)
PHP 4.3.2 or higher. Yes, CakePHP works great in PHP 4 or 5.
A database engine (currently there is support for MySQL 4+, PostgreSQL, and a wrapper for ADODB).
How do I install CakePHP?
Step 1: Go to cakephp.org and download the latest version of CakePHP.
Step 2: Cakephp comes in a ZIP file so unzip it.
Step 3: Extract the files in the localhost to the desired folder (e.g. cakephp).
Step 4: Open the browser and run the URLlocalhost/cakephp
Step 5: Just follow the instructions on the page.
What is CakePHP's folder structure?
cakephp/app/Config/Console/Controller/Lib/ Locale/ Model/ Plugin/ Test/ tmp/ Vendor/ View/ webroot/ .htaccess index.php lib/ Plugins/ Vendors/ .htaccess/ index.php/ README.md/
What is the name of the cakephp database configuration file and what is its location?
The default file name is "database.php.default".
It is in/app/config/database.php.default
.To connect to the database, it must be renamed to "database.php".
What is the first file loaded when you run an application with CakePHP? Can you change this file?
bootstrap.php
yes it can be changed either via index.php or via.htaccess
What are Security.salt and Security.cipherSeed for in CakePHP? How do I change the default value?
- Security.salt is used to generate hashes. We can change the default value of Security.salt/app/Config/core.php
.
- The Security.cipherseed is used to encrypt/decrypt strings. We can change the default value of Security.cipherSeed by editing/app/Config/core.php
.
What are the controllers?
A controller is used to manage the logic for part of your application. Typically, controllers are used to manage the logic for a single model. Controllers can include any number of methods, commonly referred to as actions. Actions are controller methods used to render views. An action is a single method of a controller.
What is the standard function for a controller?
Table of contents()
function
What function is executed for each action in the controller?
function for Filter()
Name some functions in CakePHP
- Compatible with version 4 and 5 of PHP
- MVC-Architektur
- Integrated validations
- Caching
- Steiger
- Access control lists and authentication.
- CSRF protection via security component.
There are drawbacks to using CakePHP all of them.
It loads the entire application before your job begins. Due to its resource-intensive structure, it is not recommended for small projects.
What is the naming convention in CakePHP?
Table names are plural and lower case, model names are singular and CamelCased: ModelName, model file names are singular and underlined:Modelname.php
, controller names are plural and camelcased with *controller* appended:ControllerNamenController
, Controller filenames are plural and underlined with *controller* appended:controller_names_controller.php
,
What is scaffolding in Cakephp?
Scaffolding is a technique that allows a developer to define and build a basic application that can create, retrieve, update, and delete objects.
How do I add scaffolding to your application?
Add this to add scaffolding to your application$ scaffolding
variable in the controller,
Suppose you have created a post model class file (in/app/Model/post.php
), you're good to go. Visithttp://example.com/poststo see your new frame.
What is a component in CakePHP?
Components are logic packages that are shared between controllers. They are useful when common logic or code is required between different controllers.
What are the most commonly used components of CakePHP?
- Security
- sessions
- access control lists
- E-mails
- Cookies
- authentication
- processing questions
- kader
What is a helper?
Helpers in CakePHP are linked to the presentation layers of the application. Helpers mainly contain presentation logic that is available to be shared between many views, elements, or layouts
What are CakePHP's most commonly used helpers?
- FormulationHelper
- HtmlHelper
- JsHelper
- CacheHelper
- NumberHelper
- Paginator
- RSS
- SessionHelper
- TextHelper
- TimeHelper
What is Behavior?
Behavior in CakePHP is linked to models. Behaviors are used to change the behavior of models and force a model to behave like something else.
What is the difference between component, helper and behavior?
Component is a Controller extension, Helpers are View extensions, Behavior is a Model extension.
What is an article?
Elements in CakePHP are smaller and reusable pieces of watch code. Assets are usually displayed in views.
How is the layout?
The layout in CakePHP is used to display the views that contain presentation code. In simple views, they are displayed within a layout.
How do I set the layout in the controller?
var $layout = ‚layout_name‘;
Use the following code in that action to override a specific action$this->layout =“layout_name“;
How do I integrate helpers into the controller?
public $helpers = array('Form', 'Html', 'Js', 'Time');
To use the following code in that action in a specific action$this->helper[] =“helpernaam“;
How do I integrate components into the controller?
public $components = array(‘E-mails’, ‘ImageUploader’, ‘Sms’);
How do I write, read and delete a session in CakePHP?
$this->Session->write('Bird.Color', 'Black');$black = $this->Session->read('Bird.Color');$this->Session->delete('Bird ');
What's the point of $this->set();
OfZin()
The method is used to create a variable in the display file. For example, if we write:$dit->set('posts',$posts);
in the controller file and then the variable$ report
is available for use in the display template file for this action.
Was nützt $this->set(compact());
Use$this->set(compact())
we can pass multiple access parameters to the view file.
For example,$this->set(compact('posts','users','reports'));
Now all these variables are available in the respective display files.
What are the benefits of each? Which one would you use and why?
An advantage of the first case$this->set('messages', $messages);
is that two different names are allowed for the view file and the controller file. For example, you could write something like$this->set('postData', $posts);
. Now the name of the variable in the display file would be $postData. The advantage of the second approach$this->set(compact());
is easier to write and especially useful when we set multiple variables for the display. There is no need to add a separate line for each variable, as we did in$this->set();
For example,
$this->set(compact('posts','users','reports'));
Is it possible to have multiple validation rules per field in CakePHP?
Yes, it is possible.
What's wrong with the following validation rule?
'email' => array( 'rule' => array( 'rule' => 'notEmpty', 'message' => 'Please enter email address.' ), 'rule' => array( 'rule' => ' email', 'message' => 'Entered email address is invalid.' ))
The problem is the first linenot empty
is never called because the mail rule overrides it. If you use multiple validation rules for the same field, keep the rule key "unique". In this case, if we want to use multiple rules, we can simply change the names of the rule keys, e.g. B.
'email' => array( 'rule1' => array( 'rule' => 'notEmpty', 'message' => 'Please enter email address.' ), 'rule2' => array( 'rule' => ' email', 'message' => 'Entered email address is invalid.' ))
What is the difference between "required" and "not empty" in CakePHP?
Difference between required and not empty
How do I get the current URL in CakePHP?
To get the current URL in CakePHP use:
echo Router::url($this->here where);
This will give you a full URL with a hostname. If you want a relative path instead of the full URL, use the following code:
echo $dit->yesterday;
This will create an absolute URL with no hostname i.e. H./controller/abc/xyz/
How to make URLs search engine friendly with CakePHP?
It is an automatic task performed by CakePHP.
Can you name some database related functions in CakePHP?
search, find everything, search everything on, search on, search and request neighbors.
What methods are used to create and destroy model associations on the fly?
OfbindModel()
InunbindModel()
Model methods are used to create and destroy model associations on the fly.
What is the requestAction method for?
The methodRequestAction
used to invoke a controller's action from anywhere and return data from the action.
What is Recursive in CakePHP?
Follow this post to understand this topic: Recursive in CakePHP
How can we use Ajax in CakePHP?
By calling the Ajax helper and then using it in the controller to render.
What does habenm mean?
Has and belongs to many is a type of association that can be defined in models to retrieve related data about different entities.
What does the CakePHP URL look like in the address bar?
http://example.com/controller/action/param1/param2/param3
How to embed a site-wide JavaScript menu? Enter steps.
By adding the javascript files in webroot and calling them where needed in standard views or only in the associated views.
Why does CakePHP have two vendor directories? What is the difference between the two Vendors folders available in CakePHP?
There are two vendor directories available in the CakePHP framework. One in the app folder and one in the root folder
- The supplier folder in theapp
The folder is used to place the third-party application-specific libraries.
- The supplier folder in thecarrot
The folder is used to place the third-party libraries used for multiple applications.
What is the default display file extension in CakePHP? can we change it if so how?
The default extension of display files is.ctp
Yes, we can change it by writing publicly$ext = '.uwext';
in AppController. If you want to change it for a specific controller, just add it to that controller. You can also change it for the specific controller action by pasting it into that controller action.
public $ext = '.uwext'; in AppController - you can change all display extensions. public $ext = '.uwext'; In certain controllers such as PostsController you can change all the view extensions of PostsController.public. $ext = '.uwext'; In certain controller actions such as index() you can change the view extension of index.ctp
Remark:You cannot specify multiple extensions. However, it seems that .ctp can be used if no .php file is found.
How can you set a custom page title for the static page?
To set a custom page title, copy and paste the following code somewhere in your static page file (.ctp):
$this->set("title_for_layout", "My page title");
How do I view the model's schematic?
To display the schematic of a specific model, just add the following single line of code. For example, we have the "Posts" controller.
pr($this->Post->schedule());
Read us to learn more about CakePHPCakePHP Tutorials-series.
FAQs
How to prepare for PHP technical interview? ›
- How can PHP and HTML interact? ...
- What is the purpose of @ in PHP? ...
- Explain the importance of Parser in PHP? ...
- What are the different types of Array in PHP? ...
- Explain the main types of errors. ...
- What are traits? ...
- Does JavaScript interact with PHP? ...
- How does the 'foreach' loop work in PHP?
- 1) What is PHP? ...
- 2) What is PEAR in PHP? ...
- 3) Who is known as the father of PHP? ...
- 4) What was the old name of PHP? ...
- 5) Explain the difference b/w static and dynamic websites? ...
- 6) What is the name of scripting engine in PHP? ...
- 7) Explain the difference between PHP4 and PHP5.
Object - Objects work on the concept of OOPs (object-oriented programming); this data type is declared solemnly to store complex data using encapsulation; these data types are usually deployed in order to call a class. NULL - This is a specific data type whose solemn purpose is to store a null value or no value at all.
Is it hard to pass technical interview? ›Technical interviews are tough and can be really stressful if you're not prepared correctly. Also, even though I successfully passed a selection process, I know I still have a lot to learn about this and that I'll need to perfect this skill to further grow my career in the future.
What are the 7 preparations for interviews? ›- Prepare Thoroughly. Preparation goes beyond just understanding and researching the company's website and perusing the annual report; they're a given. ...
- Make a Good First Impression. ...
- Run Offense, Not Defense. ...
- Use a Nonverbal Strategy. ...
- Be Positive. ...
- Connect All the Dots. ...
- Ask for the Job!