CakePHP Framework Tutorial for Beginners

CakePHP Framework Tutorial for Beginners

CakePHP Framework Tutorial for Beginners

What is CakePHP?

CakePHP is an open-source framework that makes the development and maintenance of PHP apps 
much easier. It is based on the concept of MVC architecture. It helps you to separate your business
 logic from data and presentation layers

Why use CakePHP Framework?

Here, are prime benefits/pros of using CakePHP framework:
  • Cake PHP is by far one of the fastest web development platforms.
  • CakePHP allows developers to gain improved control over database and SQL queries.
  • It helps users to develop robust web applications without losing their environmental flexibility quickly.
  • Support for PostgreSQL, SQLite, MySQL, PEAR-DB for ADODB, a database abstraction library.
  • Facilitates search engine friendly URLs
  • Provide features such as input validation and sanitation tools that make the app secure.
  • Template with familiar PHP syntax
Related article : why to use PHP framework?

History of CakePHP

  • CakePHP was developed by Michal Tatarynowicz on April 15, 2005.
  • CakePHP published it under the MIT license and opened it to the community developers.
  • In July 2005, Larry E Masters took over as the main developer.
  • Version 1.0 was released in 2006.
  • Version 2 was released in 2011
  • Version 3 was released in 2014 which is completely recallable of previous versions.
  • Version 3.3.3. Of CakePHP is released with many advanced features in September 2016.
  • Version 3.7.9 is the latest version released on June 19, 2019

Features of CakePHP

Here are important features of CakePHP.
  • Active, friendly community
  • MVC architecture
  • Built-in validation
  • Works from any web site directory, with some or no Apache configuration involved.
  • Templating Engine
  • Caching Operations
  • Easy CRUD Database Interactions.
  • Built-in Validation
  • Handlin Components like Cookies, Email, Security, Session, and Request
  • View Helpers for JavaScript, AJAX, HTML Forms and More

CakePHP- Folder Structure

Below given is folder structure of CakePHP.
Tests - This folder contains test cases for your application.
Tmp - The Temp folder stores temporary data
Seller - This folder will help you store CakePHP, and other application dependencies will be installed
Webroot - Webroot stores all files you want to access publicly
Bin - The Bin contains the cookie console executable files
Logs - It contains your log files, which depends on your log configuration
Config - The configuration folder stores the configuration files that CakePHP uses
Plugins - This folder contains plugins for the application. is where the plugins that your application uses are stored.
Src - It contains a console task and commands to manage your application

Locale Saves string files for internationalization.
Model Contains application tables, units and behaviors

Configuration of CakePHP

CakePHP comes with a single configuration file by default. It also allows you to modify it according to 
your requirements. There is a folder called "config" given for this purpose.

Variable Name
Description
Debug
Allows you to change CakePHP debugging output.
App.namespace
Helps you to find app classes under.
App.baseUrl
Un-comment this keyword when you don't want to use Apache's mod_rewrite with CakePHP.
App.encoding
This command allows you to Define what encoding your application uses
App.base
It is a basic directory that the app is located in. If it is false, it will be automatically detected.
App.fullBaseUrl
Qualified domain name
App.webroot
It is a webroot directory.
App.wwwRoot
The file path to the webroot.
App.jsBaseUrl
Path to the public js directory.
App.paths
Configure paths for non-class based resources
App.cssBaseUrl
It is a web path to the public css directory under webroot
Security.salt
It is a random string used in hashing
Asset.timestamp
This variable allows you to appends a timestamp when using proper helpers

Cake- PHP naming conventions

Cake follows the idea of convention over configuration. Naming convention method lets you organize 
the operation of the web application. In this method, more than one word in the name must be 
separated by "_" when naming the file and the camel case when naming the class.
The MVC parts must follow below given syntax:

File Name
Class Name
Base Class Name
Location
Model
File Name Singular form of the table name with .php extension ex: order.php
The file name in a Camel case, ex: Order
AppModel
/app/models
Controller
tablename_controller with .php extension, ex: ordcrs_controllcr.php
The table name appended Controller, ex: OrdcrsController
AppController
/app/controllers
View
The name of the action in the controller with ctp extension, ex: add.ctp
No classes; a view PHP and HTML tags.

/app/views/controller name

Database Configuration

CakePHP Framework allows you to configure database in the config / app.php file. It provides a 
standard connection with provided parameters that you can change according to your choice
Important parameters are given below:
Database
Name of Database
port (optional) encoding
The TCP port or the Unix socket used to connect to the server.
Timezone
Server time zone to set
Schema
It helps you specify which schema you can use
unix_socket
This database used by drivers to connect via Unix socket files
SSL key
It is a file path to the SSL key file.
ssl_cert
It is a file path to the SSL certificate file.
ssl_ca
It is a file path to the SSL certificate authority
Log
This term helps you to perform query logging.
Init
A list of queries which should be sent to the database server whenever the connection is created.

Set to true if you want to use reserved words or special characters

How does MVC work in CakePHP?

It is a dynamic way to build the main mechanism for a web application. The model, the view and the 
controller - differ from each other
CakePHP framework

Cake PHP splits operations into three parts:
  • Models: Used for all database interactions.
  • Views: Used for all output and displays.
  • Controllers: Used to control the application flow
Here are the steps to using MVC architecture in CakePHP:
Step 1) The client or user interacts with the view
Step 2) Display warning checks for the specific event.
Step 3) It sends a database request to the model and Controller updates the model.
Step 4) The model alerts shows that it has changed.
Step 5) View receives model data and updates according to received data

Why use MVC?

  • CakePHP MVC helps you to distinguish business logic from presentation and data collection.
  • A website is divided into logical sections that you can control with a specific controller.
  • When you test and troubleshoot an application. all developers help find and fix errors without having full details of the code

Disadvantages of using the CakePHP framework

  • Documentation support for CakePHP is not as comprehensive as it should be.
  • To use the CakePHP software, the developer must update the default paths to create great URLs, which is a lot more work compared to other PHP frameworks.
  • CakePHP one-way routing compared to other frameworks.
  • Learning PHP frameworks is not easy.
  • Offers one-way routing is another drawback compared to frames like Ruby on Rails

Comments

Post a Comment