За последние 24 часа нас посетили 18022 программиста и 1653 робота. Сейчас ищут 1409 программистов ...

Классы пхп

Тема в разделе "PHP для новичков", создана пользователем fessnecro, 30 сен 2012.

  1. fessnecro

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

    С нами с:
    11 мар 2012
    Сообщения:
    36
    Симпатии:
    0
    Доброе время суток. Подскажите пожалуйста, у меня есть файл класс user.php (Регистрация, выход, выход пользователя) и есть два файла index.php где происходит создание объекта данного класса и user.php (личный кабинет), как использовать этот созданный объект в файле user.php и других файлах??
     
  2. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Подключай инклудом и используй.
    Можешь для удобства использовать авто лоадер классов.
     
  3. fessnecro

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

    С нами с:
    11 мар 2012
    Сообщения:
    36
    Симпатии:
    0
    Что именно подключать? Я подключаю файл класса в обоих файлах, но во втором все равно новый объект создается
     
  4. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Я говорил про файл с классом.

    Ну когда ты создаешь новый экземпляр класса создается новый объект.
    А что тебя удивляет?

    Ну покажи кусок этого кода.
     
  5. fessnecro

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

    С нами с:
    11 мар 2012
    Сообщения:
    36
    Симпатии:
    0
    Файл класса class User {
    /*
    * Переменные mysql
    */
    public $mysql_host = 'localhost';
    public $mysql_user = 'root';
    public $mysql_password = '';
    public $mysql_db = 'test';
    private $db = false;

    /*
    * Данные пользователя
    */
    public $login;
    public $mail;
    public $name;
    в index.php создается объект этого класса и когда пользователь входит в public $class->login и тд записываются его данные и переадресуется на вторую страницу, на второй страницы мне нужно получить доступ к уже созданному объекту и получить из него эти данные
     
  6. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Ну значить тебе надо передать этот объект класса второму скрипту.

    Самый простой способ запиши этот объект класса в переменную $_SESSION и передавай
     
  7. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Экземпляр класса это и есть объект.
    Не нужно делать 2 index, повторно использовать код главной, делайте на одной странице.
    Все подключенные классы будут доступны, в любых подключенных файлах ниже, а также вложенных подключениях.
    Созданные экземпляры выше на главной, будут доступны также.

    А тут и не надо много классов.

    Создать всего, то несколько и пользоваться полученным родителем.

    Код (PHP):
    1. class class2 {
    2.     protected static function funct1() {
    3.         echo'funct1';
    4.     }
    5.     
    6.     protected static function funct2() {
    7.         echo'funct2';
    8.     }
    9.     
    10.     public static function funct3() {
    11.         echo'funct3';
    12.     }
    13. }
    14.  
    Код (PHP):
    1. class class1 extends class2 {
    2.     public static function funct1() {
    3.         echo parent::funct1();
    4.     }
    5. } 
    Код (PHP):
    1. echo nl2br(class1::funct1().'
    2. '.class1::funct2().'
    3. '.class1::funct3());
    4. /*
    5. funct1
    6. Fatal error: Call to protected method class2::funct2()
    7. funct3
    8. */ 
    Как выяснилось не так давно статик это не ООП.
     
  8. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    если вы в класс просто нафигаличи функций и дёргаете их по мере надобности, это еще не ООП, даже если это не статик, а объект. :D