Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Serwis z obrazkami a'la kwejk
Forum PHP.pl > Inne > Oceny
Turson
Właśnie ukończyłem pierwszy w pełni swój projekt w Yii.
Serwis nie jest niczym nowym, to kopia stron typu kwejk.pl. Jednakże to nie ma być serwis komercyjny, a dla treningu i może do portfolio (?).
Grafiki raczej nie ma co oceniać, bo całość oparłem na Yiistrapie, gdyż moim celem było tylko Yii.

Z funkcjonalności:
- rejestracja (+ aktywacja konta - kod przychodzi na e-mail), logowanie
- dodawanie, usuwanie(własnych), ocenianie, obrazków
- system komentarzy, odpowiedzi na komentarze, ocenianie ich
- system ulubionych obrazków
- obrazki: najlepsze, losuj itd.
- stronicowanie
- panel administratora
- admin/moderator może przenosić obrazki na stronę główną, do poczekalni albo usuwać (ajax)
- i pewnie o czymś zapomniałem

http://vip1.bdl.pl/turson/obrazki/index.php

Konto admina: admin/admin
Celowo zablokowałem możliwość zmiany hasła, usuwanie konta, edycja usera (panel admina), żeby ktoś mądry zaraz się zbytnio nie zabawił... smile.gif

Czekam na odpowiedzi!
phpion
http://vip1.bdl.pl/turson/obrazki/index.php?r[]=site/poczekalnia - ale to wina Yii
http://vip1.bdl.pl/turson/obrazki/index.ph...ite/view&id[]=62&title=ccccc - ale to już Twoja wina

No i zabezpiecz głosowanie bo można tam cuda wyprawiać (Firebugiem):
Kod
PHP Error [2]

Creating default object from empty value (/home/vip1/domains/vip1.bdl.pl/public_html/turson/obrazki/protected/views/site/rate_image.php:13)

#0 /home/vip1/domains/vip1.bdl.pl/public_html/turson/obrazki/protected/views/site/rate_image.php(13): CWebApplication->handleError()
#1 /home/vip1/domains/vip1.bdl.pl/public_html/turson/yii/framework/web/CBaseController.php(126): require()
#2 /home/vip1/domains/vip1.bdl.pl/public_html/turson/yii/framework/web/CBaseController.php(95): SiteController->renderInternal()
#3 /home/vip1/domains/vip1.bdl.pl/public_html/turson/yii/framework/web/CController.php(869): SiteController->renderFile()
#4 /home/vip1/domains/vip1.bdl.pl/public_html/turson/yii/framework/web/CController.php(782): SiteController->renderPartial()
#5 /home/vip1/domains/vip1.bdl.pl/public_html/turson/obrazki/protected/controllers/SiteController.php(119): SiteController->render()
#6 /home/vip1/domains/vip1.bdl.pl/public_html/turson/yii/framework/web/actions/CInlineAction.php(49): SiteController->actionRate_image()
#7 /home/vip1/domains/vip1.bdl.pl/public_html/turson/yii/framework/web/CController.php(308): CInlineAction->runWithParams()
#8 /home/vip1/domains/vip1.bdl.pl/public_html/turson/yii/framework/web/CController.php(286): SiteController->runAction()
#9 /home/vip1/domains/vip1.bdl.pl/public_html/turson/yii/framework/web/CController.php(265): SiteController->runActionWithFilters()
#10 /home/vip1/domains/vip1.bdl.pl/public_html/turson/yii/framework/web/CWebApplication.php(282): SiteController->run()
#11 /home/vip1/domains/vip1.bdl.pl/public_html/turson/yii/framework/web/CWebApplication.php(141): CWebApplication->runController()
#12 /home/vip1/domains/vip1.bdl.pl/public_html/turson/yii/framework/base/CApplication.php(180): CWebApplication->processRequest()
#13 /home/vip1/domains/vip1.bdl.pl/public_html/turson/obrazki/index.php(15): CWebApplication->run()
Turson
Pierwszy link - skoro Yii, to chyba nic nie poradzę
Drugi link - co jest źle? To, że wywali error 400 to wydaje mi się prawidłowe (zamiast wykrzaczenia jak link 1.)
Ajax - chyba poprawiłem.
phpion
2. Kod 400 chyba nie jest prawidłowym rozwiązaniem, lepszy byłby chociażby 404.
3. Generalnie tak. Zastanowiłym się jednak nad sensem pola "kto". Można tam wpisać dowolną liczbę i nabijać głosy. Nie możesz tego pobierać z sesji? Przy okazji widać, że nie masz więzów integralności (kluczy obcych) skoro zapisuje głosy użytkowników, którzy nie istnieją.
nospor
Czemu moge oceniac obrazek do bólu?
Turson
Cytat(phpion @ 6.02.2014, 13:06:45 ) *
2. Kod 400 chyba nie jest prawidłowym rozwiązaniem, lepszy byłby chociażby 404.
3. Generalnie tak. Zastanowiłym się jednak nad sensem pola "kto". Można tam wpisać dowolną liczbę i nabijać głosy. Nie możesz tego pobierać z sesji? Przy okazji widać, że nie masz więzów integralności (kluczy obcych) skoro zapisuje głosy użytkowników, którzy nie istnieją.

2. Popracuję nad tym, ale to Yii sam generuje ten błąd jeżeli w metodzie podam parametr $id.
3. Pola "kto" już nie ma, bo to rzeczywiście bezsens i zastąpiłem po prostu pobraniem id zalogowanego usera Yii::app()->user->id

Cytat(nospor @ 6.02.2014, 13:08:47 ) *
Czemu moge oceniac obrazek do bólu?

Zakomentowałem wcześniej ten warunek. Poprawione.
phpion
2. Wystarczy zrzutować parametr id na inta. Jeśli ktoś przekaże id[]=123 (czyli tablicę) to dostaniesz 0. Obrazek o podanym id nie istnieje więc możesz wywalić 404.
Turson
mam metodę
  1. public function actionView($id){
  2. ...
  3. }

Nie mogę zrzutować, bo Yii samo wywala błąd, jeżeli parametr nie istnieje i wtedy cała metoda się nie wykonuje.
usb2.0
no dobra dobra, gdzie sa obrazki?
Turson
W poczekalni. Było więcej, ale ktoś usuwa ciągle.
nospor
Klikajac LOSUJ, pojawia sie w pasku url z TITLE, ktore ma sie nijak do aktualnego zdjecia. Zazwyczaj jest to zdjecie ktore bylo poprzednio

ps: po co w ogole dodajesz ten title, skoro mozna tam wpisac doslownie wszystko, a co za tym idzie pozycjonowac dany url pod rozne ciekawe slowa wink.gif
Turson
Losowanie poprawiłem.
Title jest tylko w celach estetycznych, bo id jest jedynym kryterium.
nospor
Jak chcesz miec estetyke to popraw to wszystko na ladne urle.
I jesli juz podajesz title, to sprawdzaj czy ktos nie wpisal tam czegos innego i jak tak to przekieruj na poprawny adres. Ktos moze sobie kawaly robic.
lukasz1985
Można wiedzieć jak długo to robiłeś ( w godzinach efektywnej pracy) i jak dobrze znasz ten framework ?
Turson
Zajęło mi to 5 dni. Ile godzin dziennie nie potrafię powiedzieć, bo to nie praca, gdzie ma się jakiś etat smile.gif Znam Yii na tyle co widać po stronie.
lukasz1985
A pracowałeś ciągle? W sensie ile godzin dziennie spędzałeś nad tym projektem? Pytam bo rozważam naukę tego frameworka, natomiast sam klepałem CMSa + frontend w CodeIgniterze przez 4 dni (ok 10 h/d), z tym, że CI znam dobrze.
Wiem że pytanie jest tendencyjne bo i tak trzeba będzie zajrzeć w API ale takie informacje są pewną wskazówką.

Natomiast strona wygląda konkretnie od strony funkcjonalnej, a rozumiem, że nie zawdzięczasz tego całkiem sam sobie tylko też temu co ma do zaoferowania framework i stąd też moje zainteresowanie.

Trochę off-topic z mojej strony ale myślę, że nic strasznego smile.gif
Turson
Nie pisałem ciągle. Jakieś 5-8h dziennie. Różnie.

Cytat
Natomiast strona wygląda konkretnie od strony funkcjonalnej, a rozumiem, że nie zawdzięczasz tego całkiem sam sobie tylko też temu co ma do zaoferowania framework

I to jest właśnie największy plus frameworków. Nie musisz pisać wszystkiego, o zabezpieczenia nie musisz się martwić, dlatego jest szybciej.
Weźmy na przykład taki panel admina, który jest w tym serwisie. Yii udostępnia Gii, czyli taki swój moduł do generowania kontrolerów, modelów, modułów itd. Poza tym można wygenerować gotowego CRUDa. Wystarczy, że wskażesz model, dla którego ma być. Do tego weźmy np. taką stronę główną, która wyświetla obrazki (gdzie strona=główna). Masz to tego widget, podajesz metodę modelu, która pobiera dane, stylujesz każdy box obrazka i gotowe. Paginacja dodaje się sama. Ileż mniej roboty... smile.gif Potem taka poczekalnia działa tak samo, tylko że podajesz inny warunek (gdzie strona=poczekalnia). "Najlepsze" też tak samo, tylko znowu inny warunek.
Dla porównania mój poprzedni projekt Autorski System Bloga, jaki dawałem tu do oceny pisałem prawie miesiąc. Czemu? 100% strukturalnie
lukasz1985
Czyli ten Yii to bardziej pod Symfony podchodzi, ciekawe czy też jest taki toporny jak SF. Dzięki za informacje. Sam bliżej zapoznam się z tym frameworkiem smile.gif
Turson
Cytat(nospor @ 6.02.2014, 15:27:11 ) *
Jak chcesz miec estetyke to popraw to wszystko na ladne urle.
I jesli juz podajesz title, to sprawdzaj czy ktos nie wpisal tam czegos innego i jak tak to przekieruj na poprawny adres. Ktos moze sobie kawaly robic.

Update. Title wymagane + ładne urle
nospor
http://vip1.bdl.pl/turson/obrazki/obrazek/...ryzantema2.html

Mowiac "przeniesc" mialem na mysli by przenioslo na prawidlowy adres z poprawnym tytulem, a nie na strone glowną smile.gif
Turson
Poprawione
Posio
Jako admin zbanowałem sam siebie sad.gif i nie mogę dodać obrazka sad.gif sad.gif ....
Turson
No to masz nauczkę smile.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.