Обучение/Помощь новичкам | Оцените пожалуйста
Учу PHP меньше месяца , практикую , читабельный код?
Файл pit.box.php
Файл pit.php
------
79921_Screenshot_20211127231517354_com.android.chrome.jpg (512.8 Kb)
Скачиваний: 127
________
посл. ред. 27.11.2021 в 23:15; всего 5 раз(а); by 213731682
Файл pit.box.php
php
<?php
class pit
{
// const PLAYER_FREE_AP = 10; // Бесплатное кормление
// узнать количество очков силы
public static function get_satiety($id_user)
{
$sql = 'select satiety from pit where id_user = ? limit 1';
$sth = db::$pdo->prepare($sql);
$sth->execute([$id_user]);
return $sth->fetch(PDO::FETCH_NUM)[0];
}
// создать запись с игроком
public static function player_create($id_user)
{
$sql = 'insert into pit set id_user = ?';
$sth = db::$pdo->prepare($sql);
$sth->execute([$id_user]);
}
// проверить есть ли запись с игроком
public static function is_player($id_user)
{
$sql = 'select count(*) from pit where id_user = ? limit 1';
$sth = db::$pdo->prepare($sql);
$sth->execute([$id_user]);
if ($sth->fetch(PDO::FETCH_NUM)[0] > 0) {
return true;
}
return false;
}
// добавить очки силы
public static function set_satiety($num, $id_user)
{
$sql = 'update pit set satiety = satiety + ? where id = ? limit 1';
$sth = db::$pdo->prepare($sql);
$sth->execute([$num, $id_user]);
}
// контроллер игрока
public static function player_ctrl()
{
$id_user = ID;
if (!self::is_player($id_user)) { // если записи с игроком нет
self::player_create($id_user);
}
}
// контроллер кормления
public static function satiety_ctrl($korm)
{
$id_user = ID;
if (get_mutagen_by_id($id_user) >= $korm ) {//Если достаточно мутагена
self::set_satiety($korm, $id_user);
set_mutagen(- $korm,$id_user);
}
}
}
class pit_model
{
public function get()
{
$satiety = pit::get_satiety(ID);
return [
'satiety' => $satiety
];
}
} Файл pit.php
php
<?php
require_once(ROOT . 'project/internal/core.php'); // грузим ядро
pit::player_ctrl();
$act = '';
if ( ! empty($_GET['korm'])) {
$act = $_GET['korm'];
}
if ($act == '1' || $act == '5' || $act =='15') {
pit::satiety_ctrl($act);
// что бы при перезагркзеи страницы не повторялся код
redirect::go()->ruler_cut('korm');
}
view('tpl/cap');
view('tpl/header');
view('tpl/header-enter');
view('pit', (new pit_model)->get());
view('tpl/footer-enter');
view('tpl/footer'); ------
Скачиваний: 127
________
посл. ред. 27.11.2021 в 23:15; всего 5 раз(а); by 213731682
213731682 , для начала пойдет:) я бы сделал функции которые выполняются в нутри класса приватными.
Почему выбрал именно функциональный подход?
Simptom333 (28.11.2021 в 00:26)
Почему выбрал именно функциональный подход?
Почему выбрал именно функциональный подход?
Это называется метод, а не функция
DELETED
28 ноября 2021, в 3:32
Delete
DELETED
28 ноября 2021, в 3:32
Delete
Avenax , По такой логин объективный подход не объект, а метод.
Simptom333 (28.11.2021 в 11:09)
Avenax , По такой логин объективный подход не объект, а метод.
Avenax , По такой логин объективный подход не объект, а метод.
Что?
Avenax , "логин" = "логике", Т9...
Какое отношение твой комментарий "Это называется метод, а не функция" имеет к выбору подхода?
Ну бред же.
Осмелюсь предположить, что ты не верно истолковал мой вопрос,или не вник в него, или может позабыл)
Для понимания, о чем я, тупое существо тут перья раскидал, предлагаю взглянуть на код автора и, пусть будет для примера, на код лары (да тут любой фреймворк, по сути то, подойдет).
Найди 5 отличий, что называется. Где из этих двух вариантов функциональный подход, а где объектный?
Или тут не слышали о существовании такого разделения и "функциональный" все равно что "процедурный"?
Тогда уж простите ребята, но вы явно что-то проглядели)
Какое отношение твой комментарий "Это называется метод, а не функция" имеет к выбору подхода?
Ну бред же.
Осмелюсь предположить, что ты не верно истолковал мой вопрос,или не вник в него, или может позабыл)
Для понимания, о чем я, тупое существо тут перья раскидал, предлагаю взглянуть на код автора и, пусть будет для примера, на код лары (да тут любой фреймворк, по сути то, подойдет).
Найди 5 отличий, что называется. Где из этих двух вариантов функциональный подход, а где объектный?
Или тут не слышали о существовании такого разделения и "функциональный" все равно что "процедурный"?
Тогда уж простите ребята, но вы явно что-то проглядели)
Simptom333 , ну то что указано в топике, это как раз таки в моем понимании объективный подход, так как это уже ООП (Объектно-ориентированное программирование). Стало быть все что находится в классе является объектами этого класса а не функциями.
Что касается о функциональном подходе то это уже относится в большей степени процедурному коду. Где будет вызываться обычная функция.
Для понимания в примерах:
Объективное решение, так как get() является объектом класса pit_model может быть вызван как внутри класса так и наследоваться в другие.
Процедурное решение, так как это обычная функция которая будет вызываться непосредственно в самом коде и будет выполнять процесс который будет задаваться в функции и можно вызвать на любой странице сайта.
________
посл. ред. 29.11.2021 в 04:48; всего 1 раз(а); by DenSBK
Что касается о функциональном подходе то это уже относится в большей степени процедурному коду. Где будет вызываться обычная функция.
Для понимания в примерах:
Объективное решение, так как get() является объектом класса pit_model может быть вызван как внутри класса так и наследоваться в другие.
php
class pit_model
{
public function get()
{
$satiety = pit::get_satiety(ID);
return [
'satiety' => $satiety
];
}
} Процедурное решение, так как это обычная функция которая будет вызываться непосредственно в самом коде и будет выполнять процесс который будет задаваться в функции и можно вызвать на любой странице сайта.
php
function get_pit($id)
{
return $id;
} ________
посл. ред. 29.11.2021 в 04:48; всего 1 раз(а); by DenSBK
Стр.: 1, 2
