Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to I inject only certain parts of PHP page using PHP

Tags:

include

php

I know I can include other files using PHP

<?php include("file.php"); ?>

Now my question is how do I inject only certain parts of "file.php"?

Lets say I have some header code and some footer code within file.php. How do I organize file.php with the correct separated section, and how do only include certain sections of the file.php (file.php?footer or something like that?)

like image 976
Jared Avatar asked Jan 21 '10 18:01

Jared


2 Answers

The easiest (and usual) way is to simply make separate header.php and footer.php files, and access them where you need them. There's no direct support for only loading parts of a file.

Edit (to respond to your comment on the other answer about using separate functions): Let's say your file.php looks like this:

<?php

function header() { ?>
   header content goes here
<?php }

function footer() { ?>
    footer content goes here
<?php }

?>

Then in the page you're calling it into, you can use <?php header() ?> and <?php footer() ?> to produce the content where you want it.

like image 111
eliah Avatar answered Nov 15 '22 21:11

eliah


Ideally those parts would be further broken down into their own files not only for organization's sake but also so you're not including a bunch of code that will not be used.

But if you want to have those pieces all in one page you can put each piece into a function and then call the appropriate function when needed.

EDIT:

Basic example:

<?php

function printHeader()
{
?>
    <html>
        <head>
            <title>Test Page</title>
        </head>
        <body>
<?
}

function printFooter()
{
?>
        </body>
    </html>
<?  
}

?>
like image 26
John Conde Avatar answered Nov 15 '22 20:11

John Conde