Как передать переменную в класс php?

Пользователь

от gussie.jones , в категории: PHP , 2 года назад

Как передать переменную в класс php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от hoyt.jerde , 2 года назад

@gussie.jones Вы можете создать конструктор в классе и передать ее напрямую в конструктор. Конструктор обьявляется через магический метод __construct пример:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php

class TestClass
{
    /**
     * @var mixed
     */
    private $params;

    public function __construct($params)
    {
        $this->params = $params;
    }

    /**
     * @return mixed
     */
    public function getParams()
    {
        return $this->params;
    }

    /**
     * @param mixed $params
     */
    public function setParams($params)
    {
        $this->params = $params;
    }
}

$test = new TestClass('Я Строка');

// Я строка
echo $test->getParams();


Пользователь

от eryn.rodriguez , год назад

@gussie.jones 

В PHP переменные можно передавать в класс разными способами:

  1. Передача через конструктор:
1
2
3
4
5
6
7
8
class MyClass {
  public function __construct($param) {
    $this->param = $param;
  }
}

$obj = new MyClass('Hello');
echo $obj->param; // Outputs 'Hello'


  1. Передача через сеттер:
1
2
3
4
5
6
7
8
9
class MyClass {
  private $param;
  public function setParam($param) {
    $this->param = $param;
  }
}

$obj = new MyClass();
$obj->setParam('Hello');


  1. Передача через статическую переменную:
1
2
3
4
5
6
class MyClass {
  public static $param;
}

MyClass::$param = 'Hello';
echo MyClass::$param; // Outputs 'Hello'


  1. Передача через глобальную переменную:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
class MyClass {
  public function getParam() {
    global $param;
    return $param;
  }
}

$param = 'Hello';
$obj = new MyClass();
echo $obj->getParam(); // Outputs 'Hello'