Introduction to Modern Programming with PHP

An introduction to modern web programming techniques with PHP, Postgresql, Composer, and Vagrant
4.4 (112 ratings) Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
660 students enrolled
$19
$20
5% off
Take This Course
  • Lectures 123
  • Length 16 hours
  • Skill Level Beginner Level
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works

Discover

Find online courses made by experts from around the world.

Learn

Take your courses with you and learn anywhere, anytime.

Master

Learn and practice real-world skills and achieve your goals.

About This Course

Published 8/2015 English

Course Description

Learn to build a web application using modern design principles and tools, including HTML5, Git, Twitter Bootstrap, Postgresql, PHP5, Vagrant and JQuery. We'll go through the entire web development process from start to finish, and learn how to build a modern, stable, secure web application. No prior programming experience is required.

What are the requirements?

  • All you need is a Windows or Macintosh computer and an Internet connection.

What am I going to get from this course?

  • Understand how to program in PHP 5.6 using Object Oriented principles
  • Use Composer to manage our PHP packages
  • Use Vagrant to build and maintain a virtual server on our local machine
  • Maintain a repository of code using Git version control
  • Build mobile friendly web pages using HTML5
  • Understand and use CSS, including Twitter Bootstrap
  • Understand and use Javascript, including jQuery
  • Install, configure, and use a database using Postgresql
  • Build an interactive website using PHP 5.6, using modern design principles

What is the target audience?

  • This course is intended for people interested in learning how to program. It is not intended for experienced programmers.

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.

Curriculum

Section 1: Introduction and course Requirements
05:55

A brief introduction to the course.

03:08

Installing Atom, an easy to use text editor that we'll be using to build HTML, Javascript, and all the other technologies we'll be covering in this course.

05:03

How to use Atom, our text editor, to manage project files

Section 2: Hypertext markup language - HTML
17:31

Building a very simple web page

03:12

Using an Atom package to automatically format our HTML

03:53

Displaying lists of information, either with bullets, or as a numbered list

15:12

How to add images, tables, and forms to your web page

Section 3: Cascading Stylesheets - CSS
13:19

A brief introduction to cascading style sheets

11:33

Making the login form more useful

14:43

How to install and use Twitter Bootstrap, a great CSS framework

05:46

How to position things on the page with Bootstrap

10:26

Creating a simple form which uses Bootstrap's CSS

05:44

Creating a user registration form using Twitter Bootstrap's classes

Section 4: Javascript and jQuery
11:37

The basics of Javascript syntax. We'll cover more as we go along.

04:31

An introduction to the Javascript function

13:36

Simple (primitive, really) validation with hand-written functions

12:44

A more elegant form of validation using JQuery and JQuery-Validate

08:59

Selecting by class, id, or html tag with jQuery

Section 5: Vagrant - Installing a virtual server
03:05

Starting and using Terminal program on Macs, and the Command Prompt on Windows

02:42

Installing the necessary software to get our VM up and running

10:56

Get a copy of the virtual machine we'll be using for the remainder of the course.

Vagrant Up for Windows Users
06:08
01:21

Putty, an ssh client for Windows users

12:48

A brief introduction to some useful Unix/Linux commands

04:00

Using vagrant share to make our website available to others for review

Updating to PHP 7
03:28
Section 6: PHP
00:51

Everyone makes mistakes, so I'm not going to hide mine

08:27
A simple introduction to PHP and variables
02:29

Some resources that you will find helpful as we proceed

11:08

Writing our very first PHP script

Arrays and loops
13:45
13:40

A simple way (which we'll improve upon) to handle posting form information

Assignment: complete handling our posted form data
06:12
05:28

Another useful data structure

10:05

How to persist data across web pages

Section 7: Introducing Composer
Installing Composer
05:35
Configuring Composer
07:17
Whoops! Better error reporting
Preview
11:04
Installing more packages, and rearranging application structure
06:33
03:48

Force all web page requests to go through our index file

Simple routing
09:05
Better routing
11:45
Even better routing
Preview
16:38
Handling posted data with a controller
06:29
Section 8: Introducing Postgresql, our database
Introduction to Postgres
15:19
PHP and SQL (the hard way)
11:43
Section 9: Object Relational Mapping, or Databases made simpler
Setting up our ORM
11:30
Accessing the database eloquently
08:33
Revisiting our register form
05:57
Section 10: Better Validation
01:51

Respect/Validate -- an excellent validation package

08:12

Using an existing validation package in our app

02:50

A simple assignment on validation

10:22

Improving our autoloader, and implementing namespacing

19:54

Ensuring emails are actually valid emails

Validating email
Preview
02:36
08:03

Making sure that passwords and emails are entered correctly

04:49

Improving our code style, and a helper app to automate the process

03:34

Password hashing made simple

06:59

Finishing off our validation class and logic

Section 11: Overall Site Structure
02:57

Deciding what our site will consist of

12:52

Building a slider and a top navigation bar

09:06

Adding content to our home page

Section 12: Templating
Install Twig
01:10
Setting up Twig
05:52
Getting ready to use Twig templates
06:20
Using Twig templates
09:11
Including templates
05:53
Showing errors with Twig
12:07
Defining more Twig blocks
10:56
Improving the home page
10:15
Section 13: Blade Templating
Introduction to Blade templates
09:09
Update our templates to use Blade
Preview
14:50
Update our error message to Blade format
08:18
Section 14: Introducing Git
Setting up git
02:10
Adding our project to git
12:05
Pushing changes, branching and tagging versions
10:25
Section 15: Database migrations with Phinx
Installing and introducing Phinx
12:31
Create more tables & a foreign key
11:05
Rebuilding the entire database
Preview
02:52
Seeding the database
04:27
Section 16: Models, Views and Controllers working together
Creating models for our new tables
02:56
Model relations
02:53
Working with model relations
13:11
Serving page content from the database
19:57

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

I have twenty years of experience in professional software development, and twenty years of experience as a University level educator and researcher.

As an entrepreneur, I have worked with a broad range of clients, including Thomson Nelson, Hewlett Packard, the Royal Bank of Canada, Keybank, Sprint, and many, many others. I also have extensive management and project management experience. I have led teams of fifty developers and artists on multi-million dollar projects, and much smaller teams on much smaller projects.

As a professor, I have taught in a wide variety of course areas, including Computer Science, English, Irish, and American literature, and a number of "crossover" courses that bridge the liberal arts and technologies.

I have won regional, national, and international awards for my work in the IT field, and have also won awards for my teaching and research efforts as a University professor.

Ready to start learning?
Take This Course