@arturka_v_10

Как правильно объявлять классы в ООП?

Здравствуйте, суть вопроса в следующем. Есть папка в которой лежат файлы (классы)
_classes.func.php (где функции) и _class.time.php (где доп функция счета)

Так вот, при работе с _class.time.php мне нужно использовать функцию из _classes.func.php
Как мне объявить ее в _class.time.php?

Код _classes.func.php:
class func{
	public function SumCalc($per_h, $sum_tree, $last_sbor){
		if($last_sbor > 0){
			if($sum_tree > 0 AND $per_h > 0){
				$last_sbor = ($last_sbor < time()) ? (time() - $last_sbor) : 0;
				$per_sec = $per_h / 3600;
				return round( ($per_sec * $sum_tree) * $last_sbor);
			}else return 0;
		}else return 0;
	}
}


Код _class.time.php:

class life_time
{
	public function CheckTime()
	{
$p1 = $func->SumCalc($config_s["a_in_h"], $user_d["a_t"], $user_d["last_sbor"]);
 }
}


Пробовал после class life_time{ дописывать $func = new func; выбивает NULL
  • Вопрос задан
  • 177 просмотров
Решения вопроса 1
@arturka_v_10 Автор вопроса
Решил самостоятельно
class life_time
{
	function __construct($db)
	{
		$this->db = $db;
		$this->func = new func;
	}

public function CheckTime()
  {
$p1 =$this->func->SumCalc($config_s["a_in_h"], $user_d["a_t"], $user_d["last_sbor"]);
 }

}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
1) Используйте composer
2) Используйте PSR4

Это два пункта для вашего счастья
Ответ написан
Комментировать
KorniloFF
@KorniloFF
Работаю по font-end / JS
1. Приинклюдить файл с классом
2. Объявить наследование классов
class life_time extends func {.....} вместо class life_time

3. Пользоваться унаследованными методами
$v= new life;
$v->SumCalc();


Если нужно изнутри дочернего класса, то:
parent::SumCalc();
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы