За последние 24 часа нас посетили 23528 программистов и 1546 роботов. Сейчас ищут 946 программистов ...

oop var_exptor

Тема в разделе "Прочие вопросы по PHP", создана пользователем immortal.1986, 26 дек 2013.

  1. immortal.1986

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

    С нами с:
    24 сен 2013
    Сообщения:
    257
    Симпатии:
    0
    Добрый день все работает!Хотелось бы пояснений!
    За ранние спасибо!
    есть
    Код (PHP):
    1. class dataBase{
    2.     private $db_host = "localhost";
    3.     private $db_user = "root";
    4.     private $db_pass = "";
    5.     private $db_name = "olap";
    6.     public  $con = false;
    7.  
    8.  
    9.     public function connect(){
    10.         if(!$this->con){
    11.             $myconn = mysql_connect($this->db_host,$this->db_user,$this->db_pass);
    12.             if($myconn){
    13.                 $seldb = mysql_select_db($this->db_name,$myconn);
    14.                 if($seldb){
    15.                     $this->con = true;
    16.                     return true;
    17.                 }else{
    18.                     print('Нет подлючения к базе');
    19.                     return false;
    20.  
    21.                 }
    22.             }else{
    23.                 print('Нет подлючение к сервру');
    24.                 return false;
    25.  
    26.             }
    27.         }else{
    28.             return true;
    29.         }
    30.     }
    31.     public function disconnect(){
    32.         if($this->con){
    33.             if(mysql_close()){
    34.                 $this->con = false;
    35.                 return true;
    36.             }else{
    37.                 return false;
    38.             }
    39.         }
    40.  
    41.     }
    далее

    Код (PHP):
    1. function __autoload($className){
    2.     include $className.'.class.php';
    3. }
    4.  
    5. $connect = new DataBase();
    6. $connect->connect();
    7.  
    8. echo '<pre>';
    9. var_export($connect);
    10. echo '</pre>';
    на выхлопе имеем!
    dataBase::__set_state(array(
    'db_host' => 'localhost',
    'db_user' => 'root',
    'db_pass' => '',
    'db_name' => 'olap',
    'con' => true,
    ))
    что такое __set_state(мануал смотрел!!!!!)
    откуда и почему оно взелось!
    и второй вопрос почему 'con' => true, а не false
     
  2. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Юзер мануал смотрел смотрел смотрел смотрел да не высмотрел. ПЫЩ.
     
  3. immortal.1986

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

    С нами с:
    24 сен 2013
    Сообщения:
    257
    Симпатии:
    0
    ЫЫЫЫЫ такого не видал!!!! то что надо, понятно!
    а второй вопросик? 8)
     
  4. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Дык у тебя же там:
    Код (Text):
    1. $connect = new DataBase();
    2. $connect->connect();
    А чтобы у тебя con в false ушел нужно дисконнект вызвать разок)
     
  5. immortal.1986

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

    С нами с:
    24 сен 2013
    Сообщения:
    257
    Симпатии:
    0
    Это да!!!! так оно и будет!!! вроде же var_export долэен показать исходний класс!!!! ну я понял конечно что оно показывает те параметры каторые сейчас типо актуальные ТО есть если мы к примеру $connect->db_host='lalala';
    то експорт покажет
    dataBase::__set_state(array(
    'db_host' => 'lalala',
    'db_user' => 'root',
    'db_pass' => '',
    'db_name' => 'olap',
    'con' => true,
    ))
     
  6. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Не исходный класс показать, а выгрузить объект, то бишь экземпляр класса в его текущем состоянии. Если для объекта не был вызван дисконнект, сбрасывающий con, то и в экспорте он будет не сброшен.
     
  7. immortal.1986

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

    С нами с:
    24 сен 2013
    Сообщения:
    257
    Симпатии:
    0
    Бро обьяснил на 100%
    спасибо
    тему закрывать!
     
  8. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Пора бы уже на mysqli переходить.
     
  9. immortal.1986

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

    С нами с:
    24 сен 2013
    Сообщения:
    257
    Симпатии:
    0
    Все пробую смотрю а понять не могу чем лучше обычного Mysql
     
  10. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Надо не смотреть, а почитать отличия))) Многим лучше, начиная с производительности, заканчивая набором возможностей. А главное, что переход на него практически безболезненный, даже если у тебя огромный проект на _mysql
     
  11. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Тем, что mysql будет удален из php.
    Да и вообще mysqli более: надежнее, быстрее.