Skip to main content

By clicking Submit, you agree to the developerWorks terms of use.

The first time you sign into developerWorks, a profile is created for you. Select information in your developerWorks profile is displayed to the public, but you may edit the information at any time. Your first name, last name (unless you choose to hide them), and display name will accompany the content that you post.

All information submitted is secure.

  • Close [x]

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerworks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

By clicking Submit, you agree to the developerWorks terms of use.

All information submitted is secure.

  • Close [x]

Learning PHP, Part 3: Authentication, objects, exceptions, and streaming

Nicholas Chase (ibmquestions@nicholaschase.com), Consultant, 自由职业者
Nicholas Chase has been involved in Web-site development for companies such as Lucent Technologies, Sun Microsystems, Oracle, and the Tampa Bay Buccaneers. He has been a high school physics teacher, a low-level-radioactive-waste facility manager, an online science fiction magazine editor, a multimedia engineer, an Oracle instructor, and the chief technology officer of an interactive communications company. He is the author of several books, including XML Primer Plus (Sams, 2002).
Tyler Anderson, Freelance Writer, Backstop Media
Tyler Anderson received his bachelor's degree in computer science in 2004 and his master's degree in electrical and computer engineering in 2005 from Brigham Young University. He worked with Stexar Corp. as a design engineer, R&D, from May 2005 to August 2006. Since his discovery by Backstop Media LLC in early 2005, he has written and coded numerous articles and tutorials for IBM developerWorks and DevX.com.

Summary:  This tutorial is Part 3 of a three-part "Learning PHP" series teaching you how to use PHP through building a simple workflow application. In this tutorial, you will learn about using HTTP authentication, streaming files, and how to create objects and exceptions.

View more content in this series

Date:  12 Jul 2005
Level:  Intermediate

Activity:  17812 views
Comments:  

Before you start

About this tutorial

This tutorial finishes the simple workflow application you began in the first part of this series about learning PHP. You will add HTTP authentication, the ability to stream documents from a non-Web-accessible location, and exception handling. You'll also organize some of the application into objects.

Overall, you will add the ability for an administrator to approve a file, making it generally available to users. Along the way, the following topics will be discussed:

  • Enabling and using browser-based HTTP authentication
  • Streaming data from a file
  • Creating classes and objects
  • Using object methods and properties
  • Creating and handling exceptions
  • Using XML ID attributes
  • Validating an XML document using a Document Type Definition (DTD)
  • Controlling access to data based on the requesting page

Who should take this tutorial?

This tutorial is Part 3 of a three-part series designed to teach you the basics of programming in PHP while building a simple workflow application. It is for developers who want to learn more about advanced topics, such as using PHP for object-oriented programming. This tutorial also touches on HTTP authentication, streaming, classes and objects, and exception handling, as well as provides another look at manipulating XML.

This tutorial assumes familiarity with the basic concepts of PHP, such as syntax, form handling, and accessing a database. You can get all the information you will need by taking "Learning PHP, Part 1" and "Learning PHP, Part 2," and by checking the Resources.


Prerequisites

To follow along with the sample code, you need to be sure the following tools are installed and tested:

HTTP server -- You can install PHP on a variety of HTTP servers, such as Apache and Microsoft® IIS, and on Windows®, Linux®, UNIX®, Mac OS X, and other platforms. In general, your choice of server doesn't matter, but this tutorial will cover some configurational issues regarding HTTP authentication using Apache 2.X as an example. You can download the Apache HTTP server from Apache.

PHP -- Of course, you will also need a distribution of PHP. Both PHP V4 and V5 are in use at the time of this writing, but this tutorial concentrates on V5 because of its enhancements. Download PHP.

Database -- Part of this project involves saving data to a database, so of course you'll need one of those, as well. This tutorial covers MySQL because it's so commonly used with PHP. You can download MySQL from http://dev.mysql.com/downloads/index.html.

1 of 10 | Next

Comments



Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Open source
ArticleID=133669
TutorialTitle=Learning PHP, Part 3: Authentication, objects, exceptions, and streaming
publish-date=07122005
author1-email=ibmquestions@nicholaschase.com
author1-email-cc=
author2-email=tyleranderson5@yahoo.com
author2-email-cc=

Tags

Help
Use the search field to find all types of content in My developerWorks with that tag.

Use the slider bar to see more or fewer tags.

Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere).

My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Use the search field to find all types of content in My developerWorks with that tag. Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Try IBM PureSystems. No charge.