За последние 24 часа нас посетили 22036 программистов и 1100 роботов. Сейчас ищут 830 программистов ...

parse error, unexpected T_OBJECT_OPERATOR

Тема в разделе "Прочее", создана пользователем xkspy, 20 мар 2007.

  1. xkspy

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

    С нами с:
    16 дек 2006
    Сообщения:
    45
    Симпатии:
    0
    Вылазиет такая ошибка при заходе на index.php
    Parse error: parse error, unexpected T_OBJECT_OPERATOR in /home/name_domen/public_html/kernel.php on line 28

    Исходник kernel.php
    PHP:
    1. <?php
    2.  
    3. include "present.php";
    4.  
    5. ################################################
    6. #
    7. #  <<< PAGE
    8. #
    9.  
    10. class page{
    11.  
    12. var $mod, $act;
    13. var $struct, $base; // DOMObjects
    14. var $blocks=array(); // presenters
    15.  
    16. function page($mod){
    17.  
    18.   $this->mod = $mod;
    19.  
    20.   $this->base = new DOMDocument('1.0', 'windows-1251');
    21.  
    22.   $this->struct = new DOMDocument();
    23.   $this->struct->load("pages.xml");
    24.  
    25.   $xpath = new DOMXPath($this->struct);
    26.   $query = "/page/mod[@id='".$mod."']";
    27.   $entries = $xpath->query($query, $this->struct);
    28.   $this->base->loadHTMLFile("bases/".$entries->item(0)->getAttribute("res").".htm"); // load html design
    29.  
    30.   $xpath = new DOMXPath($this->struct);
    31.   $query = "/page/mod[@id='".$mod."']/block";
    32.   $entries = $xpath->query($query, $this->struct);
    33.   foreach ($entries as $entry) {
    34.     $this->blocks[] = $entry->getAttribute("id");
    35.   }
    36.  
    37. }
    38.  
    39. function getBlockPoint($id){ // $id - block id
    40.   $xpath = new DOMXPath($this->struct);
    41.   $query = "/page/mod[@id='".$this->mod."']/block[@id='".$id."']/id";
    42.   $res = $xpath->query($query, $this->struct);
    43.   return $res->item(0)->textContent;
    44. }
    45.  
    46. function getBlockResources($id){ // $id - block id
    47.   $xpath = new DOMXPath($this->struct);
    48.   $query = "/page/mod[@id='".$this->mod."']/block[@id='".$id."']/res";
    49.   $resources = $xpath->query($query, $this->struct);
    50.   $res = array();
    51.   foreach($resources as $i=>$resource){
    52.    $res[$i] = $resource->textContent;
    53.   }
    54.   return $res;
    55. }
    56.  
    57. function make(){
    58.   foreach($this->blocks as $block){
    59.     $resArray = $this->getBlockResources($block);
    60.     foreach($resArray as $i=>$resItem){
    61.       $res[$i] = new DOMDocument('1.0', 'windows-1251');
    62.       $res[$i]->load("res/".$resItem.".xml");
    63.     }
    64.     $present = new present($res);
    65.     $html = $present->make($block);
    66.     $dom_node = $this->base->getElementById($this->getBlockPoint($block));
    67.     $dom_node->appendChild($this->base->createCDATASection($html));
    68.   }
    69. }
    70.  
    71. function cache(){
    72.   $this->base->saveHTMLFile("cache/".$this->mod.".htm");
    73. }
    74.  
    75. function show(){ //modern with cache output
    76.   echo($this->base->saveHTML());
    77. }
    78.  
    79. }
    80. #
    81. #  PAGE >>>
    82. #
    83. ################################################
    84.  
    85. ?>
     
  2. Anonymous

    Anonymous Guest

    а так?
     
  3. xkspy

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

    С нами с:
    16 дек 2006
    Сообщения:
    45
    Симпатии:
    0
    Горбунов Олег
    Неа...
     
  4. Dagdamor

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

    С нами с:
    4 фев 2006
    Сообщения:
    2.095
    Симпатии:
    1
    Адрес:
    Барнаул
    В PHP4 нельзя использовать ->func(...)->.
    Надо написать что-нибудь типа
    PHP:
    1. $item0 = $entries->item(0);
    2. $this->base->loadHTMLFile("bases/".($item0->getAttribute("res")).".htm");
    (а еще лучше - вообще не запускать код для PHP5 на PHP4)
     
  5. xkspy

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

    С нами с:
    16 дек 2006
    Сообщения:
    45
    Симпатии:
    0
    Теперь начал выдавать такой вариант ошибки:
    Код (Text):
    1. Fatal error: Cannot instantiate non-existent class: domdocument in z:\home\domen.ru\www\kernel.php on line 20
    20 строчка получается:
    PHP:
    1. $this->base = new DOMDocument('1.0', 'windows-1251');
    Что здесь теперь не так?
     
  6. Anonymous

    Anonymous Guest

    DOM появился в PHP5 только.
     
  7. xkspy

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

    С нами с:
    16 дек 2006
    Сообщения:
    45
    Симпатии:
    0
    И чем его заменить? Как я увидел, он не раз встречается...