Skocz do zawartości

Szablony (template) niepotrzebne?


Elf

Rekomendowane odpowiedzi

  • Odpowiedzi 60
  • Dodano
  • Ostatniej odpowiedzi
Proste, łatwe, przyjemne. A napiszcie to w php i zastosujcie po kilka razy.
Może zastanów się SAM kolego co ty za bzdury wypisujesz w tym poście [zresztą nie tylko]? Napiszcie w php :brawa: A niby w jakim języku jest "napisany" wykonywany kod smarty i innych systemów szablonów ?

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Powiedzmy co bie wporst szablony są ok sam ich używam, ale smarty są ciężkie i bardzo zasobnożerne polecam spróbować tego systemu szablonów: https://ets.sourceforge.net

Pozdrawiam

Aplikacje internetowe, systemy wspomagające SEO, programy pod Windows i Linux, info na https://shad.net.pl - dopisz się do Katalogu Firm

Odnośnik do komentarza
Udostępnij na innych stronach

Ech... Szablony to jest po prostu przelewanie wody z jednego wiaderka do drugiego.
I tutaj Kolega Tomahawk trafił w sedno sprawy ;)

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

...A niby w jakim języku jest "napisany" wykonywany kod smarty i innych systemów szablonów ?

Np. w ASP? Chyba oczywiste że najpierw trzeba kod systemu szablonów w czymś napisać żeby możliwa była jego obsługa. Więc nie rozumiem o co ci chodzi. Poproszę przykład innej bzdury którą napisałem...

Przykład funkcji który podałeś Tomahawk ma akurat niewiele wspólnego z tym co robi kod szablonu zaczynając chociażby od tego że wypisuje tylko jeden element tablicy. A co jeżeli przy każdym wywołaniu tej funkcji potrzebowałbym dać tabeli inne id? Co jeżeli nie potrzebuję tabeli tylko listę lub cokolwiek innego? Oprogramujesz nieskończoną ilość możliwości?

Pytanie. Ilu z tych którzy piszą że szablony są takim złem nie podając przy tym uzasadnienia korzystało z nich? Przy takim spojrzeniu jaki sens ma ten temat?

Jedni wolą szablony, inni zwykły kod. Ostatecznie chodzi o wygodę i łatwość tworzenia strony. Jeżeli ktoś uznaje że łatwiej i szybciej będzie mu napisać kod (już niech będzie że PHP) to ok. Jeżeli ktoś uznaje że łatwiej i szybciej będzie mu napisać kod wspomagając się szablonami też ok. W końcu i tak chodzi o efekt. Obie metody mają jakieś zalety i wady ale trzeba sobie z tego zdawać sprawę.

Odnośnik do komentarza
Udostępnij na innych stronach

. Więc nie rozumiem o co ci chodzi.
W to akurat nie wątpię...
. Pytanie. Ilu z tych którzy piszą że szablony są takim złem nie podając przy tym uzasadnienia korzystało z nich? Przy takim spojrzeniu jaki sens ma ten temat?.
To chyba masz u siebie inną wersję tego topicu skoro nie widzisz konkretnych przykładów i uzasadnień.
.A co jeżeli przy każdym wywołaniu tej funkcji potrzebowałbym dać tabeli inne id?
To piszemy funkcję realizującą odpowiednią operacje - nie potrzeba to tego żydach szablonów. Bzdurny argument! Najlepiej podsumował to zagadnienie Tomahawk Może jeszcze dodam od siebie, że te drugie naczynie przez wykorzystanie licznych funkcji jak serialize / unserialize i innych powoduje znaczne obciążenie serwera przy żadnych dodatkowych zaletach....

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

W to akurat nie wątpię...

Jak się nie ma argumentów to argumentem jest taka odpowiedź. Tylko jak świadczy o piszącym odpowiedź sobie sam.

To chyba masz u siebie inną wersję tego topicu skoro nie widzisz konkretnych przykładów i uzasadnień.

Uzasadnienia brzmią: nie chce mi się uczyć składni szablonów, są wolniejsze niż czysty kod. Pierwszy oznacza że osoba nigdy nie korzystała z szablonów, nie ma zupełnie porównania ale ocenia czy są dobre czy nie. Drugi oznacza także brak znajomości szablonów które tak się składa kompilowane są tylko raz przy zmianie. Przy kolejnym użyciu przetwarzany jest kod php (z katalogów w stylu templates_c). Do tego dochodzi łatwe cachowanie. Niby gdzie jest wolniej?

To piszemy funkcję realizującą odpowiednią operacje - nie potrzeba to tego żydach szablonów. Bzdurny argument!

Do Żydów też coś masz? Proszę bardzo. Jestem niekumaty jak zdążyłeś zauważyć więc proszę żebyś mi napisał tą funkcję z pełną dowolnością wyboru w jej ciele tagów xhtml. Masz okazję się wykazać.

Odnośnik do komentarza
Udostępnij na innych stronach

Niby gdzie jest wolniej?

Dwie takie same strony jesdna wykonana klasycznie w php + include

https://smarty.ovh.org/test_klasycznie.php

druga z zastosowaniem smarty

https://smarty.ovh.org/test_smarty.php

Ze względu na powtarazalność wyników testy przeprowadzałem na domowym serwerze IBM zresztą słabej mocy

Czas wykonwyania kodu PHP:

Klasycznie:

Wykonano w: 0.003035

Wykonano w: 0.003035

Wykonano w: 0.003432

Wykonano w: 0.003432

Wykonano w: 0.003132

SMARTY:

Wykonano w: 0.034436

Wykonano w: 0.032530

Wykonano w: 0.033111

Wykonano w: 0.034162

Wykonano w: 0.034273

A poniżej NAJLEPSZE test AB 100 wywołań po 20

Time taken for tests: 3.925644 seconds

Complete requests: 100

Failed requests: 0

Write errors: 0

Total transferred: 2250100 bytes

HTML transferred: 2224500 bytes

Requests per second: 25.47 [#/sec] (mean)

Time per request: 785.129 [ms] (mean)

Time per request: 39.256 [ms] (mean, across all concurrent requests)

Transfer rate: 559.65 [Kbytes/sec] received

Connection Times (ms)

min mean[+/-sd] median max

Connect: 0 1 3.1 0 10

Processing: 110 735 384.7 670 3274

Waiting: 40 615 379.5 570 3144

Total: 120 737 384.5 670 3274

Percentage of the requests served within a certain time (ms)

50% 670

66% 741

75% 801

80% 861

90% 931

95% 951

98% 2313

99% 3274

100% 3274 (longest request)

C:\>ab.exe -n 100 -c 20 https://jakis_adres/smarty/test_smarty.php

This is ApacheBench, Version 2.0.41-dev <$Revision: 1.121.2.12 $> apache-2.0

Copyright © 1996 Adam Twiss, Zeus Technology Ltd, https://www.zeustech.net/

Copyright © 1998-2002 The Apache Software Foundation, https://www.apache.org/

Benchmarking jakis_adres (be patient).....done

Server Software: Apache/2.2.0

Server Hostname: jakis_adres

Server Port: 80

Document Path: /smarty/test_smarty.php

Document Length: 22245 bytes

Concurrency Level: 20

Time taken for tests: 3.915630 seconds

Complete requests: 100

Failed requests: 0

Write errors: 0

Total transferred: 2250100 bytes

HTML transferred: 2224500 bytes

Requests per second: 25.54 [#/sec] (mean)

Time per request: 783.126 [ms] (mean)

Time per request: 39.156 [ms] (mean, across all concurrent requests)

Transfer rate: 561.08 [Kbytes/sec] received

Connection Times (ms)

min mean[+/-sd] median max

Connect: 0 1 3.8 0 10

Processing: 130 738 474.2 721 3645

Waiting: 60 573 469.3 520 3505

Total: 130 740 474.8 721 3655

Percentage of the requests served within a certain time (ms)

50% 721

66% 791

75% 851

80% 861

90% 1011

95% 1422

98% 2613

99% 3655

100% 3655 (longest request)

C:\>ab.exe -n 100 -c 20 https://jakis_adres/smarty/test_smarty.php

This is ApacheBench, Version 2.0.41-dev <$Revision: 1.121.2.12 $> apache-2.0

Copyright © 1996 Adam Twiss, Zeus Technology Ltd, https://www.zeustech.net/

Copyright © 1998-2002 The Apache Software Foundation, https://www.apache.org/

Benchmarking jakis_adres (be patient).....done

Server Software: Apache/2.2.0

Server Hostname: jakis_adres

Server Port: 80

Document Path: /smarty/test_smarty.php

Document Length: 22245 bytes

Concurrency Level: 20

Time taken for tests: 3.945674 seconds

Complete requests: 100

Failed requests: 0

Write errors: 0

Total transferred: 2250100 bytes

HTML transferred: 2224500 bytes

Requests per second: 25.34 [#/sec] (mean)

Time per request: 789.135 [ms] (mean)

Time per request: 39.457 [ms] (mean, across all concurrent requests)

Transfer rate: 556.81 [Kbytes/sec] received

Connection Times (ms)

min mean[+/-sd] median max

Connect: 0 1 3.7 0 10

Processing: 80 742 426.0 650 3755

Waiting: 40 558 417.9 500 3605

Total: 90 744 425.8 650 3755

Percentage of the requests served within a certain time (ms)

50% 650

66% 801

75% 871

80% 951

90% 991

95% 1271

98% 2303

99% 3755

100% 3755 (longest request)

C:\>ab.exe -n 100 -c 20 https://jakis_adres/smarty/test_smarty.php

This is ApacheBench, Version 2.0.41-dev <$Revision: 1.121.2.12 $> apache-2.0

Copyright © 1996 Adam Twiss, Zeus Technology Ltd, https://www.zeustech.net/

Copyright © 1998-2002 The Apache Software Foundation, https://www.apache.org/

Benchmarking jakis_adres (be patient).....done

Server Software: Apache/2.2.0

Server Hostname: jakis_adres

Server Port: 80

Document Path: /smarty/test_smarty.php

Document Length: 22245 bytes

Concurrency Level: 20

Time taken for tests: 3.925645 seconds

Complete requests: 100

Failed requests: 0

Write errors: 0

Total transferred: 2250100 bytes

HTML transferred: 2224500 bytes

Requests per second: 25.47 [#/sec] (mean)

Time per request: 785.129 [ms] (mean)

Time per request: 39.256 [ms] (mean, across all concurrent requests)

Transfer rate: 559.65 [Kbytes/sec] received

Connection Times (ms)

min mean[+/-sd] median max

Connect: 0 1 3.3 0 10

Processing: 80 739 433.5 640 3535

Waiting: 40 539 429.1 480 3384

Total: 80 740 433.9 650 3545

Percentage of the requests served within a certain time (ms)

50% 650

66% 851

75% 901

80% 961

90% 1091

95% 1261

98% 2753

99% 3545

100% 3545 (longest request)

C:\>ab.exe -n 100 -c 20 https://jakis_adres/smarty/test_klasycznie.php

This is ApacheBench, Version 2.0.41-dev <$Revision: 1.121.2.12 $> apache-2.0

Copyright © 1996 Adam Twiss, Zeus Technology Ltd, https://www.zeustech.net/

Copyright © 1998-2002 The Apache Software Foundation, https://www.apache.org/

Benchmarking jakis_adres (be patient).....done

Server Software: Apache/2.2.0

Server Hostname: jakis_adres

Server Port: 80

Document Path: /smarty/test_klasycznie.php

Document Length: 21521 bytes

Concurrency Level: 20

Time taken for tests: 0.630907 seconds

Complete requests: 100

Failed requests: 0

Write errors: 0

Total transferred: 2177700 bytes

HTML transferred: 2152100 bytes

Requests per second: 158.50 [#/sec] (mean)

Time per request: 126.181 [ms] (mean)

Time per request: 6.309 [ms] (mean, across all concurrent requests)

Transfer rate: 3369.75 [Kbytes/sec] received

Connection Times (ms)

min mean[+/-sd] median max

Connect: 0 1 3.1 0 10

Processing: 20 112 45.5 110 360

Waiting: 20 81 23.4 80 190

Total: 30 114 45.4 110 360

Percentage of the requests served within a certain time (ms)

50% 110

66% 120

75% 120

80% 120

90% 130

95% 220

98% 320

99% 360

100% 360 (longest request)

C:\>ab.exe -n 100 -c 20 https://jakis_adres/smarty/test_klasycznie.php

This is ApacheBench, Version 2.0.41-dev <$Revision: 1.121.2.12 $> apache-2.0

Copyright © 1996 Adam Twiss, Zeus Technology Ltd, https://www.zeustech.net/

Copyright © 1998-2002 The Apache Software Foundation, https://www.apache.org/

Benchmarking jakis_adres (be patient).....done

Server Software: Apache/2.2.0

Server Hostname: jakis_adres

Server Port: 80

Document Path: /smarty/test_klasycznie.php

Document Length: 21521 bytes

Concurrency Level: 20

Time taken for tests: 0.610878 seconds

Complete requests: 100

Failed requests: 0

Write errors: 0

Total transferred: 2177700 bytes

HTML transferred: 2152100 bytes

Requests per second: 163.70 [#/sec] (mean)

Time per request: 122.176 [ms] (mean)

Time per request: 6.109 [ms] (mean, across all concurrent requests)

Transfer rate: 3480.24 [Kbytes/sec] received

Connection Times (ms)

min mean[+/-sd] median max

Connect: 0 1 3.7 0 10

Processing: 20 108 35.7 110 270

Waiting: 20 79 26.0 80 250

Total: 30 109 35.7 110 270

Percentage of the requests served within a certain time (ms)

50% 110

66% 120

75% 120

80% 120

90% 130

95% 170

98% 250

99% 270

100% 270 (longest request)

C:\>ab.exe -n 100 -c 20 https://jakis_adres/smarty/test_klasycznie.php

This is ApacheBench, Version 2.0.41-dev <$Revision: 1.121.2.12 $> apache-2.0

Copyright © 1996 Adam Twiss, Zeus Technology Ltd, https://www.zeustech.net/

Copyright © 1998-2002 The Apache Software Foundation, https://www.apache.org/

Benchmarking jakis_adres (be patient).....done

Server Software: Apache/2.2.0

Server Hostname: jakis_adres

Server Port: 80

Document Path: /smarty/test_klasycznie.php

Document Length: 21521 bytes

Concurrency Level: 20

Time taken for tests: 0.610879 seconds

Complete requests: 100

Failed requests: 0

Write errors: 0

Total transferred: 2177700 bytes

HTML transferred: 2152100 bytes

Requests per second: 163.70 [#/sec] (mean)

Time per request: 122.176 [ms] (mean)

Time per request: 6.109 [ms] (mean, across all concurrent requests)

Transfer rate: 3480.23 [Kbytes/sec] received

Connection Times (ms)

min mean[+/-sd] median max

Connect: 0 0 3.0 0 10

Processing: 20 110 41.3 110 280

Waiting: 20 80 21.0 80 140

Total: 30 111 41.0 110 280

Percentage of the requests served within a certain time (ms)

50% 110

66% 120

75% 120

80% 120

90% 160

95% 220

98% 270

99% 280

100% 280 (longest request)

C:\>

Smarty Requests per second: 25 [#/sec] (mean)

Klasyk Requests per second: 160 [#/sec] (mean)

I co TY na to ?

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Na koniec "powiem" ci jedno "kończ waść wstydu [sobie] oszczędź" ... :heej:

____________________________________________________________________

Jeszcze specjalnie dla Ciebie kolejny test ...Ta sama strona wykonana z wykorzystaniem systemu OPT:

Wykonano w: 0.024830

Wykonano w: 0.024924

Wykonano w: 0.024905

Wykonano w: 0.024960

Wykonano w: 0.026289

C:\>ab.exe -n 100 -c 20 https://jakis_adres/smarty/test_opt.php

This is ApacheBench, Version 2.0.41-dev <$Revision: 1.121.2.12 $> apache-2.0

Copyright © 1996 Adam Twiss, Zeus Technology Ltd, https://www.zeustech.net/

Copyright © 1998-2002 The Apache Software Foundation, https://www.apache.org/

Benchmarking jakis_adres (be patient).....done

Server Software: Apache/2.2.0

Server Hostname: jakis_adres

Server Port: 80

Document Path: /smarty/test_opt.php

Document Length: 22355 bytes

Concurrency Level: 20

Time taken for tests: 3.434939 seconds

Complete requests: 100

Failed requests: 0

Write errors: 0

Total transferred: 2261100 bytes

HTML transferred: 2235500 bytes

Requests per second: 29.11 [#/sec] (mean)

Time per request: 686.988 [ms] (mean)

Time per request: 34.349 [ms] (mean, across all concurrent requests)

Transfer rate: 642.81 [Kbytes/sec] received

Connection Times (ms)

min mean[+/-sd] median max

Connect: 0 0 3.0 0 10

Processing: 100 635 239.5 620 1902

Waiting: 50 529 227.2 510 1812

Total: 110 636 239.4 620 1902

Percentage of the requests served within a certain time (ms)

50% 620

66% 670

75% 751

80% 781

90% 801

95% 861

98% 1902

99% 1902

100% 1902 (longest request)

C:\>ab.exe -n 100 -c 20 https://jakis_adres/smarty/test_opt.php

This is ApacheBench, Version 2.0.41-dev <$Revision: 1.121.2.12 $> apache-2.0

Copyright © 1996 Adam Twiss, Zeus Technology Ltd, https://www.zeustech.net/

Copyright © 1998-2002 The Apache Software Foundation, https://www.apache.org/

Benchmarking jakis_adres (be patient).....done

Server Software: Apache/2.2.0

Server Hostname: jakis_adres

Server Port: 80

Document Path: /smarty/test_opt.php

Document Length: 22355 bytes

Concurrency Level: 20

Time taken for tests: 3.424925 seconds

Complete requests: 100

Failed requests: 0

Write errors: 0

Total transferred: 2261100 bytes

HTML transferred: 2235500 bytes

Requests per second: 29.20 [#/sec] (mean)

Time per request: 684.985 [ms] (mean)

Time per request: 34.249 [ms] (mean, across all concurrent requests)

Transfer rate: 644.69 [Kbytes/sec] received

Connection Times (ms)

min mean[+/-sd] median max

Connect: 0 1 3.0 0 10

Processing: 70 640 250.0 650 2032

Waiting: 30 503 242.6 480 1962

Total: 80 641 249.8 650 2032

Percentage of the requests served within a certain time (ms)

50% 650

66% 711

75% 741

80% 741

90% 771

95% 1161

98% 1301

99% 2032

100% 2032 (longest request)

C:\>

ps testów innych szablonów już nie robię...

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Dzisiaj nie chce mi się już klepać więcej kodu ale prosta tabela od 1->100 w rzędach w OPT 2+ próba ~0.00083, kod zwykły ale generowany przez klasę ~0.00015. Jutro podokładam trochę kodu, jakieś ify, troszkę bardziej zaawansowane żeby miał okazję serwer popracować, może coś z PDO. Zobaczymy jak się będzie spisywać dla takiego testu gdzie już będzie wymagana większa praca.

Odnośnik do komentarza
Udostępnij na innych stronach

Dziwny za przeproszeniem Jesteś... Uparty jak ....

Skoro prosty kod wykonuje się z taką różnicą, więc jak dodasz do tego w szablonie dodatkowe if iteracje itd będzie jeszcze gorzej. Ta sama funkcjonalności, tak samo ładnie oddzielona napisana w PHP będzie wykonywana znacznie szybciej niż strasznie ciężkie kody z smarty i lżejsze [od smarty] kody z OPT występujące w skompilowanym szablonie. Właśnie zaglądałem do "skompilowanego" szablonu tworzącego tą tabelę to masakra - jest tak duży, że aż głupio go tutaj wklejać.

PDO nie ma z tym kolego nic wspólnego. Jednak nie wiesz w jakim kościele dzwoni...

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

O co walczycie ?:heej:

Samo php będzie szybsze niż wykorzystanie systemu szablonów. System szablonów przetwarza wszystko na "skompilowane" pliki php i zapisuje je w cache. Przy każdym uruchomieniu system szablonów musi włączyć kilka swoich funkcji, sprawdzić, czy istnieją pliki cache i dopiero potem je uruchomić. Pisząc od razu w php zrobimy to szybciej i tu nie ma się co pojedynkować na Benchmarki.

System szablonów to wygoda, jednak osoby pracujące w pojedynkę tego nie odczują tak bardzo jak podczas pracy grupowej. Jako koder mogę dać przecież dostęp do moich plików php grafikowi, ale jedna jego pomyłka i nieszczęście gotowe... natomiast templatki może sobie śmiało modyfikować i tutaj nie ma prawa np. niechcący naruszyć bezpieczeństwa aplikacji.

Używanie gotowca, jakim jest system szablonów, skraca nam także pracę. Oczywiście można pisać swoje klasy/funkcje do wszystkich zadań generowania np. formularzy, tabel, wersji językowych itp. ale po co wywalać otwarte drzwi, jeżeli powstał do tego system szablonów?

Jedni będą woleli z nich korzystać, inni nie, bo... nie. To nie istotne. Ja jako programista nie wyobrażam sobie dzisiaj pracy bez OPT, inny koder może nigdy z niego nie skorzystać. Nie jest to jednak rozważanie, co jest lepsze, a co gorsze, trzeba zaakceptować inny pogląd, technikę i już. Jedni są katolikami, inni żydami, inni światkami Jehowy, a jeszcze inni ateistami. Kwestia własnego wyboru.

Dała matka rozum? To kombinuj.

Odnośnik do komentarza
Udostępnij na innych stronach

uważam, że ten wątek to jedno wielkie nieporozumienie a niektórzy tutaj W OGÓLE nie załapali o co chodzi. Początkowo była rozmowa o rozdzieleniu MC i V, a że user viking nie widzi różnicy to dla niego stało się to synonimem szablonów i powstała kłótnia bezsensu bo tu nikt nie negował wykorzystania szablonów (osobny widok to tak na prawde te ogolnie przyjete "szablony"). blah. viking coś tam pisął o jakiś setkach plików, coś o zmianach, dużych serwisach wyraźnie dając do zrozumienia, że nie łapie tematu, a Mion przyjął z apunkt honoru udowodnienie, że gołe php jest szybsze (oczywiscie :heej:

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności