如何包含一个功能

时间:2012-03-14 15:59:25

标签: php html function

我想为我网站上的常用导航链接创建一个功能。我以为我可以创建一个php函数并调用它,但我不知道如何设置它。

这就是我所拥有的:

<div class="left_side">
   <ul>
      <li><a href="page1.php">First Page</a></li>
      <li><a href="page2.php">Second Page</a></li>
      <li><a href="page3.php">Third Page</a></li>
   </ul>
</div>
<div class="right_side">
   <!-- contents of this page -->
</div>

由于左侧的链接对于每个页面都是相同的,我如何创建一个php函数,以便可以从多个位置调用它?

IE中。我希望它看起来像:

HTML:

<?php left_side() ?>
<div class="right_side">
   <!-- content of this page -->
</div>
php:
function left_side()
{
echo 
<div class="left_side">
   echo   
   <ul>
      echo        
      <li><a href="page1.php">First Page</a></li>
      echo        
      <li><a href="page2.php">Second Page</a></li>
      echo        
      <li><a href="page3.php">Third Page</a></li>
      echo    
   </ul>
   echo 
</div>
}
Most of the server code is in php.  So it would have to look something like this:
<?php
   session_start()
   require_once("php.php"); // the above php code with the left_side() function
   function showPage()
   {
        include("html.html"); // the above html code
   }
   ?>

感谢。

6 个答案:

答案 0 :(得分:1)

您可以为这些函数制作template.php文件,并将其包含在布局中所有代码的上方:

<?php include('template.php') ?>
Some HTML
<?php left_side() ?>

答案 1 :(得分:1)

使用include

将左侧内容放在如下文件中:

//leftside.php

<div class="left_side">
    <ul>
    ...
    </ul>
</div>

然后将此部分包括在内:

<?php include_once('leftside.php'); ?>

             

答案 2 :(得分:1)

您不想为此创建功能。

请参阅以下

1)创建以下页面left.menu.inc.php将包含菜单项

<ul>

            <li><a href="page1.php">First Page</a></li>
            <li><a href="page2.php">Second Page</a></li>
            <li><a href="page3.php">Third Page</a></li>
</ul>

2)主页面看起来像

<div class="left_side">        
        <?php include_once "left.menu.inc.php";?>
    </div>

    <div class="right_side">

        <!-- contents of this page -->
    </div>

答案 3 :(得分:0)

left_side内容作为HTML 放入文件中,例如left_side.html。然后,当您想要包含它时,请添加<?php include("left_side.html"); ?>。如果需要,您还可以在导航中包含PHP,并且将对其进行解析和运行。如果永远不需要,您也可以使用<?php readfile("left_side.html"); ?>

答案 4 :(得分:0)

将你的函数放在一个名为function.php的文件中,如下所示:

<?php
    function left_side()
    {
         echo <div class="left_side">        
         echo   <ul>

         echo        <li><a href="page1.php">First Page</a></li>
         echo        <li><a href="page2.php">Second Page</a></li>
         echo        <li><a href="page3.php">Third Page</a></li>
         echo    </ul>
         echo </div>
    }
?>

然后在每个页面上,在顶部的某处执行此操作:

<?php require_once('/path/to/function.php'); ?>

然后您可以将其与

一起使用
 <?php left_side() ?>

通常,require()比include()更好,因为如果文件丢失,你会希望它抛出一个错误(它会破坏你的网站没有HTML输出)。此外,require_once()优于require(),因为该函数只需要由Web服务器读取一次。如果你开始包含其他文件,例如页面中的标准页眉和页脚,也调用function.php,然后require_once()将不会在后续页面上运行,从而略微提升性能。

话虽如此,如果您只是输出HTML,则根本不需要函数包装器。只需在function.php中使用echo语句(你也可以只使用没有echo的HTML)并使用include()在每次调用时输出内容。

答案 5 :(得分:0)

制作一个标头文件,例如header.html。在该文件中:

<div class="left_side">
    <ul>
        <li><a href="page1.php">First Page</a></li>
    </ul>
</div> 

在输出页面中,您需要将文件扩展名设置为PHP(或执行更高级的操作以使服务器知道它需要执行PHP),并包括:

<?PHP include('header.html'); ?>
 <div class="right_side">
    <!-- content of this page -->
 </div> 

另请注意:虽然PHP中的最后一行会立即进行?&gt;在行的末尾不需要半冒号,PHP中的所有其他行都需要。为了保持一致性,您应该考虑将半冒号放在所有PHP行的末尾。