Loading...
Обучение/Помощь новичкам | Оцените пожалуйста
Учу PHP меньше месяца , практикую , читабельный код? Файл 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');   


Изображение

------
79921_Screenshot_20211127231517354_com.android.chrome.jpg (512.8 Kb)
Скачиваний: 121

________
посл. ред. 27.11.2021 в 23:15; всего 5 раз(а); by 213731682
213731682 , для начала пойдет:) я бы сделал функции которые выполняются в нутри класса приватными.
Почему выбрал именно функциональный подход?
Simptom333 (28.11.2021 в 00:26)
Почему выбрал именно функциональный подход?

Это называется метод, а не функция
Классы лучше всегда с большой буквы делать :)
И юзай лучше orm, удобнее и безопаснее
Avenax , По такой логин объективный подход не объект, а метод.
Simptom333 (28.11.2021 в 11:09)
Avenax , По такой логин объективный подход не объект, а метод.

Что?
Avenax , "логин" = "логике", Т9...
Какое отношение твой комментарий "Это называется метод, а не функция" имеет к выбору подхода?
Ну бред же.
Осмелюсь предположить, что ты не верно истолковал мой вопрос,или не вник в него, или может позабыл)
Для понимания, о чем я, тупое существо тут перья раскидал, предлагаю взглянуть на код автора и, пусть будет для примера, на код лары (да тут любой фреймворк, по сути то, подойдет).
Найди 5 отличий, что называется. Где из этих двух вариантов функциональный подход, а где объектный?
Или тут не слышали о существовании такого разделения и "функциональный" все равно что "процедурный"?
Тогда уж простите ребята, но вы явно что-то проглядели)
Simptom333 , ну то что указано в топике, это как раз таки в моем понимании объективный подход, так как это уже ООП (Объектно-ориентированное программирование). Стало быть все что находится в классе является объектами этого класса а не функциями. Что касается о функциональном подходе то это уже относится в большей степени процедурному коду. Где будет вызываться обычная функция. Для понимания в примерах: Объективное решение, так как 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
Онлайн: 3
Время:
Gen. 0.1152
(c) Bym.Guru 2010-2026