За последние 24 часа нас посетили 55739 программистов и 1793 робота. Сейчас ищет 821 программист ...

при создании экземпляров класса появляются точки

Тема в разделе "PHP для новичков", создана пользователем Alex_@, 9 фев 2011.

  1. Alex_@

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

    С нами с:
    1 окт 2009
    Сообщения:
    76
    Симпатии:
    0
    Доброго времени суток!
    я столкнулся с такой проблемой:

    у меня есть три класса

    запускается цикл в котором созданются экземпляры этих классов после этого появляются непонятные точки или символы, помогите разобраться!
     
  2. Alex_@

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

    С нами с:
    1 окт 2009
    Сообщения:
    76
    Симпатии:
    0
    код после которого происходит это следующий


    PHP:
    1. ...
    2. foreach($this->param['class']  as $key => $value){
    3.     $this->param['obj'][$key] = new $key;
    4.  
    5. }
    6.  
    7. ....
    после этого происходит появление символов
     
  3. Alex_@

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

    С нами с:
    1 окт 2009
    Сообщения:
    76
    Симпатии:
    0
    вот кусок кода который происходит при просмотре исходного кода страницы
    HTML:
    1.  
    2. init Object
    3. (
    4.     [param] => Array
    5.         (
    6.             [conect_bases] => Array
    7.                 (
    8.                     [user] => root
    9.                     [pass] => pasword
    10.                     [base] => system
    11.                     [host] => localhost
    12.                     [DB_CHARSET] => utf8
    13.                 )

    что это за первые три символа???? как их убрать и почему они появляются???
     
  4. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    ОТКУДА МНЕ ЗНАТЬ
     
  5. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    :D Истерика detected
     
  6. iliavlad

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

    С нами с:
    24 янв 2009
    Сообщения:
    1.689
    Симпатии:
    4
    Не ВОМ ли это?)
     
  7. Апельсин

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

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    Я НЕ ЗНАЮ.
     
  8. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Я тоже не в курсе
     
  9. titch

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

    С нами с:
    18 дек 2010
    Сообщения:
    847
    Симпатии:
    0
    Это не ВОМ. Вот ВОМ: 0xEF, 0xBB, 0xBF
    Копай в конструктор класса. По всей видимости ты что-то там выводишь на страницу
     
  10. Alex_@

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

    С нами с:
    1 окт 2009
    Сообщения:
    76
    Симпатии:
    0
    В продолжение этой темы я так и не нашёл ошибок поэтому сейчас предоставлю код файлов с поянениями!
     
  11. Alex_@

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

    С нами с:
    1 окт 2009
    Сообщения:
    76
    Симпатии:
    0
    код index.php

    PHP:
    1. <?php
    2. error_reporting('E_ALL');
    3. ini_set('display_errors', true);
    4. header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");  
    5. header("Last-Modified: " . gmdate( "D, d M Y H:i:s") . " GMT");
    6. header("Cache-Control: no-cache, must-revalidate");
    7. header("Pragma: no-cache");
    8.  
    9.  
    10. include_once ('includes/kernel.inc');
    11.  
    12. $t = new kernel();
    13. $t->LoadOptions();
    14. $t->LoadModul();
    15. print_r($t);
    16.  
    17. ?>
    Код файла kernel.inc

    PHP:
    1.  
    2. <?php
    3. include_once ('./config/init.inc');
    4.  
    5. class kernel{
    6.     private $param;
    7.    
    8.     public function __set($index,$value){
    9.         return $this->param[$index] = $value;
    10.     }
    11.    
    12.     public function __get($index){
    13.       return $this->param[$index];
    14.     }
    15.    
    16.     public function __isset($index){
    17.          return isset($this->param[$index]);
    18.     }
    19.    
    20.     public function __unset($index) {
    21.         unset($this->param[$index]);
    22.     }
    23.    
    24.     public function __construct(){
    25.         $this->param = array();
    26.         $this->param = parse_ini_file('./config/config.ini',true);
    27.         $this->__set('db',new database($this->param['bases_conect']));
    28.                     if(ini_get('register_globals')) {
    29.                         foreach ($this->param['array_global'] as $key => $value) {
    30.                           if (!isset($this->param['array_global'][$key])) {
    31.                             unset($GLOBALS[$key]);
    32.                           }
    33.                         }
    34.                       }
    35.         if (strstr($_SERVER['REQUEST_URI'], "&")){
    36.             $arr_pages = trim($_SERVER['REQUEST_URI'], "/");
    37.             $pages = explode("&", $arr_pages);
    38.             $this->param['path']['pages'] = $pages[1];
    39.         }
    40.         if(isset($_GET[$this->param['constant']['default_name_get']])){
    41.             $arr_path = trim($_GET[$this->param['constant']['default_name_get']], "/");
    42.             $this->param['path']['all'] = $arr_path;
    43.             $this->param['path']['get'] = explode("/", $arr_path);
    44.         }else{
    45.             $this->param['path']['get'] = explode("/", $this->param['constant']['default_get']);
    46.             $this->param['path']['all'] = $this->param['constant']['default_get'];
    47.         }
    48.         if(count($_POST) !== 0){
    49.             foreach ($_POST as $key => $value){
    50.                 $this->param['path']['post'][$key] = $value;
    51.             }
    52.         }else{
    53.             $this->param['path']['post'][$this->param['constant']['default_name_post']] =
    54.             $this->param['constant']['default_post'];
    55.         }
    56.     }
    57.    
    58.     public function LoadOptions(){
    59.         $result = $this->db->getWhere(
    60.         array('variabl'),
    61.         null,null,null,null);
    62.         for($n=0; $n < count($result); $n++){
    63.             $this->param['options'][$result[$n]['name']] = unserialize($result[$n]['value']);
    64.         }
    65.         $this->param['options']['session'] = session_id();
    66.         //и так далее другие опции
    67.     }
    68.    
    69.     public function LoadModul(){
    70.         $result = $this->db->getWhere(
    71.         array('module'),
    72.         null,null,
    73.         array('status'=>1),
    74.         null
    75.         );
    76.         for($n=0; $n < count($result); $n++){
    77.             unset($result[$n]['status']);
    78.             $this->param['module'][$result[$n]['name']] = $result[$n];
    79.             unset($this->param['module'][$result[$n]['name']]['name']);
    80.         }
    81.         foreach($this->param['module'] as $key => $value){
    82.                   $this->__set($key, new $key()); // вот в этом месте появляются вот эти непонятные символы при print_r($t);
    83.       }
    84.     }
    85.    
    86. }
    87.  
    88. ?>

    помогите пожалуйста, я уже над этим корплю 4 день))))))
     
  12. Alex_@

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

    С нами с:
    1 окт 2009
    Сообщения:
    76
    Симпатии:
    0
    В скриптах динамически образуемых экземляров класса нет ничего осебенного при необходимости могу закинуть и код подключаемых классов!!!
     
  13. iliavlad

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

    С нами с:
    24 янв 2009
    Сообщения:
    1.689
    Симпатии:
    4
    можно сделать проще. ставишь в скрипте в самом начале die(), запускаешь и смотришь, если ли эти символы. потом ставишь die() в первую вызываемую функцию и так далее, пока не появятся символы. за 4 дня можно перебрать все функции и найти место, в котором появляются символы.
     
  14. Mamont

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

    С нами с:
    5 дек 2010
    Сообщения:
    183
    Симпатии:
    0
    Редактор накосячил:
    - Zero width no-break space. Keep a word from breaking at that point (works as designed in IE6/Win)