Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Framework a adresy(linki) URL w html
Forum PHP.pl > Forum > PHP
faster
Witam!
Nie korzystam narazie z żadnego frameworka. Opracowałem sobie własny (nie nazwę tego frameworkiem ale systemem) system pisania aplikacji w php. Cały czas jednak myślę nad przeskoczeniem na coś już gotowego bądź nad zmianą podejścia mojego systemu na model MVC.

Nurtuje mnie jednak jeden problem:
Kiedy ja tworzę aplikację posługuję się w url (oraz of kors w kodzie tam gdzie muszę) nazwami plików czyli np. klient_dodaj.php itd itp. w urlu mam wtedy odwołanie np: http://localhost/projekt/klient_dodaj.php.
Natomiast z tego co zauważyłem we frameworkach do każdego "pliku" zwykle odwołuje się jednakowo poprzez tzw. kontroler przez podanie parametrów wskazujących na jakiś plik (czyli skrypt wywoływany jest rozpoznawany przez ten parametr). Trzeba to potem jakoś mapować na właściwe nazwy plików + parametry wywołania.

Proszę o info czy z waszego doświadczenia nie jest to zbyt zamotane questionmark.gif? Czy można się w tym mapowaniu zgubić questionmark.gif? Jak wy sobie z tym radzicie.
Moje pytanie choć z pozoru banalen ma ważne dla mnie podstawy bo współpracuję z klikoma deweloperami i przyjęcie pewnego rozwiązania musi za sobą nieść jakieś korzyści i być przejrzyste i łatwe w zarządzaniu.

Być może ja nie do końca rozumiem istotę rzeczy a i w tym przypadku proszę sprostowanie i 2 słowa na temat.

Pozdrawiam
Vengeance
masz nadal tak jak obecnie pliki
klient_doda.php
klient_usun.php

jednak odwolujesz sie do nich poprzez index.php?act=<tutaj cos>

a w kodzie masz np.
  1. <?php
  2. $name = basename($_GET['act']);
  3. if(@!include('katalog/'.$name.'.php'))
  4.  die('nie udalo sie');
  5. ?>


czy jakos podobnie. to jest najprostrze rozwiazanie, jedno z miliona innych.
bela
nie ma gdzie się zgubić jak masz wszystko elegancko napisane winksmiley.jpg

u mnie, kontroler parsuje plik konfiguracyjny xml, gdzie mam podane nazwy akcji, fallbacki itp, pobiera z routera nazwa akcji i wywołuje dana akcje

router nie robi nic innego, jak parsowanie zapytania, przez zmiane routera mozesz zmienic schemat linkow winksmiley.jpg
faster
Dzięki za info!

Czy używacie gotowych FW-ów czy własnych?questionmark.gif jeżeli gotowych to jakich ...

pozdrawiam
hawk
@bela_666: Otóż to! Wkurzają mnie frameworki, w których jest index.php?page=foo i koniec. Wkurzają mnie też frameworki, w których autor chce być lepszy, więc dodaje switcha... teraz może być index.php?page=foo lub index.php/foo.

A to jest właśnie świetny przykład na to, że OOP może być nie tylko bardziej eleganckie, ale też bardziej wydajne od rozwiązania strukturalnego. Wspólny interfejs i wymiana jednego obiektu na inny.

Do tego router może wykonywać translację w obie strony, i jeżeli tylko wszędzie będzie się używać czegoś w stylu $router->getUrlForAction('foo') zamiast sztywnych urli, to można sobie bez przeszkód zmieniać schemat urli w działającej aplikacji cool.gif
DeyV
A jeszcze odpowiedz na pytanie - dlaczego warto...

W przypadku bowiem podziału na osobne pliki, każdy z nich musi zawierać informacji o tym, jaki plik konfiguracyjny załadować, jaki ma być top i inne tego typu informacje - powtarzane w każdym z plików.
Wydaje się to bardzo "fajne" do momentu, gdy trzeba zmienić którąś z tych informacji we wszystkich plikach...

W nowocześniejszym rozwiazaniu masz pewność, że musisz to zmienić tylko raz.
faster
Jeszcze pytanie:

Nie wiem jak Wy tworzycie szablony HTML ale ja budujęje za pomocą FrontPage'a - co mi znacznie przyspiesza pracę. Wszystkie szablony umieszczam w podkatalogu projektu np. pl. Kiedy projektuję we FP to wszystko jest poprawnie a kiedy uruchamiam skrypt z katalogu projektu to kiszka - linki z szablonu HTML nie pasują (głównie chodzi o odwołania do plików graficznych i css'ów) - możliwe rozwiązania to:
- linki w szablonach HTML można modyfikować aby pasowały po uruchomieniu ze skryptu ale nie jest to fajne ...
- moje rozwiązanie - napisałem taki malutki parserek który zamienia mi wyznaczone linki w szablonach HTML:

np. ../images/foto1.jpg -> images/foto1.jpg

też nie do końca mi się to podoba ale działa i spełnia swoją funkcję

- można umieścić skrypty php też w podkatalogu i też by działało - ale tak nie chę robić smile.gif

jakie macie sugestie, propozycje, własne doświadczenia ...

Taki problem mam min. wtedy gdy współpracuję z grafikiem/designerem - on robi wizualnie ja programuję - w wyżej opisanej sytuacji to się kaszani.

pozdrawiam
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.