За последние 24 часа нас посетили 17630 программистов и 1722 робота. Сейчас ищут 919 программистов ...

почему функция выполняется 2 раза?

Тема в разделе "PHP для новичков", создана пользователем Evgen A., 27 янв 2008.

  1. Evgen A.

    Evgen A. Активный пользователь

    С нами с:
    20 июл 2007
    Сообщения:
    31
    Симпатии:
    0
    Здравствуйте.
    template является методом класса. Когда я использую его на странице, функции выполняются дважды. Как это исправить?
    PHP:
    1. function template($part) {
    2.     require_once($this->STYLESdir.$this->style.'/'.'headerandfooter.php');
    3.     if ($part='header') {pageheader();}
    4.     if ($part='footer') {pagefooter();}
    5.     }
     
  2. RomanBush

    RomanBush Активный пользователь

    С нами с:
    5 дек 2007
    Сообщения:
    798
    Симпатии:
    0
    Адрес:
    200 км от Москвы
    телепаты в отпуске.
    Класс в студию.
     
  3. Evgen A.

    Evgen A. Активный пользователь

    С нами с:
    20 июл 2007
    Сообщения:
    31
    Симпатии:
    0
    Вот, только это не всё, остальное здесь не используется
    PHP:
    1.  
    2. <?php
    3. class Xcat {
    4.     public $XMLdir='../x-files/';
    5.     public $STYLESdir='../styles/';
    6.     public $XMLfile;
    7.     public $root;
    8.     public $xml;
    9.  
    10. /* Это хрантся в файле конфигурации */
    11.     public $keywords;
    12.     public $description;
    13.  
    14.     public $youremail;
    15.  
    16.     public $style;
    17.  
    18. /* читает файл конфигурации */
    19. function readconf (){
    20.     $config = DOMDocument::load($this->XMLdir.'config.xml');
    21.     $mainconf = $config->getElementsByTagName('config')->item(0);
    22.     $this->youremail=$mainconf->getAttribute('youremail');
    23.     $this->style=$mainconf->getAttribute('style');
    24.     }
    25.  
    26. /* skinning engine :D */
    27. function template($part) {
    28.     require_once($this->STYLESdir.$this->style.'/'.'headerandfooter.php');
    29.     if ($part='header') {pageheader();}
    30.     if ($part='footer') {pagefooter();}
    31.     }
    32. }
    33. }
    34. ?>
    Вот я использую его на странице
    PHP:
    1.  
    2. <?php
    3. require_once ('x-cat/Xcat.php');
    4. $Xcat=new Xcat;
    5. $Xcat->XMLdir='./x-files/';
    6. $Xcat->STYLESdir='./styles/';
    7.  
    8. $Xcat->readconf();
    9.  
    10. $Xcat->template('header');
    11. $Xcat->template('footer');
    12. ?>
     
  4. Dagdamor

    Dagdamor Активный пользователь

    С нами с:
    4 фев 2006
    Сообщения:
    2.095
    Симпатии:
    1
    Адрес:
    Барнаул
    Evgen A.
    if ($part='header') => if ($part=='header')
     
  5. Evgen A.

    Evgen A. Активный пользователь

    С нами с:
    20 июл 2007
    Сообщения:
    31
    Симпатии:
    0
    Dagdamor, спасибо, я проглядел.