![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 84 Pomógł: 6 Dołączył: 26.03.2008 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Chciałbym poznać opinie i rozwiązania forumowiczów w dwóch kwestiach. Stworzyłem swojego fw, tak by z biblotek i mechanizmów mogło korzystać kilka aplikacji na raz. To znaczy... Kod /diwebFramework!/ /Applications/ /* Tutaj mam aplikacje, które oparte są o fw. */ /Library/ /Logs/ /JS Library/ /Configurations/ /Docs/ /Plugins/ Dotychczas aplikacje uruchamiałem tak...
W moim mniemaniu zapewnia to hermetyzację, szczelność i wygodę. I tak się zastanawiam, czy to jest właściwe rozwiązanie. Czy nie można tego lepiej zrobić ? A teraz druga rzecz. Jak ustalacie scieżki do konkretnych folderów framework'a jak i danego projektu. Korzystacie ze stałych, plików czy może w każdym miejscu wpisujecie 'osobno'. (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Dotychczas jade na stałych, ale ciekaw jestem jak to inaczej rozwiązać. Czy definiuje je jakiś obiekt, lub jeszcze inaczej. Pozdrawiam, i zapraszam do dyskusji. Ten post edytował Mize 7.12.2008, 15:53:36 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat A teraz druga rzecz. Jak ustalacie scieżki do konkretnych folderów framework'a jak i danego projektu. Korzystacie ze stałych, plików czy może w każdym miejscu wpisujecie 'osobno'. Dotychczas jade na stałych, ale ciekaw jestem jak to inaczej rozwiązać. Na stałych. Nie ma sensu (IMHO) tworzenia osobnych obiektów tylko dlatego, aby czytać ścieżki do paru folderów, które najczęściej nie zmieniają się od momentu instalacji aplikacji. (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Osobiście proponowałbym działanie na ścieżkach bezwzględnych. |
|
|
![]()
Post
#3
|
|
Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
Ja mam u siebie tak:
Kod /application /framework a w aplikacji dostep do stalych APPLICATION_ROOT + FRAMEWORK_ROOT, do tego __autoload() i w niewielu miejscach musze korzystac z podawania sciezek. Stale to oczywiscie dirname( __FILE__ ) == czyli sciezki bezwzgledne. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 663 Pomógł: 6 Dołączył: 3.06.2007 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Kod /public_html/ /EdcApplication/ /Frontend/ /Backend/ /EdcEngine/ /EdcMedia/ /EdcPlugins/ /EdcLanguage/ Najbardziej zaskakuje mnie w Twoim podziale /JS Library/ (no chyba ze uzywasz jakiegos frameworka do JS ale zazwyczaj jest tak ze na stronach robi się wstawki i one zawsze lecą do folderu plugins.) Configurations też chyba powinien znajdować się wewnątrz aplikacji. Po co masz folder Docs? Ten post edytował Black-Berry 7.12.2008, 18:05:50 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 84 Pomógł: 6 Dołączył: 26.03.2008 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
W /JS Library/ mam najpopularniejsze frameworki js, w tym jQuery, dla którego mam wsparcie w swoim frameworku.
Jak na razie korzystam z niego tylko ja, więc pare rzeczy jest zwyczajnie z wygody. W /Docs/, trzymam licencje, dokumentacje, projekty i diagramy. Te dwa ostatnie, jak mówiłem dla własnych potrzeb. A co do /Configurations/, to trzymam tam pliki konfiguracyjne aplikacji - czyli domyślny tryb uruchomienia, ścieżka, etc. Z takiego pliku tworze nowy projekt, lub jeśli już takowy istnieje, to ładuje domyślne parametry. Oczywiście każda aplikacja ma swój folder z konfiguracją w swoim katalogu. Jeszcze dodatkowe pytanie, ograniczacie się do dwóch stałych jak FRAMEWORK_ROOT i APPLICATION_ROOT, czy stosujecie ich więcej? Ja definiuje ścieżki dla prawie wszystkich głównych katalogów i nie wiem czy to ma sens. Pozdrawiam. Ten post edytował Mize 7.12.2008, 20:16:47 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 999 Pomógł: 30 Dołączył: 14.01.2007 Skąd: wiesz ? Ostrzeżenie: (0%) ![]() ![]() |
U mnie tak wygląda większa część pliku config.php który wczytuję w pierwszej linijce index.php ( w następnej mam dołączanie klas silnika i jego uruchomienie )
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 663 Pomógł: 6 Dołączył: 3.06.2007 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
@orglee Czy to nie jest przypadkiem sztuka dla sztuki? Nie sądzicie że najważniejsza powinna być maksymalna prostota? Czy kiedykolwiek zdażyło się żeby DS był czymś innym niż '/' albo końcówka pliku czymś innym niż .php? Poza tym jeśli decydujemy się na nazwę folderu media to nie zmieniajmy go już nigdy nie trzeba będzie wprowadzać dodatkowych definicji.
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 999 Pomógł: 30 Dołączył: 14.01.2007 Skąd: wiesz ? Ostrzeżenie: (0%) ![]() ![]() |
@Black-Berry Bardzo możliwe że niektóre stałe są zwyczajnie niepotrzebne. Moim zdaniem jest przede wszystkim kwestia przyzwyczajenia i upodobań. Jeśli idzie natomiast o DS to biorąc pod uwagę że moja maszyna produkcyjna jest na Windowsie nie jest to koniecznie chybiony pomysł mimo iż z tego co wiem funkcje PHP operujące na systemie plików tłumaczą ukośniki dla każdego systemu osobno.
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 663 Pomógł: 6 Dołączył: 3.06.2007 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
No rozumiem że "może się zdażyć" ale przez ostatnie kilkanaście mieśięcy starając się przeiwdzieć wszystko wpakowałem się w bagno po uszy. Teraz kierując się jak największa prostotą pisze mi się o wiele łatwiej no i sypiam spokojniej bo jest mniej miejsc w kodzie które mogą się zepsuć. Projekty piszę może dłużej ale poprawek jest o wiele mniej.
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 175 Pomógł: 12 Dołączył: 28.06.2007 Skąd: Bytom Ostrzeżenie: (0%) ![]() ![]() |
ja rowniez korzystam z rozwiazania, ktore podal dr_bonzo. Do tego jesli mamy virtualke lokalnie to nic sie nie powinno zepsuc podczas pakowania aplikacji na serwer (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Czasem tez mam po prostu jakas sciezke w konfigu, prostota w edycji - ale to sa pierdoły typu "errorPath".
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 999 Pomógł: 30 Dołączył: 14.01.2007 Skąd: wiesz ? Ostrzeżenie: (0%) ![]() ![]() |
Z doświadczenia - które co prawda przebogate nie jest - wiem że należy korzystać ze ścieżek bezwzględnych. Czyli zaczynających się od root'a lub od litery partycji / dysku. Co prawda problemy ze ścieżkami miałem pisząc proceduralnie i tak naprawdę rozwiązaniem ich były właśnie ścieżki bezwzględne. Teraz używam tego sposobu przez wzgląd na przyzwyczajenie. Poza tym wydaje mi się że nazwy stałych które wybrałem są w miarę intuicyjne przez co kod jest bardziej przejrzysty.
IMO. Nie trzeba się zastanawiać czy plik który wywołuję jest w tym katalogu czy jakimś podrzędnym. Chyba wam też się zdarzają takie same nazwy katalogów rozsiane po projekcie. |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 206 Pomógł: 18 Dołączył: 6.03.2006 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
DS to moim zdaniem niepotrzebne zamieszanie (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) . PHP na wszystkich platformach dopuszcza / jako separator plus pod Windowsem \, więc spokojnie można wszędzie używać /. Też kiedyś korzystałem ze stałych, ale w momencie gdy musiałem napisać aplikację korzystającą z dodatkowo plików zewnętrznego oprogramowania to potem jeszcze odpowiednie zapisywanie tej ścieżki podajej w configu... i do tego podkatalogi... i kopiowanie... nieee... odpada. A / można jak już powiedziałem bez problemów stosować wszędzie. Windows nie robi tutaj żadnej różnicy. Nie za bardzo widzę jakieś sensowne zastosowanie dla tej stałej w skryptach PHP - raczej przy generowaniu plików dla innego oprogramowania. No i odpada od razu problem, że się zapomnimy i użyjemy \ jako znaku ucieczki gdzieś (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) .
-edit- @Black-Berry: Teraz już raczej ciężko (chociaż ostatnio robiłem mailing dla jednej firmy, która nadal miała tak skonfigurowany hosting o.0), ale szczególnie w początkach PHP5 większość serwerów przed całkowitom przesiadką na PHP5 do plików .php używała PHP4, a dla PHP5 trzeba było używać .php5. Nie wspominając o oszołomach, co używają .inc (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) . Ten post edytował wrzasq 12.12.2008, 07:29:00 |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 663 Pomógł: 6 Dołączył: 3.06.2007 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Z doświadczenia - które co prawda przebogate nie jest - wiem że należy korzystać ze ścieżek bezwzględnych. Czyli zaczynających się od root'a lub od litery partycji / dysku. Jak można zatem używać ścieżek zaczynających się od root'a jeśli wykupujesz serwer z folderkiem public_html a nie wiesz jak daleko ma on do roota albo literki dysku ? @.@ |
|
|
![]()
Post
#14
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Jak można zatem używać ścieżek zaczynających się od root'a jeśli wykupujesz serwer z folderkiem public_html a nie wiesz jak daleko ma on do roota albo literki dysku ? @.@ http://pl2.php.net/manual/pl/function.realpath.php
|
|
|
![]()
Post
#15
|
|
Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
@Black-Berry: dirname( __FILE__ )
|
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 663 Pomógł: 6 Dołączył: 3.06.2007 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 999 Pomógł: 30 Dołączył: 14.01.2007 Skąd: wiesz ? Ostrzeżenie: (0%) ![]() ![]() |
No fakt. A co to daje bo jakoś zawsze używałem względnych ścieżek i jakoś śmigało? Spokojniej sypiam. (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
|
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 206 Pomógł: 18 Dołączył: 6.03.2006 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
@Black-Berry: a jak musisz na przykład uruchomić skrypt z innego katalogu, chociażby przez cron'a (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) . albo inny skrypt/program chce po prostu go wywołać będąc w swoim katalogu roboczym.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.10.2025 - 22:12 |