Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Symfony][Symfony2] kilka podstawowych pytań
pegaz1988
post 11.01.2015, 20:29:25
Post #1





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 24.07.2014

Ostrzeżenie: (0%)
-----


Jestem w trakcie czytania poradnika dot. Symfony: http://symfony-docs.pl/
Sporo rzeczy zrozumiałem, jednak im dalej brnę w naukę tego FW, rodzi się więcej pytań.

Oto one:
1. W którym katalogu mam trzymać obrazki? Dla mnie obrazki dzielą się na dwie kategorie:
a) związane z głównym designem, np. ikonka drukarki, która może być wykorzystywana dla kilku bundli, logo albo ikonka Facebooka
cool.gif wgrywane do materiałów, np. fotki do newsów

Myślę, że obrazki związane z punktem a) powinny znaleźć się w katalogu web/images/, natomiast te związane z punktem cool.gif powinny znaleźć się w web/images[bundle]
Generalnie FW to nie interesuje, ale chcę na samym początku przyjąć dobre praktyki.

2. Jak informujecie FW o trasowaniu? Dajecie wszystkie informacje w pliku .yml, czy raczej używacie adnotacji, idąc na łatwiznę (bo chyba łatwiej wszystko utrzymać w kontrolerze)

3. Gdzie trzymacie kod HTML designu? Czyli ten kod, który odpowiada za pokazanie logo, stopki, bocznych menu - zakładając, że każdy bundle będzie wyświetlał tylko content. Myślę, że najlepiej stworzyć bundle o nazwie View - dobry pomysł? a może lepiej wgrać to do tego katalogu: app/Resources/views? Ale znowu słyszałem, że lepiej katalog app/ zostawić w spokoju

4. Jak wyłączyć logi? Wg mnie to obciąża FW
Go to the top of the page
+Quote Post
skowron-line
post 11.01.2015, 21:09:49
Post #2





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

Ostrzeżenie: (0%)
-----


1) dobrze rozumujesz /web jest miejscem na takie rzeczy
2) ja stosuje xmle dla routingu i services, reszta yml (dobre praktyki mówią by routing opisywać za pomocą annotacji)
3) kod designu czyli glowny layout w app/Resources/view (w dobrych praktykach piszą aby wszystkie szablony i templaty tam trzymac i nie rozbijać tego po bundlach)
4) wydaje Ci się


--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
Go to the top of the page
+Quote Post
pegaz1988
post 12.01.2015, 08:06:08
Post #3





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 24.07.2014

Ostrzeżenie: (0%)
-----


1. Czy moja propozycja, aby obrazki związane z szablonem ładować do katalogu web/images, a te z konkretnego bundle do web/images/[bundle] jest akceptowalna i preferowana? Do czego w takim razie są katalogi typu src/Acme/DemoBundle/Resources/public/images?
2. czyli najlepiej, jakbym w routing.yml zostawił taki zapis:
_app:
resource: "@AppBundle/Controller/"
type: annotation

Skoro ta metoda jest preferowana, dlaczego robisz inaczej? Pytam z czystej ciekawości smile.gif
3. Świetnie, rozumiem.
4. A jak po pewnym czasie te pliki będą ważyły po kilka MB, to naprawdę nie wpłynie to negatywnie na szybkość ładowania strony albo nie będzie bardziej obciążać serwera?
5. Czy w Symfony jest mechanizm samotworzenia się katalogów? Już wyjaśniam, o co mi chodzi. Napiszę bundle do newsów. Każdy news będzie mieć kilka fotografii, przez co po kilku miesiącach w jednym katalogu może być 10 000 plików. Dotychczas w swoich systemach robiłem tak, że po numerze ID newsa były tworzone kolejne katalogi, np.
images/news/1 -> ID <= 500
images/news/2 -> ID > 500 && ID <= 1000
itd.
Go to the top of the page
+Quote Post
skowron-line
post 12.01.2015, 13:26:50
Post #4





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

Ostrzeżenie: (0%)
-----


1) przyjmuje się że katalog /web jest tym katalogiem do ktorego jest dostęp przez przeglądarke (czyli leżą tam pliki które można podejrzeć css,js,ico,img,pdf,xml,xls itd).
Tu należy rozgraniczyć 2 scieżki

1. Twoja aplikacja czyli to co ty piszesz i jest twoim tworem i to wszystko możesz wrzucać do /web a cały layout i/lub pliki ktore ladujesz przy okazlji jakiejś akcji możesz wrzucać do katalogu app/Resources/view/(bundle).
Nie jest powiedziane że nie można ich trzymać w bundlach glownie rozchodzi się o czas ładowania zgodnie z tym co pisze SF w dokumentacji w 1 kolejnosci pliki sa szukane w app/Resources a w nastepnej kolejności w katalogach z Bundlami

2. Zewnetrzny bundle pobierany przez composer.json. Jeżeli udostepniasz taki bundel to musisz te pliki gdzieś trzymać, tak by wszystko co związane z bundlem bylo blisko bundla (jezeli mozna to tak okreslic)

2) jezeli chesz korzystać z annotacji to mozesz zostawić type:annotation, jeżeli nie to itak wpis
ABC:
resource: "@ABCBundle/Resources/config/routing.xml"
musi zostać żeby SF wiedziało jaki plik z routingiem ma sobie pobrać i skąd.

Dlaczego robie inaczej a no dlatego że jak jeszcze nie korzystalem z PHPStorma to xml ma pliki xsd ktore podpowiadaja skladnie i jak czegos nie wiedzialem to IDE mi podpowiadalo, albo zagladalem zeby zobaczyć co i jak wyglada (+ nie jestem zwolennikiem yml, jakos mi nie pasuje)

4) w srodowisku produkcyjnym nie wszystko jest logowane, ale z doswiadczenia wiem że im wiecej logowo tym lepiej, mozesz sobie tak ustawić loggera zeby codziennie do innego pliku sobie zapisywal, albo ustaw crona ktory raz na dobe usunie plik logow, ale pamietaj im wiecej logow masz tym wiecej wiesz i tym prosciej jest znaleźć ewentualne problemy w dzialaniu aplikacji (+ testy)

5) nie niema musisz sam sobie cos takiego napisać.

PS http://symfony-docs.pl/ ostatniego commita ma z przed 5 miesiecy od tamtej pory duzo sie zmenilo polecam
http://symfony.com/blog/ i cykl a week of symfony duuuuużo przydatnej wiedzy.


--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
Go to the top of the page
+Quote Post
pegaz1988
post 18.01.2015, 17:01:31
Post #5





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 24.07.2014

Ostrzeżenie: (0%)
-----


Wiele wyjaśniły mi Twoje odpowiedzi.

Czy możesz polecić mi gotowy bundle panelu admonistracyjnego i najprostszego bundle do zarządzania podstronami?
Go to the top of the page
+Quote Post
skowron-line
post 18.01.2015, 19:21:50
Post #6





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

Ostrzeżenie: (0%)
-----


To co jest proste dla mnie nie koniecznie może być proste dla Ciebie
https://github.com/sonata-project/SonataAdminBundle ludzie mowia ze jest dość trudny, wynika to z tego że to jedno narzędzie ma pasować do wielu rozwiązań a co za tym idzie jest dość rozbudowane ze złożoną konfiguracją, osobiście nie używałem.
http://cmf.symfony.com/ i tu w sekcji bundle masz coś takiego jak SimpleCmsBundle

warto zobaczyć sobie coś
https://github.com/orocrm
https://github.com/sylius


--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
Go to the top of the page
+Quote Post
pegaz1988
post 18.01.2015, 21:33:37
Post #7





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 24.07.2014

Ostrzeżenie: (0%)
-----


Nigdy nie instalowałem zewnętrznego bundle. Czy dobrze rozumiem, że wystarczy to:
https://github.com/symfony-cmf/SimpleCmsBundle

wgrać do katalogu src/SimpleCmsBundle
a następnie dodać go do app/AppKernel.php oraz doczepić jego routing do głównego routera?
Go to the top of the page
+Quote Post
skowron-line
post 19.01.2015, 23:48:23
Post #8





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

Ostrzeżenie: (0%)
-----


Cytat
composer.phar show symfony-cmf/simple-cms-bundle

- to ci pokaze info o tym co to za paczka
- zobaczysz jaka jest tam wersja najlepsza dla ciebie
Cytat
composer.phar require symfony-cmf/simple-cms-bundle:1.2

- podasz nazwe bundla i nazwe wersji jaka chcesz pobrac do swojego projektu

composer sam pobierze bundel i zaleznosci ktorych wymaga do prawidlowej pracy, nastepnie pobierze i umiesci go w katalogu Vendor, i przeladuje pliki autoloadera,
a ty tylko w AppKernel zarejestrujesz tego bundla.


i tak z kazdym bundlem ktory bedziesz chcial pobrac do swojego projektu
przydatna komenda do composera jest jeszcze
composer.phar search <nazwa>
composer.phar show --installed ktora pokaze jakie paczki i w jakich wersjach masz pobrane do projektu

a jak cos z palca bedzisz wpisywal do pliku composer.json to jest tez komenda
composer.phar validate ktora sprawdzi czy plik nie zawiera bledow


cała liste komend jakimi dysponuje composer znajdziesz na necie.


--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
Go to the top of the page
+Quote Post
pegaz1988
post 22.01.2015, 18:46:39
Post #9





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 24.07.2014

Ostrzeżenie: (0%)
-----


Odpalam cmd, wybieram ścieżkę, w której jest symfony, wpisuję komendę:
composer.phar show symfony-cmf/simple-cms-bundle

Wtedy wyskakuje mi do pobrania plik composer.phar, w którym jest masa niezrozumiałych rzeczy - czy to miałem zrobić?
Go to the top of the page
+Quote Post
pitu
post 22.01.2015, 19:07:58
Post #10





Grupa: Zarejestrowani
Postów: 476
Pomógł: 96
Dołączył: 10.04.2008
Skąd: Koszalin

Ostrzeżenie: (0%)
-----


Wpisz z php:
php composer.phar show symfony-cmf/simple-cms-bundle


--------------------
HTML/CSS/JS: jsfiddle
SQL: sqlfiddle
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 26.04.2024 - 03:35