Thread: OOP Problem
View Single Post
Old 09-17-2007, 04:01 AM   #1 (permalink)
trs21219
The Wanderer
 
Join Date: Sep 2007
Posts: 12
Thanks: 0
trs21219 is on a distinguished road
OOP Problem

ok ive been trying to figure this out for a while now...ive googled it and looked on oop tutorials and cant figure out whats wrong.

my index file is as follows:
Code:
<?php
require_once('include/System_class.php');
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<?php $System -> Layout -> setCSS('style_main','v1');?>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title><?php $System -> Configuration -> getSiteTitle();?></title>
</head>
	<body>
		<div align='center'>
			<div class="wrapper">
				<div class="container">
					  <div class="header">
					<?php $System -> Layout -> getHeader();?>
				   
 </div>
					<div class="content">
					<?php $System -> Layout -> getContent();?>
					</div>
				 	<div class="footer">
					<?php $System -> Layout -> getFooter();?>
					</div>
				</div>
			</div>
		</div>
	</body>
</html>
my System_class.php
Code:
<?php
include('include/classes/class_configuration.php');
$System -> Config = new Configuration;

include('include/classes/class_database.php');
$System -> DB = new Database;

include('include/classes/class_games.php');
$System -> Games = new Games;

include('include/classes/class_layout.php');
$System -> Layout = new Layout;

include('include/classes/class_media.php');
$System -> Media = new Media;

include('include/classes/class_security.php');
$System -> Security = new Security;

include('include/classes/class_users.php');
$System -> Users = new Users;

?>
layout class
Code:
<?php

class Layout
{
	// Including Pages for Layout
	function getHeader()
	{
		include('include/layout/header.php');
	}
	function getContent()
	{
		$this -> getMenu();
		$this -> getMemberBar();
		$this -> getContentBody();
	}
	function getFooter()
	{
		include('include/layout/footer.php');
	}
	function getMenu()
	{
		echo "<div class='menu'>";
		include('include/layout/menu.php');
		echo "</div>";
	}
	function getContentBody()
	{
		echo "<div class='contentbody'>";
		include('include/layout/content.php');
		echo "</div>";
	}
	function getMemberBar()
	{
		echo "<div class='memberbar'>";
		echo "memberbar is here";
		echo "</div>";
	}
	//end
	
	//Set the css for each page
	function setCSS($name, $version)
	{
		echo "<link href=\"http://" . $_SERVER['HTTP_HOST'] . "/layout/" . $version . "/" . $name . ".css\" rel=\"stylesheet\" type=\"text/css\">";
	}


}
?>
config class
Code:
<?php

class Configuration
{
	function getSiteTitle()
	{
		if(isset($pagename))
		{
			echo $pagename . " - AlliedDefiance.com";
		}
		else
		{
			echo "AlliedDefiance.com";
		}
	}
	function showSiteName()
	{
		echo "Allied Defiance";
	}
}
?>
and my footer.php
Code:
<p>

All Content &copy; 2007 <a href="http://www.allieddefiance.com"><?php $System -> Config -> showSiteName();?></a><br />

</p>
now the problem is that all the system functions work in the index.php file but when i call them from other files i get the Fatal error: Call to a member function on a non-object error. the files are included so they should inherit the class thats set in the index shouldnt they? could someone please tell me whats happening here and how to fix it? im new at OOP but i know php.
trs21219 is offline  
Reply With Quote