Zaloguj się, aby móc dodać artykuł

Kategorie artykułów
Logowanie


Zapamietaj mnie
Facebook
19.06
19.06.2013 22:52 Vrael
Programowanie obiektowe + szablony.
Cześć. Niedługo mam zamiar zacząć pisać miniCMS'a do własnego użytku. Chcę go napisać w całości obiektowo tylko nie specjalnie wiem jak się za to zabrać (samą teorię znam) - to jedna sprawa. Druga jest następująca, bardziej opłacalne będzie pisanie własnego systemu szablonów czy użycie jakiegoś gotowego (np. Smarty). Z góry dzięki za pomoc.
 
Komentarze
21.06.2013 15:54

karer
pytales sie jak zrobic klase zeby bezpiecznie przechowywac dane. Za pomoca "private"... Nie wiem gdzie to zapisac chcesz.
 
21.06.2013 12:49

Vrael
Ale gdzie to zapisać żebym nie musiał wykonywać ponownego zapytania.
 
21.06.2013 10:09

karer
uzyc private
 
20.06.2013 23:00

Vrael
Myślę, że uda mi się jakoś ogarnąć te wszystkie klasy etc. Nadszedł kolejny problem, a mianowicie cache. Jak zrobić klasę w której bezpiecznie będę mógł przechowywać np. ID i nick użytkownika? Z góry dzięki za pomoc. ;p
 
19.06.2013 23:43

Drikam
Obiektowe programowanie.. Sam staram się przerzucić na OOP w PHP i mam pewne trudności.. No i nie mogę mieć pewności, że moje rozwiązania są dobre.
Pewnie będziesz potrzebował obiektu user, posts, threads.. Jeżeli znasz teorię to napisz obiekty, wiesz co masz w nich trzymać.. Ilość postów, czas dodania, autor..

Warto też zapoznać się z referencjami/wskaźnikami w php, jeżeli chce się pisać obiektowo.

Żałuję, że nie mam wglądu w jakiś profesjonalny kod obiektowy w php, bo na pewno mógłbym się sporo nauczyć..
W każdym razie ja mam klasę engine, dzięki której [między innymi] sprawdzam poprawność danych i inicjuję połączenie z bazą danych.
Wygląda to mniej więcej tak:
Kod php:
$engine->validate($_POST['liczba'], 'int_unsigned');
$engine->validate($_POST['tresc'], 'string');
$engine->validate($_POST['idgracza'], 'int_unsigned');
echo 
$engine->isValid(); 
Przy czym metodę isValid wykorzystuję, żeby sprawdzić czy wprowadzone dane są poprawne. Jeżeli nie - wywalam błąd, jeżeli tak, idę dalej.
Następnie w zależności od switch($_GET['mod']) wykonuję wszystko na obiektach/klasach..
Kod php:
$user->sendMessage($_POST['idgracza'], $_POST['tresc']); 
I jeszcze kolejny, identyczny switch($_GET['mod']) odpowiedzialny za wyświetlanie kodu.
Szczerze mówiąc nie wyobrażam sobie wygodniejszego sposobu. Tylko, że to wszystko opeiram na własnym doswiadczeniu niż na jakichś kursach czy poradach innych, więc to mogą być złe nawyki. Może i przy okazji czegos się nauczę jeżeli ktoś skrytykuje ten sposób.

Własny system szablonów? Nie wiedziałbym jak się za coś takiego zabrać. Jeżeli potrzebujesz smarty, to użyj. Osobiście nie przeszkadza mi, gdy mój kod wygląda w tym stylu:
Kod php:
<div class="health">
Życie: <?php echo $character->getHealth();?>/<?php echo $character->getMaxHealth();?>
</div>
Wystarczy tylko mieć zdrowy rozsądek, żeby to przejrzyście wyglądało.