Как импортировать переменную внутри функции класса?
Хотел бы получить $valortotal
и взять ее, ведь внутри функции класса, как видно в примере ниже. Обязанный.
$valortotal = 15.00;
class CreatePaymentRequestLightbox
{
public static function main()
{
$pedido_total = $valortotal;
....
.....
5 answers
Возможностью было бы передать переменную в качестве аргумента для функции main
.
class CreatePaymentRequestLightbox{
public function main($valortotal){
$pedido_total = $valortotal;
echo $pedido_total;
}
}
$valortotal = 15.00;
$paymentRequest = new CreatePaymentRequestLightbox();
$paymentRequest->main($valortotal);
Или использовать переменную публикует класса:
class CreatePaymentRequestLightbox{
public $pedido_total = 0;
public function main(){
echo $this->pedido_total;
}
}
$valortotal = 15.00;
$paymentRequest = new CreatePaymentRequestLightbox();
$paymentRequest->pedido_total = $valortotal;
$paymentRequest->main();
, Или использовать закрытую переменную и изменить значение с государственной:
class CreatePaymentRequestLightbox{
private $pedido_total = 0;
public function editarPedidoTotal($pedido_total){
$this->pedido_total = $pedido_total;
}
public function main(){
echo $this->pedido_total;
}
}
$valortotal = 15.00;
$paymentRequest = new CreatePaymentRequestLightbox();
$paymentRequest->editarPedidoTotal($valortotal);
$paymentRequest->main();
Сделать main()
принять параметр.
$valortotal = 15.00;
class CreatePaymentRequestLightbox
{
public static function main($valortotal)
{
$pedido_total = $valortotal;
Таким образом, вы проходите прямое значение или переменную при вызове функции
$valortotal = 15.00;
$paymentRequest = new CreatePaymentRequestLightbox()->main($valortotal);
Если значение уже находится внутри класса
class CreatePaymentRequestLightbox
{
private $valorTotal = '150.00';
public static function main()
{
$pedido_total = $this->valorTotal;
Если вы идете ловить за пределами класса, чтобы играть внутри
class CreatePaymentRequestLightbox
{
public $valorTotal;
public static function main()
{
$pedido_total = $this->valorTotal;
}
}
$classe = new CreatePaymentRequestLightbox;
$classe->valorTotal = '150.00';
, Только помимо других ответов, а также, например, комментарий от @ErlonCharles, что не рекомендуется использовать во всех случаях (как приведенные выше), и почти всегда лучший вариант, это передать значение в параметр.
, Однако в некоторых случаях, например, для подключения объекта, то лучше будет использовать глобальную переменную:
$connection = new PDO();
class AlgumaClasse
{
public static function main($valortotal)
{
global $connection;
$connection->query("INSERT INTO valores (valor) VALUES ({$valortotal})");
}
}
AlgumaClasse::main(15.00);
И Не рекомендуется, но вы можете использовать также так:
$valortotal = 15.00;
class CreatePaymentRequestLightbox
{
public static function main()
{
global $valortotal;
$pedido_total = $valortotal;
...
...