Всем доброго времени суток.
Хочу вынести логику в php файл. Чтобы переменные держать в переменных, а не в базе. да и чтобы все было в одном файле. задумка с объектами в одминке конечно хорошая, но мне проще держать и редактировать все в одном файле, чем раскиданным по базе и куче менюшек. ктому же оно все выполняется в eval()
В связи с этим пару вопросов
1. Как правильнее сделать - замутить отдельный свой цикл, или прикрутить к главному?
2. Как ловить события changed уже существующих в системе объектов?
логика в php файле
Модератор: immortal
- nightwind
- Сообщения: 333
- Зарегистрирован: Вс июн 26, 2016 4:42 pm
- Откуда: Барановичи
- Благодарил (а): 28 раз
- Поблагодарили: 52 раза
- Контактная информация:
Re: логика в php файле
до логики ход не дошел, многое сделал по типу этого (астрономия)
в папке lib создать файл
использовать просто, sql не нагружает, работает быстро.
в папке lib создать файл
Код: Выделить всё
<?php
if ( ! function_exists('time2Hm')) {
function time2Hm($tm) {
return date("H:i", $tm);
}
}
class Astro {
var $latitude;
var $longitude;
function Astro() {
$this->latitude = 53.112268;
$this->longitude = 26.014811;
}
function sunRiseTime() {
$sun_info = date_sun_info(time(), $this->latitude, $this->longitude);
return $sun_info['sunrise'];
}
function sunRiseTime_Hm() {
return time2Hm($this->sunRiseTime());
}
function sunSetTime() {
$sun_info = date_sun_info(time(), $this->latitude, $this->longitude);
return $sun_info['sunset'];
}
function sunSetTime_Hm() {
return time2Hm($this->sunSetTime());
}
function dayLength() {
return $this->sunSetTime() - $this->sunRiseTime();
}
function dayLength_Hm() {
return time2Hm($this->dayLength());
}
function transit() {
$sun_info = date_sun_info(time(), $this->latitude, $this->longitude);
return $sun_info['transit'];
}
function civil_begin() {
$sun_info = date_sun_info(time(), $this->latitude, $this->longitude);
return $sun_info['civil_twilight_begin'];
}
function text() {
$sun_info = date_sun_info(time(), $this->latitude, $this->longitude);
$astroText = "";
foreach ($sun_info as $key => $val) {
if ($key == 'sunrise') {
$sunRiseTime = $val;
$astroText = $astroText . 'Восход: ' . date("H:i", $sunRiseTime) . PHP_EOL;
}
if ($key == 'sunset') {
$sunset = $val;
$day_length = $sunset - $sunRiseTime;
$astroText = $astroText . 'Заход: ' . date("H:i", $sunset) . PHP_EOL;
$astroText = $astroText . 'Долгота дня: ' . gmdate("H:i", $day_length) . PHP_EOL;
$sunSetTime = date("H:i", $sunset);
$dayLength = gmdate("H:i", $day_length);
}
if ($key == 'transit') {
$astroText = $astroText . 'В зените: ' . date("H:i", $val) . PHP_EOL;
$transit = date("H:i", $val);
}
if ($key == 'civil_twilight_begin') {
$astroText = $astroText . 'Начало утренних сумерек: ' . date("H:i", $val) . PHP_EOL;
$civil_begin = date("H:i:s", $val);
}
if ($key == 'civil_twilight_end') {
$astroText = $astroText . 'Конец вечерних сумерек: ' . date("H:i", $val) . PHP_EOL;
}
}
if ($this->isDark()) {
$astroText = $astroText . ' Темно ';
}
else {
$astroText = $astroText . ' Светло ';
}
return $astroText;
}
}
//$a = new Astro;
//echo(time2Hm($a->sunSetTime()));
//echo($a->dayLength_Hm());
//echo ($a->sunRiseTime_Hm());
?>