Start learning with our library of video tutorials taught by experts. Get started

Dreamweaver with PHP and MySQL

Understanding PHP custom classes


From:

Dreamweaver with PHP and MySQL

with David Gassner

Video: Understanding PHP custom classes

In addition to offering code hinting for PHP language elements, Dreamweaver CS5 also gives you code hinting for custom classes. A PHP custom class is a way of creating reusable code. I'll start by creating a custom class, and then showing you how to use code hinting to use its features. I will be working with the version of files in the exercise files, in a folder named 03_managingcode > 02_hintingwithclasses. I will start in my _includes folder.
Expand all | Collapse all
  1. 8m 48s
    1. Welcome
      1m 25s
    2. What you should know before watching this course
      2m 17s
    3. Using the exercise files
      1m 40s
    4. Understanding the differences between Dreamweaver CS5.5 and CS6
      3m 26s
  2. 19m 31s
    1. Understanding static vs. dynamic web pages
      4m 32s
    2. Selecting application and database servers
      6m 10s
    3. Introducing Apache, MySQL, and PHP
      6m 36s
    4. Installing Apache, MySQL, and PHP
      2m 13s
  3. 39m 34s
    1. Defining a Dreamweaver site
      3m 22s
    2. Configuring a PHP testing server
      7m 48s
    3. Creating and testing a PHP-based web page
      8m 25s
    4. Adding PHP commands with the Insert panel
      3m 14s
    5. Setting and outputting simple variables
      3m 56s
    6. Testing pages with Live view and Live Code view
      2m 9s
    7. Using server-side includes
      7m 50s
    8. Navigating included pages with the Code Navigator
      2m 50s
  4. 36m 37s
    1. Using code hinting with PHP variables
      5m 31s
    2. Understanding PHP custom classes
      6m 38s
    3. Adding Zend Framework to PHP on Windows
      5m 18s
    4. Adding Zend Framework to PHP on Mac
      4m 2s
    5. Using the Site-Specific Code Hints feature
      3m 43s
    6. Using Zend Framework classes with code hints
      7m 26s
    7. Managing reusable code with the Snippets panel
      3m 59s
  5. 18m 27s
    1. Understanding relational databases
      5m 26s
    2. Creating a MySQL database in phpMyAdmin
      4m 41s
    3. Adding data in phpMyAdmin
      2m 46s
    4. Importing a completed database from a script
      5m 34s
  6. 39m 35s
    1. Defining a Dreamweaver database connection
      5m 27s
    2. Building a simple recordset
      4m 31s
    3. Building an advanced recordset
      5m 1s
    4. Displaying data with repeating regions
      6m 4s
    5. Displaying data in a dynamic table
      4m 15s
    6. Formatting dynamic data
      4m 54s
    7. Displaying the total number of records
      2m 4s
    8. Limiting records with paging controls
      4m 5s
    9. Creating conditional regions
      3m 14s
  7. 43m 12s
    1. Building a simple data entry form
      5m 27s
    2. Handling form submissions with PHP
      5m 12s
    3. Creating a customer email form
      3m 9s
    4. Validating form controls with Spry
      7m 54s
    5. Populating a list control with dynamic data
      4m 50s
    6. Working with multiple checkbox controls
      8m 5s
    7. Sending email with Zend_Mail
      8m 35s
  8. 50m 51s
    1. Using data wizards
      6m 20s
    2. Formatting dates for SQL
      5m 27s
    3. Creating a custom data entry form
      4m 50s
    4. Preparing a database table for server behaviors
      3m 3s
    5. Using the Insert Record server behavior
      5m 42s
    6. Preparing an update form
      7m 6s
    7. Using the Update Form behavior
      5m 46s
    8. Creating list page links to edit and update data
      7m 3s
    9. Using the Delete Record server behavior
      5m 34s
  9. 14m 45s
    1. Creating a login form with a PHP server behavior
      6m 29s
    2. Protecting page access with PHP server behaviors
      4m 17s
    3. Logging out with a PHP server behavior
      3m 59s
  10. 22m 50s
    1. Configuring a remote server with FTP credentials
      4m 42s
    2. Synchronizing site assets with the remote server
      5m 27s
    3. Exporting the MySQL database to a script
      3m 8s
    4. Importing the MySQL database on a remote server
      2m 24s
    5. Configuring the site for the remote database
      7m 9s
  11. 52s
    1. Final thoughts
      52s

Watch this entire course now—plus get access to every course in the library. Each course includes high-quality videos taught by expert instructors.

Become a member
Please wait...
Dreamweaver with PHP and MySQL
4h 55m Intermediate Sep 22, 2010 Updated Jun 12, 2012

Viewers: in countries Watching now:

Join author David Gassner as he describes how to add dynamic data to a PHP-enabled web site in Adobe Dreamweaver. This intermediate course shows how to plan and create a MySQL database, define a PHP-enabled site in Dreamweaver, connect the site to the database, and manage and present dynamic data. David also explores Dreamweaver features such as PHP custom class introspection and site-specific code hinting as well as the differences between the CS5 and CS6 versions of the software.

This course was updated on 6/12/2012.

Topics include:
  • Understanding dynamic versus static content
  • Adding PHP commands to web pages
  • Setting and outputting variables
  • Using server-side includes
  • Creating PHP custom classes
  • Adding the Zend Framework to a PHP installation
  • Creating a MySQL database
  • Adding data in phpMyAdmin
  • Building recordsets
  • Formatting dynamic data
  • Building data entry forms
  • Authenticating users
  • Deploying a dynamic site
Subjects:
Developer Web Databases Web Development
Software:
Dreamweaver
Author:
David Gassner

Understanding PHP custom classes

In addition to offering code hinting for PHP language elements, Dreamweaver CS5 also gives you code hinting for custom classes. A PHP custom class is a way of creating reusable code. I'll start by creating a custom class, and then showing you how to use code hinting to use its features. I will be working with the version of files in the exercise files, in a folder named 03_managingcode > 02_hintingwithclasses. I will start in my _includes folder.

I am going to create a custom class that encapsulates, or contains code to output the current time to the web site. I will go to the _includes folder and create a new PHP file. I will right-click on the folder and select new file, and I will name the new file DateUtility.php. When you create a file to contain a custom class declaration, you should always use an uppercase initial character, such as the D in DateUtility. That's a convention that PHP developers use.

Now I will open the file, and just as with a Server Side Include, I will delete any existing HTML code. Just as with all PHP code, a PHP class declaration must be placed within a code block, so I will go to the Insert panel to the PHP category, and I will add a code block. Then, with the cursor inside the code block, I will press Enter a few times. Here is how you define a PHP custom class.

You start with the word "class," then you type in the name of the class. By strong convention, the name of the class matches the name of the file, but without the .php extension. Then you put in a pair of curly braces. Within the class, you can define variables or properties, and functions or methods. I am going to define a single function named getCurrentTime. I will start with the word "public," then "function," then the name of the function, "getCurrentTime." After the name with the function, I will type in a beginning and an ending parenthesis, and then I will type in another pair of curly braces.

The purpose of the getCurrentTime function will be to output the current time to the browser. I already have a little bit of code that does that that I created in a previous video. In this file set, I will find it in the phpinfo.php file. I will open that file, and then I will select and copy the three lines of code that set the current time zone and echo the current time to the browser. I will copy that code to the browser, then I will return to my class declaration, I will press Enter and then Paste. And I will select the two lines of code that aren't properly indented, then press Tab a couple of times to indent them within the function.

So now this class has a public function that I can call anytime. I can use this class anywhere in my web site, and I will always get the same formatted value. I will save the file, and then I will open the file, footer.php. In order to use a class declaration, you first have to include it. So I will place the cursor up at the top of the file and make a couple of lines of empty space. Then I will go to the Insert panel, to the PHP category, and I will add an Include command.

And I will include the file, DateUtility.php. If you want to include this file from a file in another directory, you can use a relative location, such as dots, dot-dots and names of folders. But because this file is in the same folder as footer.php, I just need to provide the file a name. I will save the file and move down to the bottom of the page. I will place the cursor after the paragraph tag with a class of phone, and I will create another pair of paragraph tags.

I will make a little bit of empty space. Then I will go to the Insert panel and add a code block, and I will make a little bit of empty space within the code block. I am going to create a variable which is an instance of my custom class. The name of the variable will be dateutil, with the dollar sign prefix. Then to create an instance of my custom class, I will use this syntax: = new, and there is my custom class name, DateUtility. I will press Enter to select in and type in an opening and a closing parenthesis and semicolon.

The dateutil variable is now an instance of my custom class, and I can call that custom class's functions, or methods, like this. I will go down to the next line, and I will type in $date. Dreamweaver shows me the name of the variable starting with date, dateutil, and I will press Enter or Return to select it. Then I am going to call a function, which is a member of the class. To call a member of the class, you use this syntax: ->. It looks like an arrow.

Dreamweaver automatically offers the name of the function in the class, getCurrentTime, using its code hinting capabilities. I will press Enter and then add a semicolon at the end of the line. So here are all the parts of the puzzle. At the top of the page, I used an Include command to include the class declaration, and then where I want the output to happen, I create an instance of the class and then finally call its function, and Dreamweaver, with its code hinting capability, helped me correctly name the class, and its function.

I will save the change to footer.php. Then I will go to one of my top-level pages. I will use index.php, which is already including footer.php at the bottom of the file. I will look at the page using Live View, updating the files on the testing server as I go. I will look in Design View, scroll down to the bottom, and there is the result: the current time. So that's a look at how you can use code hinting to work with your own custom classes.

Custom classes give you a way of encapsulating commonly used, or reusable code, and Dreamweaver CS5's PHP code hinting will help you make sure that you refer to the class names and its properties and functions correctly as you do your hand coding.

Find answers to the most frequently asked questions about Dreamweaver with PHP and MySQL.


Expand all | Collapse all
Please wait...
Q: The Bindings panel is disabled, and I can't create new queries or form variables in the current PHP file. How can I correct this problem?
A: This indicates that the file you have open isn't a part of your current site. For example, you might have opened a file from one site, then switched sites and tried to continue working on the same file. Try closing all files, then opening the file you want to work on from the Files panel. This ensures that the current file and site are in sync.
Q: I'm having trouble getting code hinting to work on Mac OS X. Are there know issues that could be causing the issues?
A: There might be an issue with your code hinting configuration. Make sure the folders you designated in the code hinting config screen match the disk location where you copied the Zend Framework files. You should have a file named dw_php_codehinting.config in your site root folder after setting up your code hinting configuration. Assuming you copied the Zend Framework files to a folder on your Mac named /phpincludes, the contents of the file might be: "/Volumes/Macintosh HD/phpincludes/ZendFramework/library/Zend/Date" EXTENSIONS(.php) "/Volumes/Macintosh HD/phpincludes/ZendFramework/library/Zend" EXTENSIONS(.php).  The exact path will differ depending on your hard disk name and the folder to which you copied Zend Framework. For subsequent exercises in the video series, the sample files provided with the course have the configuration for Windows as demonstrated in the videos. Once you get code hinting working in one exercise, you can copy the working dw_php_codehinting.config file from the current site folder into the new site folder.
Q: I’m following along in the video "Configuring a PHP testing server." When I go to preview the index.htm or .php files, I don't get the Dependent Files dialog box, and I get the page in my browser with just the HTML and no styling. The index file gets copied to the proper folder, but none of the dependent files are getting copied over. How can I resolve this issue?
A: If you are experiencing this problem, check your settings in Dreamweaver. The prompts for putting files onto the server have most likely been turned off. Follow these steps: 1) On Windows, select Edit > Preferences. 2) In the Preferences dialog, select the Site category. 3) Make sure your options for Dependent Files (prompt on get/check out, and prompt on put/check in) are selected. 4) Make sure your Put and Move options are selected (located at the bottom of the screen). 5) Then try previewing the file again. The dialogs should appear.
Q: I am having a problem with the "Handling form submission with PHP" video in Chapter 6. When I create a form variable "firstname" in the the Binding panel, in the Simpleform2.php file, I don't see the new variable in the list afterwards. It's as if the panel is disabled. What's going on?
A: Some users have reported that this problem can be corrected by deleting a file named  ".mno" from the site folder's _notes subfolder. The file is hidden, so you won't see it in Finder on Mac or Explorer on Windows. Note that there might be many files in the _notes subfolder with the .mno extension, but you only need to delete the file with no name and just the extension.

Follow these steps to delete the file:

Windows:
Open a command window
Switch to the site folder
Type these commands:

cd _notes
attrib -H .mno (this removes the hidden flag from the file)
del .mno (this deletes the file)

Mac OS X:
Open Terminal
Switch to the site folder
Type:
cd _notes
ls -a .mno (if the file is there, this command will show it)
rm .mno (this deletes the file)
Q: I want to use the Zend Framework in my PHP site, but my internet service provider (ISP) doesn't let me modify the php.ini file to include the files as taught in the course. What can I do?
A: If your host doesn't let you make changes to your php.ini file, you can include the Zend Framework with one of these strategies:

  • Copy the Zend Framework to the folder containing your web site files. In your PHP pages, your 'include' command can refer to the appropriate files with relative directory addressing:

 <?php include('../ZendFramework/library/Zend/Date.php'); ?

  •  If your shared host provides a special directory to contain your web files (for example, it might be named 'www' or 'web'), then you can add the Zend Framework files to your root folder as a sibling to the web folder. You'll need to find out the physical folder name; PHP's $_SERVER['DOCUMENT_ROOT'] variable can help you find this:

 <?php echo $_SERVER['DOCUMENT_ROOT']; ?

You can then programmatically modify the include_path variable at runtime with the set_include_path() function. For example, if your physical root folder is /home/myroot, the code might look like this:

<?php
set_include_path('.' . PATH_SEPARATOR .
'/home/myroot/ZendFramework/library/Zend');
include('Date.php');
?
Q: This course was updated on 6/12/2012. What changed?
A: This course was updated to show the minor UI differences between Dreamweaver CS5 and CS6, especially the change from separate Live Code/Live View buttons to a single Live button.
Q: phpMyAdmin is not opening properly in the second lesson in Chapter 4, "Creating a MySQL database in phpMyAdmin." The error message says:

#2002 - The server is not responding (or the local MySQL server's socket is
 not correctly configured)
A: The error indicates that there's an incorrect reference to the MySQL 'sockets' file. This is set automatically during WampServer installation, but if you've previously installed other copies of MySQL there can be some leftover conflicts (even if you've uninstalled the other copies).

Check your system for duplicate copies of the file 'my.ini' - it's a MySQL configuration file that might have been left around from a previous installation. The most likely folder in which to look is c:\windows\System32, but it could also be elsewhere. If you find any such files that aren't in the c:\wamp directory structure, rename or delete them, then reboot your system.

If that isn't the issue, you'll need to start from scratch: back up your working files from c:\wamp\www, then uninstall WampServer, delete the c:\wamp folder completely, and reboot and reinstall. Test phpMyAdmin immediately after installation. Then, if it stops working along the way you'll have better information about what steps might have cause the issue.
Share a link to this course
Please wait... Please wait...
Upgrade to get access to exercise files.

Exercise files video

How to use exercise files.

Learn by watching, listening, and doing, Exercise files are the same files the author uses in the course, so you can download them and follow along Premium memberships include access to all exercise files in the library.
Upgrade now


Exercise files

Exercise files video

How to use exercise files.

For additional information on downloading and using exercise files, watch our instructional video or read the instructions in the FAQ.

This course includes free exercise files, so you can practice while you watch the course. To access all the exercise files in our library, become a Premium Member.

join now

Are you sure you want to mark all the videos in this course as unwatched?

This will not affect your course history, your reports, or your certificates of completion for this course.


Mark all as unwatched Cancel

Congratulations

You have completed Dreamweaver with PHP and MySQL.

Return to your organization's learning portal to continue training, or close this page.


OK
Become a member to add this course to a playlist

Join today and get unlimited access to the entire library of video courses—and create as many playlists as you like.

Get started

Already a member?

Become a member to like this course.

Join today and get unlimited access to the entire library of video courses.

Get started

Already a member?

Exercise files

Learn by watching, listening, and doing! Exercise files are the same files the author uses in the course, so you can download them and follow along. Exercise files are available with all Premium memberships. Learn more

Get started

Already a Premium member?

Exercise files video

How to use exercise files.

Ask a question

Thanks for contacting us.
You’ll hear from our Customer Service team within 24 hours.

Please enter the text shown below:

The classic layout automatically defaults to the latest Flash Player.

To choose a different player, hold the cursor over your name at the top right of any lynda.com page and choose Site preferencesfrom the dropdown menu.

Continue to classic layout Stay on new layout
Welcome to the redesigned course page.

We’ve moved some things around, and now you can



Exercise files

Access exercise files from a button right under the course name.

Mark videos as unwatched

Remove icons showing you already watched videos if you want to start over.

Control your viewing experience

Make the video wide, narrow, full-screen, or pop the player out of the page into its own window.

Interactive transcripts

Click on text in the transcript to jump to that spot in the video. As the video plays, the relevant spot in the transcript will be highlighted.

Thanks for signing up.

We’ll send you a confirmation email shortly.


Sign up and receive emails about lynda.com and our online training library:

Here’s our privacy policy with more details about how we handle your information.

Keep up with news, tips, and latest courses with emails from lynda.com.

Sign up and receive emails about lynda.com and our online training library:

Here’s our privacy policy with more details about how we handle your information.

   
submit Lightbox submit clicked