Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: OOP - kilka pytań.
Forum PHP.pl > Forum > PHP
arrtxp
Od kilku dni staram się ogarnąć OOP i mam kilka pytań:

1. Czy jest możliwość include'owania funkcji do klasy, np załadowanie pliku z funkcjami uprawa.php do klasy ziemniak.php: ?

  1. plik ziemniak.php
  2. class ziemniak
  3. {
  4. // tutaj jakieś metody
  5. }
  6.  
  7. plik uprawa.php
  8. function uprawa() {
  9. // jakiś kod
  10. }


2. Pytanie, jak jest z tym kodem html w klasie, dawać go czy nie ?

// Na razie tyle, jak coś mi do głowy przyjdzie to napisze =)



Spawnm
Nie inludujesz funkcji. Możesz użyć dziedziczenia lub traitsów.
Html w klasach dajesz jeśli implementujesz dekorator który jest odpowiedzialny za ubiór danych w html, generator html itd. Ale nawet tutaj możesz próbować wydzielić html do zewnętrznych szablonów na których klasa będzie operować.
Ważne abyś nie dawał echo oraz exit w klasach.
Sephirus
Proponuję po prostu znaleźć jakiś kurs OP dobrze się z nim zapoznać, poznać wzorce projektowe i wtedy przejść do OOP bo widać, że nieco za dużo Ci brakuje z samej obiektówki wink.gif

ad 1.

Z tego co napisałeś rozumiem, że chodzi Ci o to by załadować do klasy w jednym pliku nową metodę, która nie była w niej od razu?

Ogólnie się tak nie robi - klasa powinna być utworzona od początku taka jaka jest potrzebna. Efekt taki możesz uzyskać poprzez:

a. dziedziczenie - poczytaj o tym
b. traits - od PHP 5.4 bodajże - podobne do dziedziczenia

ad 2.

Kod HTML to warstwa widoku (ponownie polecam poczytać o wzorcach - np MVC) warstwa ta powinna być obsługiwana przez obiekty/klasy lecz powinny one ładować odpowiednie "skrypty widoków", które są niczym innym niż plikami HTML naszpikowanymi kodem PHP służącym jedynie do prezentacji danych (wyświetlanie, wyświetlanie czegoś w pętlach, bez ingerencji w dane i ich przetwarzania chyba że dotyczy to samej prezentacji czyli np zmiana wielkości liter itp.).

Reasumując - nie dawać. Robić skrypt widoku w nim zawierać HTML i wyświetlać dane z PHP i ładować taki plik za pomocą klasy "Widoku" (View).

Czytaj czytaj czytaj wink.gif
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.