mrooks1984 Posted October 20, 2011 Share Posted October 20, 2011 hello all, i have ran into another issue i get this message when i go onto my homepage Notice: Undefined variable: layout in i have the following includes on the main index page: <?php // Include Main Core File. include '_class/core.php'; // Include Config File include 'config/config.php'; include 'config/db.php'; // Use Database $obj->connect(); // Include library include '_class/library.php'; // Include layout include 'layout/index.php'; ?> on the config file i have the varible it is refering too: <?php $layout = $url . "layout/"; ?> the actual file i get the error on (library.php) <?php class library extends core { function advert() { /* * Name your images 1.jpg, 2.jpg etc. * * Add this line to your page where you want the images to * appear: <?php include "randomimage.php"; ?> */ // Change this to the total number of images in the folder $total = "2"; // Change to the type of files to use eg. .jpg or .gif $file_type = ".png"; // Change to the location of the folder containing the images $image_folder = $layout . "layout/images/adverts"; // You do not need to edit below this line $start = "1"; $random = mt_rand($start, $total); $image_name = $random . $file_type; echo "<img src=\"$image_folder/$image_name\" alt=\"$image_name\" />"; } } $obj = new library; ?> is there a way to make it so it $layout works on any page or file as long as its in the includes? thanks again. Link to comment https://forums.phpfreaks.com/topic/249455-class-help-notice-undefined-variable-layout-in/ Share on other sites More sharing options...
trq Posted October 20, 2011 Share Posted October 20, 2011 Your asking to make $layout some sort of global variable which completely breaks the entire idea of using a class. If your class really depends on the $layout variable, it should be passed into the objects __construct(). Link to comment https://forums.phpfreaks.com/topic/249455-class-help-notice-undefined-variable-layout-in/#findComment-1280810 Share on other sites More sharing options...
mrooks1984 Posted October 20, 2011 Author Share Posted October 20, 2011 thanks for your help, could you please show me how i would do your surgestion. thanks. Link to comment https://forums.phpfreaks.com/topic/249455-class-help-notice-undefined-variable-layout-in/#findComment-1280813 Share on other sites More sharing options...
trq Posted October 20, 2011 Share Posted October 20, 2011 <?php class something { private $somevar; public function __construct($somevar) { $this->somevar = $somevar; } public function test() { return $this->somevar; } } $layout = 'foo'; $obj = new something($layout); echo $obj->test(); Link to comment https://forums.phpfreaks.com/topic/249455-class-help-notice-undefined-variable-layout-in/#findComment-1280816 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.