Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Proste MVC w czystym php
michuwsh
post 21.06.2019, 11:00:40
Post #1





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 1.03.2016

Ostrzeżenie: (0%)
-----


Cześć szukam pomocy ponieważ pisze sobie proste aplikacje w php oparta o model mvc mój Router aplikacji wczytuje z adresu url odpowiedni kontroler który później steruje odpowiednimi modułami mojej aplikacji. Mój problem polega na tym że stworzyłem sobie kontroler admin który będzie odpowiadał za zalogowanie się do aplikacji w tym celu skierowałem w kontrolerzy akcje login która przenosi mnie do widoku w którym jest formularz do zalogowania no i właśnie w tym miejscu utknelem. Doczytałem na Internecie że dane z formularza trzeba przesłać z widoku do kontrolera a później do modelu tylko nie wiem jak to zrobić czy robi się to przez parametr Edition formularza ? Proszę o pomoc.
Go to the top of the page
+Quote Post
SmokAnalog
post 21.06.2019, 11:07:17
Post #2





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Bierzesz się za MVC, a nie znasz HTML-a?
Go to the top of the page
+Quote Post
michuwsh
post 21.06.2019, 12:16:03
Post #3





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 1.03.2016

Ostrzeżenie: (0%)
-----


Znam html od 3 lat pracuje jako fontend developer wiem że normalnie robi się to przez atrybut action dla formularza ale do jakiego pliku to przesłać żeby kontroler otrzymał tablice POST a później model ?
Go to the top of the page
+Quote Post
SmokAnalog
post 21.06.2019, 13:09:43
Post #4





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Kontrolery mogą korzystać z globalnej klasy albo helpera, możesz też się bawić w dependency injection, ale moim zdaniem nie ma potrzeby. Wystarczy mieć klasę, np. Input, która mogłaby być tylko wrapperem na $_GET i $_POST, np. Input::get(), Input::post(), Input::get('user-id') itd.
Go to the top of the page
+Quote Post
michuwsh
post 21.06.2019, 13:40:51
Post #5





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 1.03.2016

Ostrzeżenie: (0%)
-----


A można poprosić o jakiś przykład bo ja narazie raczkuje w obiektowce
Go to the top of the page
+Quote Post
SmokAnalog
post 21.06.2019, 13:55:33
Post #6





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Na przykład coś takiego:

  1. class Input {
  2. protected static function value(array $array, $key = null, $default = null)
  3. {
  4. return $key === null ? $array : ($array[$key] questionmark.gif $default);
  5. }
  6.  
  7. public static function get($key = null, $default = null)
  8. {
  9. return static::value($_GET, $key, $default);
  10. }
  11.  
  12. public static function post($key = null, $default = null)
  13. {
  14. return static::value($_POST, $key, $default);
  15. }
  16. }


Sposób użycia:

Input::get() - wszystkie wartości GET
Input::post() - wszystkie wartości POST
Input::get('cokolwiek') - wartość $_GET['cokolwiek'] lub null, jeśli nie istnieje
Input::post('cokolwiek') - wartość $_POST['cokolwiek'] lub null, jeśli nie istnieje
Input::get('cokolwiek', 'jagoda') - wartość $_GET['cokolwiek'] lub "jagoda", jeśli nie istnieje
Input::post('cokolwiek') - wartość $_POST['cokolwiek'] lub "jagoda", jeśli nie istnieje


EDIT

questionmark.gif to dwa znaki zapytania obok siebie. Widzę, że to forum nadal nie ogarnia, że w kodzie nie chcemy emotikonek biggrin.gif

Ten post edytował SmokAnalog 21.06.2019, 14:00:52
Go to the top of the page
+Quote Post
viking
post 21.06.2019, 13:57:56
Post #7





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Ja zawsze podkreślam że jeśli nie masz wiedzy to nie ma sensu pisać własnego rozwiązania. Zobacz jak to robią lepsi, naucz się wcześniej trochę pisząc zgodnie z wymuszonym standardem i dopiero wtedy możesz myśleć o samodzielnym pisaniu. Nie, tworząc taki kod nic się więcej nie nauczysz a tylko spotęgujesz błędy.


--------------------
Go to the top of the page
+Quote Post
Tomplus
post 21.06.2019, 14:52:24
Post #8





Grupa: Zarejestrowani
Postów: 1 836
Pomógł: 225
Dołączył: 20.03.2005
Skąd: Będzin

Ostrzeżenie: (0%)
-----


@SmokAnalog
Jak to się nie da? Da się, da na tym forum

  1. class Input {
  2. protected static function value(array $array, $key = null, $default = null)
  3. {
  4. return $key === null ? $array : ($array[$key] ?? $default);
  5. }
  6. }



Wystarczy wyłączyć opcję: WŁACZ UŚMIESZKI.

Ten post edytował Tomplus 21.06.2019, 14:53:00
Go to the top of the page
+Quote Post
SmokAnalog
post 21.06.2019, 15:02:38
Post #9





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Aha. Ale i tak lipa, że uśmieszki są parsowane w kodzie.
Go to the top of the page
+Quote Post
michuwsh
post 21.06.2019, 15:32:04
Post #10





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 1.03.2016

Ostrzeżenie: (0%)
-----


Cytat(viking @ 21.06.2019, 14:57:56 ) *
Ja zawsze podkreślam że jeśli nie masz wiedzy to nie ma sensu pisać własnego rozwiązania. Zobacz jak to robią lepsi, naucz się wcześniej trochę pisząc zgodnie z wymuszonym standardem i dopiero wtedy możesz myśleć o samodzielnym pisaniu. Nie, tworząc taki kod nic się więcej nie nauczysz a tylko spotęgujesz błędy.

Przepisywanie czyjegoś kodu to dla mnie nie ma sensu a już tym bardziej gdy się nie wie o co w nim chodzi.
Rozumiem że muszę stworzyć nową klasę do odbierania danych i przekazywania ich do kontrolera ? A co z atrybutem action w moim formularzu do jakiego pliku ma być przesyłany?
Go to the top of the page
+Quote Post
SmokAnalog
post 21.06.2019, 15:38:46
Post #11





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Viking ma dużo racji. Te pytania świadczą o tym, że nie masz zielonego pojęcia o MVC i pewnie o PHP też niewielkie. Zacznij od nauki podstaw, a potem baw się w swoje frameworki.
Go to the top of the page
+Quote Post
viking
post 21.06.2019, 16:34:12
Post #12





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


A kto mówi o przypisywaniu? Masz zacząć korzystać z jakiegoś fw poczttać dokumentację, ogarnąć podstawy tworzenia aplikacji. Łatwy ma start jest laravel.


--------------------
Go to the top of the page
+Quote Post
Tomplus
post 21.06.2019, 18:21:31
Post #13





Grupa: Zarejestrowani
Postów: 1 836
Pomógł: 225
Dołączył: 20.03.2005
Skąd: Będzin

Ostrzeżenie: (0%)
-----


Tak naprawdę nie musi być to w ogóle framework, wystarczy cokolwiek. Bo nauka FW dla samej nauki nic nie daje, ale musi być jakiś cel, co chce się osiągnąć. Zaczynając od podstaw wystarczy może wystarczyć jakiś SLIM framework albo fat-free, albo AURA framework.

Lekkie i proste, a jeżeli będzie mało, to dopiero Laravel.


@SmokAnalog
Właśnie to kolejna głupotka, że nawet nie można interweniować w kod forum, bo nie mamy dostępu aby wykluczyć parsowanie w tagach specjalistycznych.
Go to the top of the page
+Quote Post
com
post 2.07.2019, 10:10:25
Post #14





Grupa: Zarejestrowani
Postów: 3 033
Pomógł: 366
Dołączył: 24.05.2012

Ostrzeżenie: (0%)
-----


Jak powstawał skrypt forum to nie było jeszcze operatora ?? :P

Ten post edytował com 2.07.2019, 10:10:49
Go to the top of the page
+Quote Post
SmokAnalog
post 3.07.2019, 22:21:52
Post #15





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Cytat(com @ 2.07.2019, 11:10:25 ) *
Jak powstawał skrypt forum to nie było jeszcze operatora questionmark.gif tongue.gif

Wiem właśnie oneeyedsmiley02.png Ale i tak głupota, że cokolwiek tam jest zamieniane na uśmieszki.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.04.2024 - 15:39