Aplikacja Webowa w PHP

1

Witam, jestem w trakcie pisania swojej aplikacji webowej i chciałbym doprecyzować kilka rzeczy,
aby zrobić to możliwie poprawnie.

  1. Czy osadzanie kodu HTML w plikach o rozszerzeniu PHP jest dobrą praktyką, czy powinny być one oddzielnie?
  2. Jak powinna wyglądać prawidłowa struktura takiej aplikacji mobilnej? Wiele tutoriali pokazuje, jakby wszystko należało
    pisać w PHP i ewentualnie osadzać w tym php, HTML.
  3. Czy ktoś byłby w stanie podać mi przykładowy projekt aplikacji web, która zrobiona jest zgodnie ze "standardami", z backendem w PHP
    i frontend w JS( ew. angular itp.) ?

W głównej mierze zależy mi aby zacząć od dobrych praktyk

Pozdrawiam!

0

Czy osadzanie kodu HTML w plikach o rozszerzeniu PHP jest dobrą praktyką, czy powinny być one oddzielnie?

No kurde inaczej się nie da ;)
tzn. na tym polega PHP - PHP Hypertext Preprocessor, ale niektóre pliki php nie zawierają htmla (są to np. pliki z danymi do logowania bazy danych itd itd)

0

Musisz doprecyzować o co chodzi dokładnie.

Jeśli mowa o zwykłej stronie to tak osadzasz php w html ale tylko względem prezentacji danych czyli echo + pętle + ify + include, nic poza tym. Reszta powinna być w kontrolerach, modelach i innych typach klas jakie masz we frameworku o jaki opierasz swoją stronę.

W drugiej części wspominałeś o angularze, tutaj jest odmienna sytuacja. aplikacja php i angular to 2 osobne aplikacje pod różnymi adresami. najczescie api.xxxxx.pl i xxxxx.pl, wtedy backend zwraca dane w formacie json więc php nie miesza się z html.

0
mr_jaro napisał(a):

Musisz doprecyzować o co chodzi dokładnie.

Jeśli mowa o zwykłej stronie to tak osadzasz php w html ale tylko względem prezentacji danych czyli echo + pętle + ify + include, nic poza tym. Reszta powinna być w kontrolerach, modelach i innych typach klas jakie masz we frameworku o jaki opierasz swoją stronę.

W drugiej części wspominałeś o angularze, tutaj jest odmienna sytuacja. aplikacja php i angular to 2 osobne aplikacje pod różnymi adresami. najczescie api.xxxxx.pl i xxxxx.pl, wtedy backend zwraca dane w formacie json więc php nie miesza się z html.

Dziękuje, właśnie o informacje tego typu, jak tutaj z Angularem mi chodzi.
Na początek przykładowo bardzo by mi pomogła informacja, co mam wykorzystać aby moja web-app miała ręce i nogi.

Ma to być prosty serwis do nauki, gdzie w formularzu dodaje Osobe, na innej stronie pobieram dane z DB i je wyświetlam, usuwanie, edycja i takie pierdoły.
I co wykorzystać do tego? PHP + Angular ? Jakie w ogóle mam warianty i co byscie polecali? Dopiero zaczynam, jest tego dużo
i jak widzicie trochę mi się to miesza :)

0

Jak zaczynasz to zacznij od najprostszych rzeczy. Nie rzucaj się na wszystko od razu więc angulara bym ci nie radził, prędzej jakieś drobne rzeczy w najlepiej czystym javascripcie bo go też trzeba znać.

0

rozpisz to sobie na etapy i funkcje które chciałbyś wdrożyć i wtedy podejmij decyzje w czym to wykonasz ;)

0

Dodam że warto nauczyć się PHP Data object.

0

Jeżeli nie będziesz robić frontu w js, to nie nie polecam osadzać html w php. To na dłuższą metę robi się mało czytelne i ciężko utrzymać taki kod. Przyjrzyj się Smarty: http://www.smarty.net/. Sam z tego nie korzystałem, ale myślę, że warto spróbować.

EDIT: Sam z tego nie korzystałem i jest to odradzane, dlatego wycofuję posta.

0
Sarrus napisał(a):

Jeżeli nie będziesz robić frontu w js, to nie nie polecam osadzać html w php. To na dłuższą metę robi się mało czytelne i ciężko utrzymać taki kod. Przyjrzyj się Smarty: http://www.smarty.net/. Sam z tego nie korzystałem, ale myślę, że warto spróbować.

Dzięki, to pomocna odpowiedz.
Ciągle nęka mnie jednak pytanie, w jaki sposób mogę pobrać dane z bazy danych za pomocą PHP, a następnie
przesłać je do frontendu w Angularze?

Właśnie o to mi chodzi, aby stosować dobre praktyki i oddzielic front od backendu.

0

Ciągle nęka mnie jednak pytanie, w jaki sposób mogę pobrać dane z bazy danych za pomocą PHP, a następnie
przesłać je do frontendu w Angularze?

To co potrzebujesz to REST API. Musisz poszukać i poczytać. Temat jest zbyt obszerny i nie będę go tu wykładać.

Właśnie o to mi chodzi, aby stosować dobre praktyki i oddzielic front od backendu.

To nie jest kwestia dobrych praktyk, ale potrzeb/upodobań. Angular potrafi zaleźć za skórę, więc dobrze to przemyśl.

0
Sarrus napisał(a):

Jeżeli nie będziesz robić frontu w js, to nie nie polecam osadzać html w php. To na dłuższą metę robi się mało czytelne i ciężko utrzymać taki kod. Przyjrzyj się Smarty: http://www.smarty.net/. Sam z tego nie korzystałem, ale myślę, że warto spróbować.

Przecież autor wątku dopiero zaczyna. Nie pakuj mu niepotrzebnych technologii na start bo tak sie nie da. Nie można się uczyć 20 rzeczy od razu bo źle nauczy a przy okazji zniechęci. Inna sprawa, że smarty to kobyła której wole nie tykać. Bardzo przyjemny jest blade stosowany w laravelu, ale SYSTEMY TEMPLATEK NIE SĄ DLA OSÓB KTÓRE DOPIERO CO ZACZYNAJĄ PRZYGODE Z PHP.

0
mr_jaro napisał(a):
Sarrus napisał(a):

Jeżeli nie będziesz robić frontu w js, to nie nie polecam osadzać html w php. To na dłuższą metę robi się mało czytelne i ciężko utrzymać taki kod. Przyjrzyj się Smarty: http://www.smarty.net/. Sam z tego nie korzystałem, ale myślę, że warto spróbować.

Przecież autor wątku dopiero zaczyna. Nie pakuj mu niepotrzebnych technologii na start bo tak sie nie da. Nie można się uczyć 20 rzeczy od razu bo źle nauczy a przy okazji zniechęci. Inna sprawa, że smarty to kobyła której wole nie tykać. Bardzo przyjemny jest blade stosowany w laravelu, ale SYSTEMY TEMPLATEK NIE SĄ DLA OSÓB KTÓRE DOPIERO CO ZACZYNAJĄ PRZYGODE Z PHP.

Rozumiem, w takim razie bardzo prosiłbym o odpowiedz na pytanie :

W jaki sposób najlepiej stworzyć frontend z backendem w PHP do mojej prostej aplikacji ?
Aby rzeczywiście się nie zniechęcić :)

0

Ja to bym radził na początek trochę poczytać dokumentacji i poznać podstaw programowania, a później bawić się we frameworki :P
Bo jeżeli nie wiesz jak wyciągać informacje z bazy danych w JS(froncie) to imo trochę podszkol podstawy bo (sugerujesz tym, że nawet nie słyszałeś o AJAXie), a później baw się w uproszczenia i skróty jakie dają frameworki bo wszystko Ci się w końcu pokręci jak zaczniesz od tej strony.

Odpowiadając na Twoje ostatnie pytanie to do nauki programowania i prostej aplikacji najlepiej użyć czystego JS, PHP, HTMLa i CSS.

Zresztą jak napiszesz już pierwszą nieco większą aplikację to zobaczysz jak łatwo można się zacząć gubić w kodzie kiedy chcesz coś dopisać czy poprawić i świadomie docenisz plusy płynące z frameworków. Sam kiedyś usiadłem do smarty'ego chwile po rozpoczęciu przygody z PHP więc nie polecam jeżeli jesteś dopiero na początku przygody. Wiele rzeczy nie rozumiałem dlaczego tak, a nie inaczej jest napisanych i po co to wszystko w ogóle dzielić na controllery, widoki i modele skoro mogę to samo zrobić w jednym pliku PHP i też będzie działało. Wróciłem wtedy do czystego PHP i zacząłem sobie tam coraz głębiej kopać. To była bardzo dobra decyzja bo ostatnio jak usiadłęm do nauki Laravela to tydzień od dokumentacji i poradników się oderwać nie mogłem bo tak się zajarałem jak wiele mi to daje :)

Podobnie na pewno jest przy innych frameworkach, ale żeby docenić i świadomie używać imo trzeba trochę powalczyć z czystymi językami i nabrać doświadczenia.

1 użytkowników online, w tym zalogowanych: 0, gości: 1