Cakephp : Quiz, Questions, Mock Test
Cakephp : Quiz, Questions, Mock Test
Course Content
🍰 Introduction to CakePHP
📌 What is CakePHP?
CakePHP is an open-source PHP framework for rapid web development.
📜 History & Versions of CakePHP
🏛️ CakePHP 2.x (Legacy version)
🔄 CakePHP 3.x (Modern improvements)
🚀 CakePHP 4.x (Latest stable version)
⚖️ CakePHP vs. Other PHP Frameworks
🍰 CakePHP vs. 🚀 Laravel
🍰 CakePHP vs. 🔥 CodeIgniter
🍰 CakePHP vs. 🏗️ Symfony
🏗️ MVC Architecture in CakePHP
CakePHP follows the Model-View-Controller (MVC) pattern.
📂 CakePHP Conventions & Folder Structure
Understanding CakePHP’s directory layout.
🔧 Installing CakePHP
📋 System Requirements for CakePHP
PHP 7.4+
Composer
📥 Installing CakePHP via Composer
composer create-project --prefer-dist cakephp/app my_project📁 Directory Structure of CakePHP
Overview of CakePHP's directories.
🔗 Setting Base URL in config/app.php
Configure base URL settings.
▶️ Running CakePHP Development Server
bin/cake server⚙️ CakePHP Configuration
🔑 Understanding config/app.php
Learn about core configuration settings.
🛢️ Configuring Database in config/app_local.php
Set up database connection details.
🌍 Setting Environment Variables (.env file)
Define custom environment settings.
🐞 Debug Mode & Error Handling
Enable debug mode for development.
⏰ Configuring Timezone & Localization
Customize CakePHP’s timezone settings.
🚏 CakePHP Routing
🔀 Basic Routing (config/routes.php)
$routes->connect('/home', ['controller' => 'Pages', 'action' => 'display', 'home']);📌 Parameterized Routes
$routes->connect('/users/:id', ['controller' => 'Users', 'action' => 'profile'], ['id' => '\d+']);🔄 Named Routes & Redirect Routes
Create named and redirected routes.
🔗 RESTful Routing for APIs
Implement RESTful API routes.
🛡️ Middleware in Routes
Use middleware for request handling.
🎛️ CakePHP Controllers
🏗️ Creating a Controller
bin/cake bake controller Users📌 Controller Methods & Actions
Define actions inside controllers.
🔧 Using Components in Controllers
Use built-in and custom components.
🔁 Redirecting & Flash Messages
$this->Flash->success('User created successfully.');
return $this->redirect(['action' => 'index']);🏛️ CakePHP Models & ORM
📦 Creating a Model
bin/cake bake model Users🔎 Querying the Database using ORM
$users = $this->Users->find()->all();🏗️ Using Query Builder
$query = $this->Users->find()->where(['status' => 'active'])->toList();🔍 Custom Finder Methods
Define custom query functions.
🔗 Model Associations (hasOne, hasMany, belongsTo, belongsToMany)
Set up database relationships.
🎨 CakePHP Views & Templating
📑 Creating Views in templates/
Store view files inside templates.
🎭 Passing Data to Views
$this->set('users', $users);🏗️ Using Layouts & Elements
echo $this->element('header');🛠️ CakePHP Helpers (FormHelper, HtmlHelper)
Use built-in helpers for UI.
⚡ AJAX in CakePHP Views
Implement AJAX-based functionality.
🗄️ CakePHP Migrations & Database Seeding
📦 Creating a Migration
bin/cake bake migration CreateUsers🚀 Running Migrations
bin/cake migrations migrate🔙 Rolling Back Migrations
bin/cake migrations rollback🌱 Seeding the Database
bin/cake bake seed Users
bin/cake migrations seed🔄 CakePHP CRUD Operations
➕ Insert Data into Database
$user = $this->Users->newEntity($data);
$this->Users->save($user);🔍 Retrieve Data
$users = $this->Users->find()->all();✏️ Update Data
$user->name = "Updated Name";
$this->Users->save($user);🗑️ Delete Data
$this->Users->delete($user);🔏 CakePHP Authentication & Authorization
🔑 User Login & Registration
Implement secure authentication.
🔐 Hashing Passwords
$hashedPassword = (new DefaultPasswordHasher())->hash($password);🛡️ Role-Based Access Control (RBAC)
Define roles and permissions.
🔌 CakePHP Authentication Plugin
Use the authentication plugin.
📤 CakePHP RESTful API Development
🔗 Creating API Routes
Define API routes for endpoints.
📜 CakePHP API Controller
bin/cake bake controller Api/Users --prefix Api📦 JSON Response in API
return $this->response->withType('application/json')->withStringBody(json_encode($data));🔑 API Authentication with JWT
Implement JSON Web Token (JWT) authentication.
🎭 CakePHP Events & Hooks
🔔 Defining Custom Events
$event = new Event('Model.User.afterRegister', $this, ['user' => $user]);📡 Using Event Listeners
Listen to CakePHP events.
✉️ CakePHP Email & Notifications
📤 Sending Emails
$email = new Email('default');
$email->setTo('user@example.com')->setSubject('Welcome')->send('Hello!');📡 SMTP Configuration
Configure SMTP for sending emails.
📅 CakePHP Task Scheduling & Queues
⏳ Running Cron Jobs in CakePHP
Schedule tasks efficiently.
🛠️ Using Queues with Redis & RabbitMQ
Implement background processing.
🔒 CakePHP Security Best Practices
🛡️ CSRF Protection
Enable CSRF tokens.
🛑 XSS Protection
Prevent cross-site scripting attacks.
🔐 SQL Injection Prevention
Use ORM to avoid SQL injection.
🚀 CakePHP Deployment & Optimization
📦 Deploying CakePHP on Shared Hosting
Optimize CakePHP for shared hosting.
☁️ Deploying CakePHP on AWS, DigitalOcean
Set up CakePHP on cloud platforms.
⚡ Enabling Cache in CakePHP
Boost performance with caching.
📊 Database Indexing for Optimization
Improve query performance.