Как включить функцию - PullRequest
       4

Как включить функцию

0 голосов
/ 14 марта 2012

Я хотел бы создать функцию для общих навигационных ссылок на моем сайте. Я думал, что смогу создать функцию 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, чтобы ее можно было вызывать из нескольких мест?

Т.е.. Я бы хотел, чтобы это выглядело примерно так:

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 ]

1 голос
/ 14 марта 2012

Вы не хотите создавать функцию для этого.

Пожалуйста, смотрите следующее

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>
1 голос
/ 14 марта 2012

Работа с include.

Поместите содержимое левой стороны в файл вроде:

//leftside.php

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

и затем вы включаете этот раздел с:

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

1 голос
/ 14 марта 2012

Вы можете создать файл template.php для таких функций и включить его выше всего кода в макет:

<?php include('template.php') ?>
Some HTML
<?php left_side() ?>
0 голосов
/ 14 марта 2012

Создайте файл заголовка, например 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, непосредственно начинающаяся с символа?>, Не нуждается в точке с запятой в конце строки, все остальные строки в PHP делают это.Для согласованности вам следует подумать о том, чтобы ставить точки с запятой в конце всех ваших строк PHP.

0 голосов
/ 14 марта 2012

Поместите вашу функцию в файл с именем 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 (), потому что функция должна быть прочитана только один раз веб-сервером.Если вы начнете включать другие файлы, например стандартный верхний и нижний колонтитулы на своей странице, которые также вызывают function.php, то require_once () не будет выполняться на этих последующих страницах, что приведет к небольшому увеличению производительности.

Наличиесказал, что если вы просто выводите HTML, вам вовсе не обязательно нужен обёртка функции.Просто используйте операторы echo в function.php (вы также можете просто использовать HTML без echo) и используйте include () для вывода содержимого при каждом его вызове.

0 голосов
/ 14 марта 2012

Поместите left_side материал в HTML в файл, например left_side.htmlЗатем, когда вы хотите включить его, поставьте <?php include("left_side.html"); ?>.Вы также можете включить PHP в навигацию, если это необходимо, и это будет проанализировано и запущено.Если это никогда не понадобится, вы также можете использовать <?php readfile("left_side.html"); ?>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...