Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Interfejsy vs dziedziczenie
Forum PHP.pl > Forum > Przedszkole
Zielonkawy18
Witam

Otóż już mam trochę do czynienia z programowaniem obiektowym ( jak i z jednobazowym i wielobazowum ( C++ np. ) ) i mam następujące pytanie. Język PHP jest językiem zorientowanym obiektowo zatem wypadałoby w nim kodzić właśnie w taki sposób.

Widzę wiele kodów jednak napisanych strukturalnie bądź tak i tak. Sam się bawie PHP ( nie nie, nie jestem freelancerem i nie psuje wam rynku, tylko osobista zabawa ).

Chciałbym sięgnąć rady użytkowników bardziej doświadczonych. Mogę sobie zaimplementować interfejs ba, nawet kilka interfejsów, które bym podłączał do wybranych klas np. Klasa użytkownik potrzebuje metod: addUser, removeUser, authorizationUser etc.. Na tabela Warzywa chcę wykonywać ( addRecord, deleteRecord, showRecords ), a na tabeli Opisy ( addRecord, deleteRecord, showRecords ), zakładam, że mam relację 1(Warzywo) -<N(Opisy). Lepiej napisać interfejs IWarzywo oraz IOpisy i podłączać je do klasy, jakie utworze czy jakoś to rozplanować i Polimorficznie wywoływać addRecord, deleteRecord, showRecords??

Czy kiedy napiszę klasę jakąś to w funkcjach w niej zdeklarowanych mogę także normlanie używać stylów css??

Pozdrawiam
abort
Co do samej obiektówki, to nie będę pisał czegoś, co być może będzie bzdurą - to lepiej wytłumaczą inni. Ja mogę tylko zabrać głos w tym problemie, który naszkicowałeś w ostatnim zdaniu.
NIE MIESZAJ LOGIKI I LAYOUTU. To nie jest efektywne, a w dłuższej perspektywie potrafi się mścić (nieporządek w kodzie, dłuższy czas wprowadzania modyfikacji, przenoszenie się błędów z logiki do layoutu - zawodowi spece na pewno mogą wiele o tym pisać).

Warto, byś zainteresował się wzorcem projektowym MVC - tam wprowadzono fajne mechanizmy pozwalające separować logikę i wygląd. Jeśli nie chcesz rzucać się na MVC, to namiastkę możesz stworzyć np. za pomocą systemu templatek (Smarty, Twig, OPT i inne). Przy założeniu reguły, że output do przeglądarki leci w 100% z templatek, a nie z kodu - templatki pozwolą Ci na totalne odseparowanie logiki i wyglądu.

Oczywiście, dla chcącego nie ma nic trudnego - zarówno przy stosowaniu wzorca MVC, jak i systemu template'ów możesz te reguły złamać - bo jest to możliwe. Ale uwierz - z tym jest jak z kłamstwem: daleko na tym nie zajedziesz.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.