company catalog schedule discounts register contact
Logo (415) 392-8024
sanfrancisco@academyx.com

SF Bay Area

Register:

Nearby:

Price: $1950 for twenty-four evenings
Time: 6pm - 9pm
Held at: 601 Montgomery St. #409
San Francisco, CA 94111
checkmark Onsite training available
checkmark 1-on-1 training available
Call us for details

Web Developer Course - San Francisco

This three month training course offers an extended study in open source web programming technologies: the Apache web server, the MySQL database, and the PHP programming language. This training course meets twice a week, on Monday and Wednesday evenings.

Would you like to visit a current evening program class? We encourage students to visit our facilities and see the quality of the training. AcademyX periodically offers a free seminar from 6-8pm, entitled "Web Careers". It addresses ways to earn money in this industry as an employee, contractor, or entrepreneur, and how this web developer program would enable you to do this. Call 415-392-8024 to RSVP.

At the end of the training course, students should be able to write, from scratch, the code for a database-driven web site with:

  1. a contact form that sends email programmatically
  2. a product catalog drill-down search
  3. a registration/login form that authenticates users
  4. a guestbook
  5. a bulletin board
  6. a shopping cart

Topic Description
The Big Picture

In this section we will give you an overview of how the Web works: where web pages are kept, what they are made of, how they are sent back and forth, and how they are displayed by web browsers. We will register some domain names and set up an account with a real web hosting company. We'll define and and explain domain registrars, web hosting companies, and the term 'client-server interaction'.

We'll also cover the nitty-gritty issues involved in hosting your own web site. We'll show you how each computer has an Internet Protocol (IP) address like a telephone number that allows you to contact it. We'll illustrate how you go about getting such a number and how to configure your computer or router to assign them to computers. If your office or home uses a firewall, we'll show you how to forward requests for web pages to the right computer. We'll also show you nameservers work; these are the software applications that resolve web URLs to IP addresses.

Apache and IIS

Apache and Microsoft Internet Information Server are web servers: they answer requests for web pages and process any server-side programming languages. We cover both web servers, starting with IIS since it is a little easier to configure.

We show you how browsers submit requests for web pages and how Apache handles those requests. The most important part of any web server is the ability to have multiple web sites and map domain names to folders. We'll show you how to do this in both web servers. You'll learn how to set up directory listings and enable home pages.

You'll also learn how to keep track of visits in log files, create aliases to directories outside the web root, and forbid or allow external and internal visitors to your site. We also cover the various extensions for Apache and IIS that give you more control over their feature sets.

MySQL MySQL is a freely downloadable database server that is commonly used in web applications. In this part of the coure we explain:
  • basic concepts: servers, databases, tables, rows, fields, and Structured Query Language (SQL)
  • the MySQL server
  • the MySQL Query Browser
  • the MySQL Administrator
  • creating tables with different field data types
  • granting privileges to users
  • tools: mysqldump, mysqlshow, mysql.exe
  • stored procedures
  • triggers
  • transactions
  • connecting to MySQL from Microsoft Access using a data source

In the lab sections for this topic we'll ask you to convert raw product, customer, and company information from several raw text files into a working relational MySQL database. You'll have to set up users with privileges to access parts of the data.

PHP Basics PHP Hypertext Preprocessor (PHP) is the most popular language on the Web. PHP is freely downloadable and works well with the Apache web server and MySQL database under both Windows and Unix. It has much the same syntax as many other programming languages. In this section we will cover:
  • downloading and installing php
  • configuring your web server for php
  • syntax rules
  • variables, operators and output
  • string, math, and date functions
  • conditionals and loops
  • retrieving <form> data
  • miscellaneous useful stuff
  • sending email programmatically

Our goal at the end of this section is to produce a "Contact Us" form that validates form data and sends off an email using PHP.

PHP Arrays and Database Integration In this section we'll cover the use of variables that contain multiple values. This includes:
  • arrays
  • associative arrays
  • iteration with foreach loops

 

PHP and Database Integration

Once you have an understanding of MySQL, the next step is to get one of your PHPs to connect to it and run some SQL commands against the database. We will show you the PHP instructions for connecting to the database, conveying SQL commands to it, as well as capturing any errors. By the end of the training class, you'll know how to use PHP to connect to, update, and select data from MySQL. We'll also show you how to connect to any ODBC database, include SQL Server and MS Access.

Now that you can connect to a database from PHP and execute SQL commands, it's time to put this into practice. We will try to build a data-driven web site that displays the contents of a product catalog.

PHP Functions, File I/O, Sessions, and Cookies In this section we will cover other useful PHP topics such as defining functions, opening/updating text files on the server, and handling session/cookie data.
PHP Pattern-Matching

Pattern matching is the process of searching for character patterns in text. For example, your code could open a text file and sift through it to identify all the character patterns that match email addresses. We'll show you how to express patterns, perform substitutions, and capture pattern matches.

At the end of this section students work on the lab: creating a content management system using PHP and MySQL. Pattern-matching will be used to identify text placeholders and to strip user-inputted HTML.

Object-Oriented PHP and PEAR Writing object-oriented code produces software that is easier to manage. We'll explain the basics of object oriented coding. This includes:
  • classes, methods and properties
  • inheritance and polymorphism

We then cover the implementation of these topics within PHP. We show you:

  • how to use other people's classes
  • how to create your own classes with methods and properties
  • how to install and use PEAR modules

In the lab we code a shopping cart checkout that uses object-oriented PHP for the shopping cart.

PHP Frameworks

Frameworks are libraries of PHP files that enforce a standard set of processes for writing PHP web site applications. We install and review the three most popular frameworks for PHP:

  • Zend
  • Symfony
  • cakePHP
PHP Content Management Systems

Content management systems, at worst, are web site templates that allow you to easily implement a data-driven web site; at best, they are drag-and-drop, plug-and-play web site applications that allow for downloadable module extensions, content management permissions, foreign language translation support, and ecommerce integration. We cover three popular CMSs:

  • WordPress
  • Joomla
  • Drupal

Prerequisites

  • Prior experience programming in another language is strongly recommended
  • Basic knolwedge of HTML and CSS

Newsletter subscribers can win $100 credit!