Jump to content

Recommended Posts

I'm learning to use OOP, and I'm having trouble getting a template to work. My architecture is set-up like this:

 

- Application Class

  - Class that set settings

  - Class that controls session variables

  - Class with the applications control logic.

 

Every request the application class loads the other 3. The logic class is a series of switch statements. Before the switch statements I load a class which I've called master template with the method 'display'. It is a header, 2 column, footer layout. In the right column I echo a variable called $maincontent. Within each switch are all the instructions to handle a specific request, like executing a query, organizing the results, building dynamic menus, ect. I'm running into trouble displaying the content. I've created a different class for every page to be displayed. For example, I have a class called ProductsDisplay with the methods product_contents(). I call the the display class from inside it's respective switch.

 

class Logic{

//Load Template
include (mastertemplate.php);
$display = new MasterTemplate;

//Inside Request Specific Switch
include (query.php);
include (products.php);
$query = new Query();
$queryresults = $query -> product_query();
$products = new ProductsDisplay;
$display -> maincontent = $products -> product_contents($queryresults);

//Display
$display -> Display(parameters);
}

 

I'm having trouble returning content from the display classes. I'm using the return function. I don't have problems when I use only html, but I cannot use php inside the return function.

 

class ProductsDisplay{

function product_contents($queryresults){
return 'html and php markup to output query'; <---this returns all markup as regular text.
return require (htmlandphpmarkupincludefile.php); <----this executes correctly, but the results are displayed before the rest of the template.
}
}

How can I return the contents of an executed script from a child class to a parent class?

Link to comment
https://forums.phpfreaks.com/topic/51414-solved-templates-in-oop/
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.