1. Home
  2. Documentation
  3. Tutorials
  4. MVC Tutorials
  5. Getting Started with Zend Framework
  6. Overview

Getting Started with Zend Framework

In This Article

Getting Started with Zend Framework MVC Applications

This tutorial is intended to give an introduction to using Zend Framework by creating a simple database driven application using the Model-View-Controller paradigm. By the end you will have a working ZF application and you can then poke around the code to find out more about how it all works and fits together.

Some assumptions

This tutorial assumes that you are running at least PHP 5.6 with the Apacheweb server and MySQL, accessible via the PDO extension. Your Apache installationmust have themod_rewrite extension installed and configured.

You must also ensure that Apache is configured to support.htaccess files.This is usually done by changing the setting:

AllowOverride None

to

AllowOverride FileInfo

in yourhttpd.conf file. Check with your distribution’s documentation forexact details. You will not be able to navigate to any page other than the homepage in this tutorial if you have not configuredmod_rewrite and.htaccessusage correctly.

Getting started faster

Alternatively, you can use any of the following as well:

  • The built-in web server in PHP. Runphp -S 0.0.0.0:8080 -t public public/index.php in your application root to start a web server listening on port 8080.
  • Use the shippedVagrantfile, by executingvagrant up from the application root. This binds the host machine's port 8080 to the Apache server instance running on the Vagrant image.
  • Use the shippeddocker-compose integration, by executingdocker-compose up -d --build from the application root. This binds the host machine's port 8080 to the Apache server instance running container.

The tutorial application

The application that we are going to build is a simple inventory system todisplay which albums we own. The main page will list our collection and allow usto add, edit and delete CDs. We are going to need four pages in our website:

PageDescription
List of albumsThis will display the list of albums and provide links to edit and delete them. Also, a link to enable adding new albums will be provided.
Add new albumThis page will provide a form for adding a new album.
Edit albumThis page will provide a form for editing an album.
Delete albumThis page will confirm that we want to delete an album and then delete it.

We will also need to store our data into a database. We will only need one tablewith these fields in it:

Field nameTypeNull?Notes
idintegerNoPrimary key, auto-increment
artistvarchar(100)No
titlevarchar(100)No

Found a mistake or want to contribute to the documentation? Edit this page on GitHub!