Building and Programming Web Pages with HTML5, CSS3 & JavaScript

CO-921 : The Yii framework for PHP developers

  • 18Training hours
  • 6Lectures
  • 3Assistant hours
  • 450Egyptian pounds
  • 13Students maximum
Yii Framework

What is Yii ?

Yii is short for "Yes it is", an open-source framework running on PHP, for developing dynamic, high-performance web applications in the least possible time and effort, by using the ready-made libraries and components bundled inside the framework.

Those libraries carry a great many ready-made routines covering every part of a project: connecting to and working with databases, URL rewriting, libraries for JavaScript work, and more. Between them they let you finish a long list of complicated jobs in a short time and without the effort.

What are the advantages of working with Yii ?

  • It saves the programmer time while developing any application.
  • Writing the code is easier and more flexible, because the libraries and ready-made routines are already there
  • The site's files, folders and code are organised beautifully, which makes a project far easier to pick back up after time away from it.
  • It works on OOP principles.
CodeIgniter MVC

How Yii works

Yii is built on the MVC idea (Models - Views – Controllers) and each part has its own job :

  • Models
    The layer responsible for dealing with the databases
  • Views
    The layer that forms the application's interface, the visible part shown to the user
    and it usually holds the design code
  • Controllers
    This layer is the link joining the data layer (Models) to the interface layer (Views)

What the programme covers

Exploring Yii

  • Introduction to the Course
  • What Is a Framework?
  • What Is an MVC?
  • MVC Request Routing
  • Introducing Yii

Getting Started with Yii

  • Getting Started with Yii
  • Generating a Web Application with Yii
  • Configuring Yii
  • Developing a Photo Gallery Application
  • Using Gii to Generate the CRUD Application

Starting Development (Using our IDE)

  • Introducing the CActiveRecord Object
  • Forms and the CHtml Component
  • Using Third-party Extensions to Enhance Functionality
  • Simplifying Database Queries Using Yii's ActiveRecord Class
  • Creating and Updating Our Album Model
  • Embedding a Subform

Testing Your Application

  • Testing Our Application
  • Setting Up Our Test Environment
  • Creating a Unit Test to Automate the Testing of Common Tasks
  • Using Fixtures
  • Functional Testing with Selenium Server

The Photo Application

  • Installing Yii Extensions
  • Preparing the Forms and Inserting the Uploader Widget
  • Building a Controller Action to Upload and Crunch Our Images
  • Understanding the GridView and Customizing It's Layout
  • Adding Finishing Touches to the Photo Album Management Forms

Themes, Layout, and User Access

  • Theming an Application
  • Modifying the Default System Layout to Modify the Menus
  • User Authentication – The Default Yii Model
  • Extending the Yii User Model to Suit Our Application
  • Understanding the Yii Security Model

Debugging, Logging, and Error Handling in Yii

  • Using Xdebug to Debug Your Applications in Real Time
  • Configuring Yii to Use Different Log Routes
  • Profiling SQL queries
  • Installing and Using the Yii Debug Toolbar Extension
  • Exception Handling in Yii Using the CException and CHttpException classes

Customizing our Album Interface

  • Including Tags
  • Including Tags
  • Using Model Behaviors
  • Using Lookups and Dropdown-List Boxes
  • Adding the Comment Add and Display Forms
  • Deploying Our Photo Application

What you need first

  • A good knowledge of the web design languages HTML/CSS
  • A full grasp of the fundamentals of PHP (a placement test may be set before your registration is accepted - free of charge - )

Meet the trainers on this course

Hamada Mahmoud
Hamada Mahmoud
Trainer and web developer

Hamada works as a professional web developer across a number of platforms, PHP and MS ASP.NET among them, and is a Microsoft Certified Solutions Developer for web applications, which he took after his computer science degree. He has spent years building web applications for the commercial market, alongside teaching a long list of training courses in the field.

A message for the trainer? Send it from here.
Marwa Ali
Marwa Ali
Web application developer, PHP

Marwa teaches web programming with PHP and MySQL databases. She has more than three years of commercial and training experience behind her, and certifications from Microsoft and CIW.

A message for the trainer? Send it from here.
Mostafa Hefny
Mostafa Hefny
Head of the academy, and PHP application developer

Mostafa began his working life five years ago in web design and web programming, in languages such as HTML, CSS and PHP, before moving across into training. He chose to pursue that ambition independently, and founded Seven Dash Training Academy in early 2010. He has taught web programming languages at Seven Dash ever since, and later founded a second company specialising in web design and development, named "Dominato", bringing together commercial experience and teaching skill.

A message for the trainer? Send it from here.

Following a particular track ?

Here is where this course sits in every training track that runs through it


What else comes with this course


  • Sit the course again, free

  • Drinks cafeteria

  • A room worth sitting in

  • Support that continues

  • Private assistant hours
Book this course

Reserve your seat on this course

Enter your details now and we will call you to fix a date and take you through the booking.



Have a question ?

We are glad to help you get a better grasp of things, so do not hesitate to contact us if you have any questions at all.



98 Mostafa El Nahas
Nasr City - Cairo.