Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Smarty][PHP] Jak tworzyć instancję obiektu
Mefiuu
post
Post #1





Grupa: Zarejestrowani
Postów: 371
Pomógł: 18
Dołączył: 23.11.2008

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


Witam serdecznie forumowiczów. Dzisiaj uderzam do Was z pytaniem, wyglądającym być może trochę jak pytanie przysłowiowej blondynki ... Kopię po sieci w poszukiwaniu rozwiązań opartych na smarty, znalazłem kilka z nich. Moje pytanie brzmi ... :

Czy jeśli w pliku index.php utworzę sobie instancję obiektu smarty oraz zdefiniuję katalog z templatkami, templatkami_c itp. to czy muszę podobną akcję wykonywać w KAŻDYM pliku w tym katalogu ? Przypuśćmy że mam index.php, artykul.php, galeria.php - czy w każdym z nich musi być taka instancja $smarty = new Smarty; ?

Logicznie rzecz biorąc tak powinno być, aczkolwiek w tych kilku projektach nie mogę się doszukać gdzie w tych pozostałych plikach jest tworzona taka instancja i ustawianie ścieżek. A każdy tutorial na temat smartów kończy się na jednym pliku, nie pokazując co się dzieje w innych.

Wybaczcie być może dziwne pytanie, ale na prawdę nie mogę dojść do tego jak to ma wyglądać.

Pozdrawiam.
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




plik index.php jest glownym plikiem projektu. Wszystkie strony przechodza przez ten plik.
obiekt smartiego w 99% przypadkow wystarczy stworzyc raz. Ma byc on tworzony np. w index.php i ma byc dostepny wszedzie tam gdzie potrzebny.
Go to the top of the page
+Quote Post
kapslokk
post
Post #3





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

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


Jeśli te pliki są niezależne i nie są uruchamiane przez jakiś główny kontroler, to musisz tworzyć obiekt w każdym z nich, albo możesz sobie go tworzyć w innym pliku i ten plik includować do każdego w którym potrzebujesz smartów.

Ten post edytował kapslokk 3.11.2015, 13:43:26
Go to the top of the page
+Quote Post
Mefiuu
post
Post #4





Grupa: Zarejestrowani
Postów: 371
Pomógł: 18
Dołączył: 23.11.2008

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


Cytat(nospor @ 3.11.2015, 14:41:08 ) *
Wszystkie strony przechodza przez ten plik.


Mógłbyś rozwinąć myśl ? W jaki sposób przechodzą ? Czy w każdym pliku php mam includować na początku index.php ?

Cytat(kapslokk)
Jeśli te pliki są niezależne i nie są uruchamiane przez jakiś główny kontroler, to musisz tworzyć obiekt w każdym z nich, albo możesz sobie ją tworzyć w innym pliku i ten plik includować do każdego w którym potrzebujesz smartów.


tak własnie myślałem

Ten post edytował Mefiuu 3.11.2015, 13:43:54
Go to the top of the page
+Quote Post
nospor
post
Post #5





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
W jaki sposób przechodzą ? Czy w każdym pliku php mam includować na początku index.php ?
Plik index.php powinien byc glownym plikiem aplikacji. Aplikacja nie powinna pozwalac na bezposrednie odpalanie zadnych innych plikow. To plik index.php powinien includowac wlasciwe pliki w zaleznosci od tego jaka strone aplikacji odpalasz. Dzieki temu wszystko inicjalizujesz w jednym miejscu i nie masz tego porozwalane po petryliardach plikow
Go to the top of the page
+Quote Post
Mefiuu
post
Post #6





Grupa: Zarejestrowani
Postów: 371
Pomógł: 18
Dołączył: 23.11.2008

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


Chyba rozumiem. Czyli po prostu zamiast bawić się w np. index.php oraz artykul.php wystarczy zrobić index.php z instancją smartów oraz w zależności od przejścia gdzieś metodą POST includować sobie np. właśnie artykul.php i wtedy smarty będą widoczne, tak ? A później tylko sobie ładnie ustawić mod_rewrite, żeby użytkownik myślał, że rzeczywiście jest na innej podstronie
Go to the top of the page
+Quote Post
nospor
post
Post #7





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Tak. Ale to wcale nie musi byc post, moze byc normale get, np

index.php?page=article
i na tej podstawie index.php bedzie wiedzial ze ma zaladowac plik article.php.

Poczytaj cos o MVC. Tam to wszystko jest wyjasnione. Teraz kroczysz naprawde zla sciezka (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Mefiuu
post
Post #8





Grupa: Zarejestrowani
Postów: 371
Pomógł: 18
Dołączył: 23.11.2008

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


pomyliłem oczywiście GET z POST ... (IMG:style_emoticons/default/blink.gif)

Poczytam o MVC.

Dziękuję za pomoc.

Pozdrawiam (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
viking
post
Post #9





Grupa: Zarejestrowani
Postów: 6 381
Pomógł: 1116
Dołączył: 30.08.2006

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


Albo zobacz mikro frameworki w style Silex, Slim, Expressive. Możeliwe że zamiast bawić się w jakieś rzeźby w index.php będzie Ci dużo wygodniej zacząć w nich pisać.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 3.10.2025 - 03:15