Witam
Zabieram się za stworzenie aplikacji zgodnie ze standardem MVC i przyznam, że idzie mi dość topornie bo nie ma za wiele materiału w tej dziedzinie szczególnie dla raczkujących.
Ale jakbyście mogli przy podanym kodzie określić jakie elementy powinien mieć każdy z komponentów tzn widok kontroler oraz model.
Proszę bardzo ogólnikowo... tzn czy na przykład funkcja _set powinna być w widoku czy w kontrolerze
albo czy zmienna tablicowa $przyciski powinna być w widoku czy może w module?
Z góry dzięki za każda pomoc.
<?php
class Widok
{
// atrybuty klasy Strona
public $zawartosc;
public $tytul = 'TLA CONSULTING';
public $slowa_kluczowe = 'TLA Consulting, Tutaj Atrybuty,
niektore z moich najlepszych przyjaciolek to wyszukiwarki';
public $przyciski = array('Strona glowna' => 'glowna.php', 'Kontakt' => 'kontakt.php',
'Usługi' => 'uslugi.php',
'Mapa strony' => 'mapa.php'
);
// operacje klasy Strona
public function __set($nazwa, $wartosc)
{
$this->$nazwa = $wartosc;
}
public function Wyswietl()
{
$this->WyswietlTytul();
$this->WyswietlSlowaKluczowe();
$this->WyswietlStyle();
echo "</head>\n<body>\n"; $this->WyswietlNaglowek();
$this->WyswietlMenu($this->przyciski);
$this->WyswietlStopke();
echo "</body>\n</html>\n"; }
public function WyswietlTytul()
{
echo "<title> $this->tytul </title>"; }
public function WyswietlSlowaKluczowe()
{
echo "<meta name=\"keywords\" content=\"".htmlentities($this->slowa_kluczowe)."\" />"; }
public function WyswietlStyle()
{
?>
<style>
<!--
body {background-color: white}
h1 {color:white; font-size:24pt; text-align:center;
font-family:arial,sans-serif}
.menu {color:white; font-size:12pt; text-align:center;
font-family:arial,sans-serif; font-weight:bold}
td {background:black}
p {color:black; font-size:12pt; text-align:justify;
font-family:arial,sans-serif}
p.foot { color:white; font-size:9pt; text-align:center;
font-family:arial,sans-serif; font-weight:bold}
a:link,a:visited,a:active {color:white}
-->
</style>
<?php
}
public function WyswietlNaglowek()
{
?>
<table width="100%" cellpading="12" cellspacing="0" border="0">
<tr bgcolor="black">
<td>
<h1>TLA Consulting</h1>
</td>
</tr>
</table>
<?php
}
public function WyswietlMenu($przyciski)
{
echo "<table width = '100%' bgcolor = 'white' cellpadding = '4' cellspacing = '4'\n";
//obliczenie wielkosci przycisku
$szerokosc = 100
/count($przyciski);
foreach ($przyciski as $nazwa=>$url)
{
$this->WyswietlPrzycisk($szerokosc, $nazwa, $url,
!$this->CzyToAktualnyURL($url));
}
}
public function CzyToAktualnyURL($url)
{
if(strpos($_SERVER['PHP_SELF'], $url)==false) {
return false;
}
else
{
return true;
}
}
public function WyswietlPrzycisk($szerokosc, $nazwa, $url, $active = true)
{
if($active)
{
<img src = 'm-logo.gif' alt = '".htmlentities($nazwa)."' border = '0'></a> <a href = '".htmlentities($url)."'><span class='menu'>$nazwa</span></a></td>"; }
else
{
<img src = 'boczne-logo.gif'>
<span class='menu'>$nazwa</span></td>";
}
}
public function WyswietlStopke()
{
?>
<table width="100%" bgcolor="black" cellpading="12" border="0">
<tr>
<td>
<p class="foot">© TLA Consulting</p>
<p class="foot">Prosimy odwiedzic
<a href ="prawne.php">strone informacji prawnych</a></p>
</td>
</tr>
</table>
<?php
}
}
?>