За последние 24 часа нас посетили 20517 программистов и 1826 роботов. Сейчас ищут 986 программистов ...

Ранее стат.связывание, запрос к бд, алгоритм верный?

Тема в разделе "PHP для новичков", создана пользователем Михаил Запаленов, 5 сен 2017.

  1. Михаил Запаленов

    С нами с:
    2 авг 2017
    Сообщения:
    120
    Симпатии:
    1
    Вообщем решил написать примерную связь по MVC модель-контроллер, запрос к базе данных. Суть алгоритма такова, создаются два класса, модель и контроллер. Модель имеет 3 приватных свойства и 1 защищенный метод в котором по идее должен будет быть сам запрос, контроллер наследует модель получает от нее лишь ЗАЩИЩЕННЫЙ МЕТОД, внутри которого ранним статическим связыванием используются приватные свойства данных о базе данных.

    Модель -

    PHP:
    1. namespace liw\mod;
    2.  
    3.  
    4. class modBase
    5. {
    6.    static private $name      = 'root';
    7.    static private $password  = '';
    8.    static private $base      = 'users';
    9.  
    10.    static protected function query()
    11.     {
    12.         echo $a = self::$name;
    13.         echo $b = self::$password;
    14.         echo $c = self::$base;
    15.     }
    16. }
    Контроллер -

    PHP:
    1. namespace liw\cont;
    2.  
    3. use liw\mod\modBase;
    4.  
    5. class contBase extends modBase
    6. {
    7.     public function modQuery()
    8.     {
    9.         modBase::query();
    10.     }
    11. }
    Прошу улучшить алгоритм, внести доработки, предложить свой. Но только перед этим опишите как работает ваш алгоритм. (P.s будет полезно как мне, так и другим новичкам.)
     
  2. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.589
    Симпатии:
    1.763
    Контроллер не должен наследовать модель, контроллер не является моделью. Лакмусовая бумажка наследования - слово является.
    Запускается контроллер, если нужно ему что-то от модели - он её создаёт и вызывает нужные методы. Называется "использование".
     
  3. Михаил Запаленов

    С нами с:
    2 авг 2017
    Сообщения:
    120
    Симпатии:
    1
    Как это создает? Можно пример простой? По идее есть три папки controller-model-view , контроллер принял запрос от пользователя, обработал, если нужно что-то с базы или данные какие-то он обращается к модели, модель делает запрос к базе, принимает, обрабатывает данные, далее передает контроллеру, он их тоже обрабатывает и передаются view для вывода пользователю, не такой алгоритм? Можно свой?
     
  4. Михаил Запаленов

    С нами с:
    2 авг 2017
    Сообщения:
    120
    Симпатии:
    1
  5. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.589
    Симпатии:
    1.763
    PHP:
    1. class PostController {
    2.      public function actionList()
    3.     {
    4.         $postRepository = new PostRepository();
    5.         $posts = $postRepository->getPosts();
    6.       // ...
    7.     }
    8. }
    Что-то в этом роде
     
    Михаил Запаленов нравится это.