я продолжаю объявлять одни и те же вещи снова и снова

#php #oop #function #global #private

#php #ооп #функция #глобальный #Частное

Вопрос:

Не уверен, есть ли возможность делать то, что я хочу, мне в основном нужно сохранить следующую информацию в глобальном переменном, и если они запрашиваются, то иметь возможность извлекать их из любой общедоступной функции без необходимости повторно отправлять ее функции, которой требуется информация в текущий момент, когда яделаем следующее

 public function savenewbusinesslead($tradingname, $companyname)
{
    $this->tradingname  = $tradingname;
    $this->companyname  = $companyname;
}

public function sendemail($email,$tradingname){
    $this->email = $email;
    $this->tradingname = $tradingname
}
  

Что я хочу сделать, так это следующее

 private function global($tradingname, $companyname){
     $this->tradingname = $tradingname;
     $this->companyname = $companyname;
}
public function savenewbusinesslead(){
     print $this->global->tradingname;
}
  

Комментарии:

1. Используйте класс like Test и называйте его like Test::sendemail()

Ответ №1:

Чтобы ссылаться на глобальную переменную из ваших методов, вам нужно использовать ключевое слово global, например:

   //assuming $tradingname is defined ouside your method
public function savenewbusinesslead(){
   global $tradingname;
   print $tradingname;
}
  

Помогает ли это?

Комментарии:

1. Вроде как, но как мне сохранить глобальную переменную? это просто путем помещения $tradingname после функции класса? или в своей собственной функции?

2. Вы можете определить переменную вне всех функций, что сделает ее глобальной.

Ответ №2:

Вы всегда можете использовать статическую переменную в своем классе, чтобы справиться с этим.

Подробнее там: http://www.php.net/manual/en/language.oop5.static.php