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. Quote 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(). Quote 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. Quote 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(); Quote 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
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.