Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Budowa index.php profesjonalnie
sadistic_son
post 15.12.2022, 14:03:41
Post #1





Grupa: Zarejestrowani
Postów: 1 481
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


Cześć. Od około 2006 r. bawię się PHP amatorsko, nieobiektowo. Robiłem proste strony dla siebie czy znajomych, realizujące różne, czasem absurdalne zadania. Mniej lub bardziej przejmowałem się dobrymi praktykami a swoją wiedzę jak powinno się tworzyć stronę bazowałem na jednej właściwie książce z której w 2006 roku nauczyłem się programować w php. Nigdy nie programowałem profesjonalnie, ale teraz chcę to zmienić i szykuje się do rozmowy kwalifikacyjnej na juniora. Dostałem zadanie do zrobienia.
I teraz moje pytania do Was to właściwie jakie sa trendy, dobre praktyki w tworzeniu prostej stronki (mały sklep internetowy)? Cała logika strony ma być obiektowa.

1. Czy każda klasa powinna być w oddzielnym pliku? Gdzieś wyczytałem, że tak się robi - plik nazywa się tak jak klasę, pamiętając o wielkiej literze.
2. Jaką strukturę powinien mieć index.php i co w sobie zawierać?
a) Czy w index.php mają być jedynie odpalane jedna po drugiej metody zdefiniowane wcześniej w klasach w oddzielnych plikach?
cool.gif Czy w index.php wolno w ogóle umieszczać kod html?
3. Jak obsługuje się obecnie linki z main menu i wyświetla zawartość strony zależnie od wybranej podstrony? Dawniej zrobiłbym coś na zasadzie:
  1. switch($_GET['page']){
  2. case 'main-page':
  3. echo 'cała zawartość strony głównej';
  4. break;
  5. case 'gallery':
  6. echo 'wyświetlam galerię';
  7. break;
  8. default:
  9. echo 'landing page';
  10. }

Czy tak się robi? Zakładam, że już nie (a może nigdy tak się nie robiło, a ja robiłem to zawsze źle).


Pomóżcie - jak to powinno profesjonalnie wyglądać.
Dzięki.

Ten post edytował sadistic_son 15.12.2022, 14:05:55


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post
nospor
post 15.12.2022, 14:09:37
Post #2





Grupa: Moderatorzy
Postów: 36 457
Pomógł: 6297
Dołączył: 27.12.2004




ad1) tak. Przeczytaj generalnie PSR jesli naprawde chcesz na powaznie sie za to brac

Reszta:
Poczytaj o MVC, routerach, popatrz jak to robia np. Symfony.
INdex w projekcie Symfony wyglada tak:

  1.  
  2. use App\Kernel;
  3.  
  4. require_once dirname(__DIR__).'/vendor/autoload_runtime.php';
  5.  
  6. return function (array $context) {
  7. return new Kernel($context['APP_ENV'], (bool) $context['APP_DEBUG']);
  8. };
  9.  


I nie, index nie powinien miec kodu HTML wink.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
sadistic_son
post 15.12.2022, 15:10:43
Post #3





Grupa: Zarejestrowani
Postów: 1 481
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


Ok, czytam PSR.

Już w PSR-1 mam pierwsze niejasności.

Co oznacza ten zapis (linijka 2)?

  1. <?php
  2. namespace Vendor\Model; //co to robi?
  3.  
  4. class Foo
  5. {
  6. }


Ten post edytował sadistic_son 15.12.2022, 15:11:04


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post
nospor
post 15.12.2022, 15:16:25
Post #4





Grupa: Moderatorzy
Postów: 36 457
Pomógł: 6297
Dołączył: 27.12.2004




No to jeszcze musisz poczytac o NAMESPACE smile.gif Masz duze zaleglosci

Moze ten artykul
https://blog.wyremski.pl/przestrzenie-nazw-w-php-namespaces/
?

No i jeszcze AUTOLOAD, bo ta systematyka bardzo ulatwia wlasnie AUTOLOAD


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
gino
post 15.12.2022, 15:21:46
Post #5





Grupa: Zarejestrowani
Postów: 319
Pomógł: 52
Dołączył: 18.02.2008

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


A ja dodam , bo jak piszesz
Cytat
bawię się PHP amatorsko, nieobiektowo

że masz masę czytania i zrozumienia smile.gif
Go to the top of the page
+Quote Post
nospor
post 15.12.2022, 15:23:48
Post #6





Grupa: Moderatorzy
Postów: 36 457
Pomógł: 6297
Dołączył: 27.12.2004




Cytat(gino @ 15.12.2022, 14:21:46 ) *
A ja dodam , bo jak piszesz

że masz masę czytania i zrozumienia smile.gif

Ano. To moze faktycznie trzeba pokolei, bo jakies podstawy musza niestety byc.

Czyli:
NAMESPACE
AUTOLOADER
PSR

To tak na poczatek czy cos jeszcze koledzy?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
sadistic_son
post 15.12.2022, 16:16:10
Post #7





Grupa: Zarejestrowani
Postów: 1 481
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


Sądzicie, że czytać po kolei NAMESPACE, AUTOLOADER i PSR czy lepiej kupić jakąś książkę uczącą php obiektowo od podstaw, pominąć to co już wiem i lecieć rozdziały o OOP a potem tworzenie strony w praktyce?


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post
Tomplus
post 15.12.2022, 16:21:25
Post #8





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

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


Ja ze swojej strony, stwierdzę że warto kupić sobie aktualną książkę do PHP i przeanalizować ją, bo doświadczonym programistą PHP nic nie powie bo wiedzą co trzeba, ale dla hobbystów i uczących się powiedzą sporo jak dobrze korzystać z PHP. Szczególnie że mamy teraz PHP 8.2 które niesie wiele zmian.
Go to the top of the page
+Quote Post
Salvation
post 15.12.2022, 17:37:14
Post #9





Grupa: Zarejestrowani
Postów: 343
Pomógł: 70
Dołączył: 15.07.2014

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


Książki niestety już (albo chwilowo) nie ma w sprzedaży, ale jest e-book. Może przypadnie ci do gustu: https://helion.pl/ksiazki/php-obiekty-wzorc...b5.htm#format/e
Ja ze swojej strony - polecam bardzo.

Jak już przeczytasz powyższą, to następna jest taka: https://helion.pl/ksiazki/czysty-kod-podrec...ov.htm#format/e
Możesz też dorzucić sobie tą: https://helion.pl/ksiazki/kierunek-jakosc-j...ob.htm#format/e
A później: https://helion.pl/ksiazki/mistrz-czystego-k...vv.htm#format/e

Ten post edytował Salvation 15.12.2022, 17:39:49
Go to the top of the page
+Quote Post
Tomplus
post 15.12.2022, 20:34:51
Post #10





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

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


@Salvation
Ale obecnie z to nie tą książkę, tylko wersję z 8ką powinien okiełznać: https://helion.pl/ksiazki/php-8-i-sql-progr...ql.htm#format/d
Acz posiadam papierową ów wersję, polecam.

Polecam i potwierdzam istotność przeczytania kolejnych podanych pozycji, nawet jeżeli przykłady operowane są nie na PHP a na innych językach tj. C++ czy Java.
Go to the top of the page
+Quote Post
Salvation
post 16.12.2022, 13:32:19
Post #11





Grupa: Zarejestrowani
Postów: 343
Pomógł: 70
Dołączył: 15.07.2014

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


Różnice między 7 a 8, nie są aż takie duże, moim zdaniem. To jest do wyuczenia na projecie (nawet takim do szuflady) w miesiąc. A książka nr 1 co podlinkowałem badzo dobrze uświadamia pewne rzeczy.

A poza tym, to nigdy nie będzie aktualnej książki w temacie języka. Zawsze będzie przestarzała.
No, co innego właśnie takie (kultowe) pozycje jak Czysty Kod Martina, DDD Evansa czy Developer Hegemeny Dietricha.
Go to the top of the page
+Quote Post
Tomplus
post 16.12.2022, 14:43:23
Post #12





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

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


Zgadzam się, takie książki mogą się starzeń szybko, ale już lepiej mieć najnowsze wydanie niż starsze, szczególnie jeżeli dotyczy języka o konkretnych wersjach, bo niosą także przesłania i metody z książek innych autorów.
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 27.04.2024 - 15:17