Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Kilka pytań odnośnie OOP w PHP
Forum PHP.pl > Forum > Przedszkole
uki8877
Witam

Chciałbym się dowiedzieć kilku rzeczy nt programowanie obiektowego w PHP

Mianowicie ,załóżmy iż mamy jakąś stronę www z np 5 podstronami.

Nie będziemy na każdej od podstaw pisać nagłówka, stopki itd.

W przypadku strukturalnego programowania można by stworzyć sobie plik functions.php i w nim przechowywać np stopke, a potem na kazdej z tych stron użyć require() i wywołać funkcję ,która ta stopke przechowuje .

A jak sprawa się ma w przypadku programowania obiektowego ?

Dobrym rozwiązaniem jest stworzenie klasy, która bedzie przechowywała ta stopke i nagłówek oraz inne elementy html które będziemy często wywowywać i potem po prostu odwoływać się do tych elementów ?

czyli cos w stylu :

  1. public functions stopka() {
  2. $this->stopka = '
  3. <p>To jest stopka</p>
  4. </body>
  5. </html>';
  6.  
  7. return $this->stopka;
  8. }


cos takiego jest ok ? czy może lepiej ustawić aby stopka była statyczna i odwoywac sie " NazwaKlasy::stopka() " ? To chyba tez dobre rozwiazanie ?

No a moze wy znacie lepsze metody ,jesli tak to proszę o wytłumaczenie :-)

Pozdrawiam
viking
Nie ma najmniejszego sensu tworzyć metody która zawiera tylko HTML. Od tego wystarczy zwykłe include. Zastosuj jakiś system szablonów - a wszystkie mają osadzanie bloków kodu.
Spawnm
Najczęściej rozwiązuje się to tworząc osobny plik layout.phtml zawierający kod w stypu:
  1. <html><body>
  2. <h1>Moja strona</h1>
  3. <div id='foo'>
  4. <?php
  5. echo $content;
  6. ?>
  7. </div>
  8. <footer>kopyrajt (C) dfhfdh 2016</footer>


avalanche
@up:
można i tak, ale można też dołączać ten "layout.phtml" w klasie obsługującej widok - wtedy ma się dostęp w tym miejscu do metod obiektu widoku smile.gif
Rysh
Poczytaj o MVC.
JoShiMa
Proponuję wybrac jakiś prosty framework PHP, ot choćby Yii albo inny, który jest dość sztywny jeśli chodzi o strukturę i się pouczyć jak to się robi profesjonalnie. A potem zacząć pisać aplikacje w oparciu o ten framework i nie wyważać otwartych drzwi. Oczywiście można pisać aplikacje "z palca" i samemu tworzyć własne struktury, jednak ilość rzeczy o jakich trzeba pamiętać i jakie trzeba zaimplementować ręcznie (na przykład, żeby zapewnić elementarne bezpieczeństwo aplikacji) zamiast korzystać z gotowych i sprawdzonych rozwiązań jest naprawdę duża.
elmozaur
JoShiMa:dokładnie, zwłaszcza że ilość gotowych modułów jest ogromna (jak np w Zendzie). Istnieje też druga strona medalu która pokazuje jakie cyrki dzieją się przy aktualizacji takich gotowych kombajnów ;-)
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.