![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 650 Pomógł: 16 Dołączył: 5.07.2010 Skąd: Ściśle Tajne Ostrzeżenie: (0%) ![]() ![]() |
Witam! Czy da się w php zrobić jakoś tag który jest automatycznie zamieniany?
Załóżmy że mam takie coś:
i chciał bym dodać znacznik
tworzyło by kod:
Jest coś takiego możliwe? Szukam po manualu ale nie mogę znaleźć a nie chcę autorskiego systemu szablonów. -------------------- Jak coś jest dobre, to nie znaczy że nie może być to lepsze - Ideały nie istnieją ;D
Strony internetowe Świnoujście |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 4 340 Pomógł: 542 Dołączył: 15.01.2006 Skąd: Olsztyn/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Zobacz jak to w Smarty albo Twigu jest zrobione, bo podejrzewam że do systemu szablonów Ci to potrzebne.
-------------------- 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/ |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 1 798 Pomógł: 307 Dołączył: 13.05.2009 Skąd: Gubin/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Kod TPL; if ($zmienna == cos){ echo 'tekst wyświetlany po spełnieniu warunku'; } echo <<< TPL Ten heredoc jest niestety nie poprawny ![]() EDIT: Cytat Jest coś takiego możliwe? Szukam po manualu ale nie mogę znaleźć a nie chcę autorskiego systemu szablonów. php nie udostępnia sam z siebie to czego poszukujesz. Nie mniej, możesz zrobić swój "autorski system" szablonów który IMO nie będzie skomplikowany, i raczej jeżeli dobrze go sobie rozplanujesz będzie bardziej wydajny niż te dostępne (smarty/twig i tym podobne). Osobiście ostatnio coś takiego na własne potrzeby skleiłem i jedyne o czym tam trzeba pamiętać to że zamiast <?php oraz ?> używać można odpowiednio { oraz } dzięki czemu w miarę ładniej to wygląda. A php samo w sobie udostępnia alternatywny sposób zapisywania instrukcji warunkowych: Kod <?php if(1 == 1): echo 'równe'; endif; Trochę więcej pisałem o tym w tym temacie: http://forum.php.pl/index.php?showtopic=181343#entry887114 masz tam przedstawioną alternatywną składnie bloków warunkowych i pętli, trochę niżej masz też jak wygląda mój templatek oraz jego cache. Ten post edytował by_ikar 3.11.2011, 11:09:37 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 650 Pomógł: 16 Dołączył: 5.07.2010 Skąd: Ściśle Tajne Ostrzeżenie: (0%) ![]() ![]() |
Patrzę te smarty, ale nie mogę szczerze mówiąc znaleźć funkcji która by zamieniała tekst. Może miał ktoś z was już styczność z czymś takim?
-------------------- Jak coś jest dobre, to nie znaczy że nie może być to lepsze - Ideały nie istnieją ;D
Strony internetowe Świnoujście |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 4 340 Pomógł: 542 Dołączył: 15.01.2006 Skąd: Olsztyn/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Używanie szablonów nigdy nie jest bardziej wydajne niż pisanie w czystym PHP mieszanym z HTML. Ja osobiście nie używam bo tak jak napisałem jest to strata wydajności. Bo jednak przetworzenie szablonu trwa.
-------------------- 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/ |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 1 527 Pomógł: 438 Dołączył: 28.06.2011 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Ja dodam tylko, że z tą wydajnością wcale nie musi być tak źle przy założeniu, że posiadamy prosty system szablonów oraz, że je cache'ujemy to wynikowy kod zcache'owanych plików jest prawie tak samo wydajny jak pisany z palca - oczywiście jeżeli weźmiemy wielki kombajn jak smarty i do tego skomplikowany widok to nie odpowiadam za to co będzie w pliku wyjściowym do obsłużenia przez PHP
![]() ![]() -------------------- If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;) Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka... |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 4 340 Pomógł: 542 Dołączył: 15.01.2006 Skąd: Olsztyn/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Ja dodam tylko, że z tą wydajnością wcale nie musi być tak źle przy założeniu, że posiadamy prosty system szablonów oraz, że je cache'ujemy to wynikowy kod zcache'owanych plików jest prawie tak samo wydajny jak pisany z palca - oczywiście jeżeli weźmiemy wielki kombajn jak smarty i do tego skomplikowany widok to nie odpowiadam za to co będzie w pliku wyjściowym do obsłużenia przez PHP ![]() ![]() Cache + czysty PHP VS Cache + szablon + klasa do jego przetworzenia ( i oczywiście trzeba pamiętać że takiego systemu szablonów trzeba się nauczyć) Wydaje mi się że jest to bez sensu no ale może się nie znam bo nie używałem i nie używam systemu szablonów -------------------- 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/ |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 1 527 Pomógł: 438 Dołączył: 28.06.2011 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
To nie jest tak ;P
Normalnie masz tak: PHP: Dane -> PHP -> STRONA Z szablonami (prostymi, które mają ułatwić parę rzeczy) masz tak: #1 wywołanie po edycji szablonu: Dane -> (Szablon -> utworzenie kodu PHP -> PHP (czyli plik cache)) -> STRONA #każde kolejne: Dane -> PHP -> STRONA Wydajność spada nieznacznie na jakości tego wygenerowanego PHP. Jak się to sprytnie zrobi - to można w zasadzie nie ujmując wydajności pisać łatwiej i o wiele zrozumialej ![]() Ale to zależy kto co lubi ;P -------------------- If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;) Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka... |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 4 340 Pomógł: 542 Dołączył: 15.01.2006 Skąd: Olsztyn/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Tu jest
http://fabien.potencier.org/article/34/tem...-engines-in-php dobry artykuł na temat systemu szablonów i tego co i jak z PHPem, natomiast mnie to jakoś nie przekonuje. -------------------- 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/ |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 1 798 Pomógł: 307 Dołączył: 13.05.2009 Skąd: Gubin/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Cytat Wydajność spada nieznacznie na jakości tego wygenerowanego PHP. Jak się to sprytnie zrobi - to można w zasadzie nie ujmując wydajności pisać łatwiej i o wiele zrozumialej Ameryki nie odkryłem, ale u mnie, mój "system szablonów" to jest nic innego jak 2 wyrażenia które zamiast klamer wstawiają tagi html. Przykład podałem w tym poście: http://forum.php.pl/index.php?showtopic=181343#entry889424 i pisze sobie albo z klamrami albo normalne tagi php, tak czy inaczej to system szablonów mnie w żaden sposób nie ogranicza, jedynie momentami mogą być problemy z mieszaniem JS i php, ale jak już się raz to zrobi to potem idzie już bezproblemowo. Cache to tak jak napisałeś, wygenerowany kod php który wygląda tak jakbym sam pisał <?php echo $zmienna ?> i w działaniu póki co jest tak samo szybki, bo każdy plik includuje, nie używam evala, więc szczerze mówiąc używam klasycznego sposobu mieszania php i html, tyle że ułatwiłem sobie początkową fazę, czyli klepanie otwierających i zamykających tagów php na rzecz klamer. Nie tworze jakiejś udziwnionej składni, bo jak napisałem w tym temacie, oraz tym: http://forum.php.pl/index.php?showtopic=181343#entry889424 moim zdaniem php nie potrzebuje szablonów typu smarty czy twig żeby zapis instrukcji warunkowych czy pętli jakoś wyglądał w kodzie html ![]() |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 650 Pomógł: 16 Dołączył: 5.07.2010 Skąd: Ściśle Tajne Ostrzeżenie: (0%) ![]() ![]() |
Panowie rozpisujecie się o wielkich systemach szablonów typu Smarty a ja chcę tylko tą jedną funkcje napisać
![]() -------------------- Jak coś jest dobre, to nie znaczy że nie może być to lepsze - Ideały nie istnieją ;D
Strony internetowe Świnoujście |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 1 798 Pomógł: 307 Dołączył: 13.05.2009 Skąd: Gubin/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Panowie rozpisujecie się o wielkich systemach szablonów typu Smarty a ja chcę tylko tą jedną funkcje napisać ![]() Nie wszyscy się rozpisują o wielkich systemach szablonów, napisałem ci jak można to wykonać w php, wskazałem ci temat gdzie ja sam dopiero robiłem swój system szablonów. U mnie warunek który pokazałeś w pierwszym poście: Kod <if!$zmienna == cos>tekst wyświetlany po spełnieniu warunku</if> wyglądałby tak: Kod {if(!$zmienna == cos):} tekst wyświetlany po spełnieniu warunku {endif} po kompilacji: Kod <?php if(!$zmienna == cos): ?> tekst wyświetlany po spełnieniu warunku <?php endif ?> reasumując, tobie nie potrzebny nowy znacznik, bo możesz to zapisać w taki sposób jaki podałem wyżej (po kompilacji), ale możesz też wykonać na swoje potrzeby proty system szablonów (tak jak ja) który zdejmie przerobi klamry { } na tagi pgp <?php ?>. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 09:14 |