tags:

views:

72

answers:

2

I'm a total beginner when it comes to PHP, so bare with me.

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?)

+6  A: 

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.

eliah
Thanks for the help!
Jared
Just a note... you can't use header(), have to use something like header2()
Jared
+2  A: 

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>
<?  
}

?>
John Conde
Could you please provide an example of breaking it into functions and then calling those functions?
Jared
I've added an example with a basic header and footer function. Naturally you can make these more complex if needed.
John Conde