PHP

Moderators: None (Apply to moderate this forum)
Number of threads: 1848
Number of posts: 5016

This Forum Only
Post New Thread
Single Post View       Linear View       Threaded View      f

Report
Creating a Webpage using OO PHP Posted by Jonathan1978 on 21 Oct 2008 at 4:47 AM
I am trying to get to grips with Object Oriented PHP. Last week we were given a exercise to do, which creates a webpage, using a class and a client which will call the class. I am totaly not getting the hang of this, and i am getting so frustraited with this. We are moving on to the next lesson this week, and i am worried i am going to fall behind, because i just cannot figure it out. Webpage.class.php holds the webpage class, where all the functions ect are held, and then i am supposed to use the client usewebpage.php to create a new webpage, but a week of trying, i have got nowhere, and i am hitting a brick wall trying to figure out how to do it.

Is there any OO php peeps out there who could give me a hand please? I am in a mess.

Thank You.


Webpage.class.php
<?php

/**
 *
 * This is a skeleton class for a Webpage class.  We have given you the method names
 * and a very brief comment on what those methods need to do.  You will need to implement the class yourself.
 *
 * Also, included with this file is a file that is a 'client' or 'user' of the class.
 * If you look at the way the client is using the class it'll give you some more clues about how
 * you might need to implement the methods that the client calls.
 *
 */

/**
* The class should be called: Webpage
* you will need attributes to hold at least the main sections of a page: the head, body and footer
*/
Class Webpage {

	private $head;
	private $addToBody;

	function __construct($head, $addToBody) {
    // Store the doctype into the attribute of the class
        $this->head = $head;
        $this->addToBody = $addToBody;
        //$this->styles = array() ??????;

        } 

	function addToBody($toAdd){
   		$this->addToBody .= $toAdd;
   		return;
		}

	function getPage(){
  		return $this->head . $this->addToBody;
		}

	}
/** Methods:
* A constructor
* The constructor for the class should accept at least two arguments: the title of the page, and an array of
* css filenames that it will use to create the appropriate code in the head section to link to those stylesheets
* The constructor should create the head section and footer section and give a default value for the body section
*
* addToBody
* a method called 'addToBody' that will add text to the body attribute of the webpage.  See the client to see how this method
* will be used - it'll give you a clue as to how to implement it.
*
* getPage
* a getPage method which has as a return value the various sections, head, body and footer, of the webpage concatenated together.
*
* Consider carefully the scope of all attributes and methods/functions.  Remember to make scope as restrictive
* as possible while still being consonant with the class working.
*
*/

?>


usewebpage.php
<?php

/**
 *
 * @version $Id$
 * @copyright 2008
 */
// require the class definition file
require_once( 'webpage.class.php' );

// create a new instance of the webpage class passing the title and an array of stylesheets to the constructor
$page = new Webpage ("test", array( "dream.css", "main.css" ) );

// add new text to the page body
$page->addToBody( "\n<p>This is my first page constructed with my webpage class</p>" );
$page->addToBody( "\n<p>Look a the source html of this page and notice the doctype, the title and stylesheets are all correctly included and the code should validate as xhtml</p>");
$page->addToBody( "<div id="header"><img src="images/needs2007_small.png" />");
$page->addToBody( "<h1>Header</h1>");
$page->addToBody( "</div>");

// echo the page contents back to the browser
echo $page->getPage();


?>



 

Recent Jobs

Official Programmer's Heaven Blogs
Web Hosting | Browser and Social Games | Gadgets

Popular resources on Programmersheaven.com
Assembly | Basic | C | C# | C++ | Delphi | Flash | Java | JavaScript | Pascal | Perl | PHP | Python | Ruby | Visual Basic
© Copyright 2011 Programmersheaven.com - All rights reserved.
Reproduction in whole or in part, in any form or medium without express written permission is prohibited.
Violators of this policy may be subject to legal action. Please read our Terms Of Use and Privacy Statement for more information.
Operated by CommunityHeaven, a BootstrapLabs company.