Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 6.01.2009 Ostrzeżenie: (0%)
|
Witam,
Costam sobie dlubie od niedawna przy OOP i natknalem sie na taki problem: Otóż mam klase App w ktorej robie wszystkie potrzebne akcje - tj laduje obiekt bazy, template itp. Wszystkie metody mam poprawnie zahermetyzowane, wiec public mam tylko:
Jest to klasa glowna, z ktorej chce czesto,gesto dziedziczyc. Mam powiedzmy klase Posty
Zastanawiam sie (od dluzszego juz czasu) jak zrobic zeby metody Posty byly dostepne tylko po wczesniejszym zalogowaniu - oczywiscie radze sobie z wyswietleniem formularza z logowaniem itd - to nie jest problem, problem jest taki ze chce zrobic API w oparciu o ta aplikacje i akcja typu:
.. powinna byc niemozliwa do wykonania bez istniejacej poprawnej sesji. Da sie to zrobic bez sprawdzania stanu zalogowania w kazdej metodzie, tj: public function usunPost($id) { if ($this->status) {... (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) Ten post edytował spike20rz 6.01.2009, 20:59:28 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 535 Pomógł: 27 Dołączył: 3.05.2005 Ostrzeżenie: (20%)
|
Cytat
Funkcja nie może zwrócić dwa razy danych. Wrzuć jakąś funkcję auth w konstruktor klasy i wyłącz dostęp do całego modelu/kontrolera. Ewentualnie wrzucaj ten auth do poszczególnych funkcji w klasie. |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 6.01.2009 Ostrzeżenie: (0%)
|
Cytat(wlamywacz) Funkcja nie może zwrócić dwa razy danych. Wrzuć jakąś funkcję auth w konstruktor klasy i wyłącz dostęp do całego modelu/kontrolera. Ewentualnie wrzucaj ten auth do poszczególnych funkcji w klasie. Nie zwraca dwa razy danych - pierwszy return jest po if - drugi jest jezeli ten if sie nie wykona, wiec po else, ktorego dla skrotow niepisalem. Ale najwazniejsze - bo chyba o to od poczatku mi chodzi - jak wylaczyc wlasnie dostep do calego modulu, poki co po sprawdzeniu autoryzacji umiem co najwyzec dac die() gdy jej brak. Cytat(mike) Nie. To jest ostatnia rzecz jakie można pisać w OOP. Funkcja usunPost ma usunąć post. Zawsze. To czy tą funkcje wykonać masz sprawdzić zanim ją wykonasz. To byl tylko przyklad, ale dziekuje - cenie Twoja wiedze i wypowiedzi na forum. |
|
|
|
Post
#4
|
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%)
|
Nie zwraca dwa razy danych - pierwszy return jest po if - drugi jest jezeli ten if sie nie wykona, wiec po else, ktorego dla skrotow niepisalem. Mały tip: standardy kodowania wymagają używania nawiasów klamrowych do objęcia bloków kodu. Powinny być nawet jeśli można je w danej sytuacji pominąć.
|
|
|
|
spike20rz Zabezpieczenie dostępu do metod 6.01.2009, 20:55:58
pinochet Cytat(spike20rz @ 6.01.2009, 20:55:58... 6.01.2009, 21:35:08 
spike20rz Cytat(pinochet @ 6.01.2009, 21:35:08 ... 6.01.2009, 21:55:00
mike Zacznijmy od tego, że musisz sobie uświadomić, że ... 6.01.2009, 22:03:00
pinochet Cytat(spike20rz @ 6.01.2009, 21:55:00... 6.01.2009, 22:12:33
spike20rz CytatZacznijmy od tego, że musisz sobie u... 6.01.2009, 22:20:09 
mike Cytat(spike20rz @ 6.01.2009, 22:20:09... 6.01.2009, 22:34:16
wlamywacz No to zamiast die przekieruj do np. funkcji widoku... 6.01.2009, 22:49:45 
spike20rz Cytat(wlamywacz @ 6.01.2009, 22:49:45... 6.01.2009, 23:02:50 
mike Cytat(spike20rz @ 6.01.2009, 23:02:50... 6.01.2009, 23:08:02
wlamywacz A poza tym zwiększa to czytelność kodu, AMEN 6.01.2009, 22:51:13
spike20rz No i o to chodzilo thx mike 6.01.2009, 23:10:06
pinochet Cytat(spike20rz @ 6.01.2009, 22:20:09... 6.01.2009, 23:24:51 ![]() ![]() |
|
Aktualny czas: 26.12.2025 - 23:29 |