Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Wcięcia
michael_13
post
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 1
Dołączył: 13.05.2007

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


Witam mam problem, w jaki sposób mogę zrobić żeby każda linijka wyświetlanej zmiennej przez echo miała takie samo wcięcie jak pierwsze linijka (w tej linijce co jest wklejana zmienna) dla przykładu:

  1. <?php
  2. $zmienna='Pierwsza linijka
  3. Druga linijka
  4. Trzecia linijka';
  5.  
  6. echo ('<body>
  7. <div>
  8. <div>
  9. '.$zmienna'
  10. </div>
  11. </div>
  12. <div>
  13. <div>
  14. <div>
  15. '.$zmienna'
  16. </div>
  17. </div>
  18. </div>');
  19. ?>

Nie mogę w zmiennej $zmienna dać stałych tabulatorów bo w jednym przypadku wyświetlenia będzie dobrze wcięte a w drugim już nie, jak to rozwiązać?


--------------------
<?php
die ('Wiedza sama w sobie nie ma żadnej wartości. Cenną czyni ją jej STOSOWANIE. Innymi słowy, świat nie odpłaca Ci za to, co wiesz. Świat odpłaca Ci za to, co robisz.');
?>
Go to the top of the page
+Quote Post
aiv
post
Post #2





Grupa: Zarejestrowani
Postów: 93
Pomógł: 13
Dołączył: 7.09.2006

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


Bez wstawiania tabulatorów może być ciężko, ale zożesz np.: oddzielić kod PHP od warstwy HTML'a używając systemu szablonów. Wtedy HTML będzie wyglądał dokładnie (albo prawie, to już kwestia uporu) tak samo jak sobie zaplanowałeś.


--------------------
Mariusz Dalewski
Aiv's dev blog
Go to the top of the page
+Quote Post
mike
post
Post #3





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


A ja mam pytanie: Po co?
Przecież to do niczego nie prowadzi. Nie zyskujesz nic a tracisz sporo: czas.
Go to the top of the page
+Quote Post
michael_13
post
Post #4





Grupa: Zarejestrowani
Postów: 13
Pomógł: 1
Dołączył: 13.05.2007

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


Właśnie jest mi to potrzebne do mojego małego (w zupełności wystarczającego) systemu szablonów, właśnie w Smartach jakoś to rozwiązali, a ja nie chce przechodzić na Smarty bo pożerają trochę ms.

A chce mieć tylko ładnie w kodzie źródłowym wszystkie wcięcia, czyli nie da się tego zrobić?

Cytat(mike @ 6.01.2008, 21:55:49 ) *
Nie zyskujesz nic a tracisz sporo: czas.

To przez wcięcia w kodzie bardzo "sporo" czasu tracę? 1 Tabulator Zajmuje 1 bajt (4kB na dysku, w zależności od rozmiaru klastra, to wiadomo)
10 tabulatorów zajmuje 10bajtów (4 kB na dysku)
Na mojej stronie głównej mam 1630 wcięć (tabulatorów) czyli ~1,6kB (na dysku wciąż zajmuje 4kB) czyli około 3,5% całej strony (chodzi tylko o sam html, bez grafik itp).
To zakładając, że użytkownik ma łącze 10kB/s to same tabulatory będą mu się wczytywać ~0,1s

To miałeś na myśli mówiąc sporo tracisz? Czyli jednak warto zrezygnować z wcięć dla tych ~0,1s?

A i dlaczego w większości stosuje sie tabulatory ze spacji (jak sprawdzałem jedna spacja zajmuje tyle co 1 tabulator) Jeśli żeby zrobić większe wcięcie stosuje się kilka spacji nawet żeby zmniejszyć tego tabulatora zastosujemy 2 spacje to mamy dwa razy więcej spacji niż byśmy zastosowali tabulatory (czyli już 0,2s) mi to nie przeszkadza że tabulator jest trochę szerszy (nie rozjeżdża mi się kod w poziomie jak piszę), czy jest inen wytłumaczenie stosowania spacji zamiast tabulatorów we wcięciach?

Ten post edytował michael_13 9.01.2008, 17:07:56


--------------------
<?php
die ('Wiedza sama w sobie nie ma żadnej wartości. Cenną czyni ją jej STOSOWANIE. Innymi słowy, świat nie odpłaca Ci za to, co wiesz. Świat odpłaca Ci za to, co robisz.');
?>
Go to the top of the page
+Quote Post
qrees
post
Post #5





Grupa: Zarejestrowani
Postów: 275
Pomógł: 44
Dołączył: 23.11.2007

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


Cytat(michael_13 @ 9.01.2008, 16:51:49 ) *
Właśnie jest mi to potrzebne do mojego małego (w zupełności wystarczającego) systemu szablonów, właśnie w Smartach jakoś to rozwiązali, a ja nie chce przechodzić na Smarty bo pożerają trochę ms.

A chce mieć tylko ładnie w kodzie źródłowym wszystkie wcięcia, czyli nie da się tego zrobić?


To przez wcięcia w kodzie bardzo "sporo" czasu tracę? 1 Tabulator Zajmuje 1 bajt (4kB na dysku, w zależności od rozmiaru klastra, to wiadomo)
10 tabulatorów zajmuje 10bajtów (4 kB na dysku)
Na mojej stronie głównej mam 1630 wcięć (tabulatorów) czyli ~1,6kB (na dysku wciąż zajmuje 4kB) czyli około 3,5% całej strony (chodzi tylko o sam html, bez grafik itp).
To zakładając, że użytkownik ma łącze 10kB/s to same tabulatory będą mu się wczytywać ~0,1s

To miałeś na myśli mówiąc sporo tracisz? Czyli jednak warto zrezygnować z wcięć dla tych ~0,1s?

A i dlaczego w większości stosuje sie tabulatory ze spacji (jak sprawdzałem jedna spacja zajmuje tyle co 1 tabulator) Jeśli żeby zrobić większe wcięcie stosuje się kilka spacji nawet żeby zmniejszyć tego tabulatora zastosujemy 2 spacje to mamy dwa razy więcej spacji niż byśmy zastosowali tabulatory (czyli już 0,2s) mi to nie przeszkadza że tabulator jest trochę szerszy (nie rozjeżdża mi się kod w poziomie jak piszę), czy jest inen wytłumaczenie stosowania spacji zamiast tabulatorów we wcięciach?

1. Naucz się czytać ze zrozumieniem...
2. Chcesz mieć stałe wcięcia to pisz tak:

  1. <?php
  2. echo ('<body>
  3. <div>
  4. <div>
  5. '.$zmienna'
  6. </div>
  7. </div>
  8. <div>
  9. <div>
  10. <div>
  11. '.$zmienna'
  12. </div>
  13. </div>
  14. </div>');
  15. ?>

O to Ci chodzi?

3. Ciągle nie rozumiem jaki sens tego... Po raz kolejny, tracisz tylko czas...
Go to the top of the page
+Quote Post
michael_13
post
Post #6





Grupa: Zarejestrowani
Postów: 13
Pomógł: 1
Dołączył: 13.05.2007

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


Cytat(qrees @ 9.01.2008, 19:52:40 ) *
1. Naucz się czytać ze zrozumieniem...


To ty naucz się czytać, było włączyć to co ja napisałem i zobaczyć jak wygląda kod i co chce osiągnąć, a nie usuwasz wcięciacia z kodu tym samym struktura html (wcięć jest zaburzona) czyli kompletnie przeciwnie do tego co chce osiągnąć
jakoś aiv zrozumiał o co mi chodzi i zaproponował przejście na szablony (bo tak w szablonach np, smartach osiągneli to w jakiś sposób, własnie chodzi mi w jaki sposóB) tyle że ja nie chce przejść na Smarty.

Jeśli nie rozumiesz po co mi to potrzebne i nie wiesz jak ten problem rozwiązać to się nie wypowiadaj, bo forum chyba służy żeby pomóc rozwiązać problem a nie tylko po to żeby dopytywać się po co to komu i nie pomagać mu tylko krytykując.

Traci czas ten kto nie pyta, ja nie uznaję tego za stratę czasu, jeśli ty tak myślisz to co robisz na forum? Przecież to strata czasu.

Wiec jeśli nadal nie wiesz o co mi chodzi uruchamiasz to co napisałem (tam dwie kropki pominąłem):
  1. <div>
  2. <div>
  3. Pierwsza linijka
  4. Druga linijka
  5. Trzecia linijka
  6. </div>
  7. </div>
  8. <div>
  9. <div>
  10. <div>
  11. Pierwsza linijka
  12. Druga linijka
  13. Trzecia linijka
  14. </div>
  15.  
  16. </div>
  17. </div>

Więc widać widać jak wyglądają wcięcia, więc powiedz mi w jaki sposób mam zrobić żeby mieć takie wcięcia:
  1. <div>
  2. <div>
  3. Pierwsza linijka
  4. Druga linijka
  5. Trzecia linijka
  6. </div>
  7. </div>
  8. <div>
  9. <div>
  10. <div>
  11. Pierwsza linijka
  12. Druga linijka
  13. Trzecia linijka
  14. </div>
  15.  
  16. </div>
  17. </div>


Bo to co ty zrobiłeś to kod wygląda tak:
  1. <div>
  2. <div>
  3. Pierwsza linijka
  4. Druga linijka
  5. Trzecia linijka
  6. </div>
  7. </div>
  8. <div>
  9. <div>
  10. <div>
  11. Pierwsza linijka
  12. Druga linijka
  13. Trzecia linijka
  14. </div>
  15.  
  16. </div>
  17. </div>

i nigdzie nie pisałem, że chce mieć stałe wcięcia (i kto tu pisze o czytaniu ze zrozumieniem)!


--------------------
<?php
die ('Wiedza sama w sobie nie ma żadnej wartości. Cenną czyni ją jej STOSOWANIE. Innymi słowy, świat nie odpłaca Ci za to, co wiesz. Świat odpłaca Ci za to, co robisz.');
?>
Go to the top of the page
+Quote Post
vokiel
post
Post #7





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

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


Jeżeli chodzi o stratę czasu, to myślę, że mike miał na myśli, że tracisz swój czas zajmując się tym, a nie, że tracisz czas użytkownika, któremu strona będzie się ładować ~0,1s dłużej. (to jest to czytanie ze zrozumieniem)

To co chcesz osiągnąć jest tylko upiększeniem, są przecież programy do edycji, które same automatycznie ustawiają te wcięcia, na których Ci tak zależy. Ale sens jest tylko w przypadku źródła, ale nie tego wynikowego z przeglądarki.


--------------------
Go to the top of the page
+Quote Post
mike
post
Post #8





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Cytat(michael_13 @ 9.01.2008, 16:51:49 ) *
To miałeś na myśli mówiąc sporo tracisz? Czyli jednak warto zrezygnować z wcięć dla tych ~0,1s?
Nie, miałem na myśli że Ty tracisz czas na pierdoły, które NIC Ci nie dają. No chyba że później będziesz patrzył w kod własnych stron i cieszył się jak nic nie znaczące wcięcia ładnie wyglądają.

Jeśli chodzi o wyliczenia to bagatelizując temat nieświadomie strzelasz sobie gola. Jeśli pomnożysz ilość danych razy oglądalność dużego serwisu to zobaczysz, że marnujesz transfer na puste znaki tongue.gif
Teoretycznie najlepiej byłoby ich nie używać w ogóle. Ale to polemika, rzecz nie warta świeczki.

Cytat(michael_13 @ 9.01.2008, 16:51:49 ) *
A i dlaczego w większości stosuje sie tabulatory ze spacji (jak sprawdzałem jedna spacja zajmuje tyle co 1 tabulator) Jeśli żeby zrobić większe wcięcie stosuje się kilka spacji nawet żeby zmniejszyć tego tabulatora zastosujemy 2 spacje to mamy dwa razy więcej spacji niż byśmy zastosowali tabulatory (czyli już 0,2s) mi to nie przeszkadza że tabulator jest trochę szerszy (nie rozjeżdża mi się kod w poziomie jak piszę), czy jest inen wytłumaczenie stosowania spacji zamiast tabulatorów we wcięciach?
Pisałeś coś w grupie czy wszystko sam?
Chyba sam i nie miałeś styczność z czymś większym pisanym przez zespół. Cztery spacje zamiast tabulatora to konwencja wzięta z Javy i ma się podobać nie Tobie a wszystkim. Pamiętaj, że w różnych aplikacjach tabulator może mieć różną długość a wspólny kod powinien wyglądać u każdego tak samo.


Nadal zresztą nie widzę żadnego realnego argumentu żeby było warto bawić się w "ładnie wyglądające wcięcia". To jest po prostu strata czasu.
Go to the top of the page
+Quote Post
---
post
Post #9





Goście







Kwestia estetyki.
PS: daj se "\t"
Go to the top of the page
+Quote Post
michael_13
post
Post #10





Grupa: Zarejestrowani
Postów: 13
Pomógł: 1
Dołączył: 13.05.2007

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


Cytat(mike @ 6.01.2008, 21:55:49 ) *
Nie zyskujesz nic a tracisz sporo: czas.

może powiecie że to jest jednoznaczne, ja zrozumiałem to tak, "nie zyskujesz nic" czyli mamy tu na myśli funkcjonalność strony, a dalej jest "tracisz sporo: czas" czyli kontynuacja zdania czyli odnosi sie do funkcjonalności co za tym idzie zrozumiałem to jako stratę czasu wczytywania strony, oczywiście nie byłem pewien i się dopytałem, na pewno braku czytania ze zrozumieniem nie można mi zarzucić.

Co do tego zaoszczędzenia danych na nie stosowaniu wcięć, to racja, jeśli miałbym ogromny serwis i nie wyrabiał się z miesięcznym transferem na pewno bym nie stosował wcięć (ale i tak skupiłbym się na czym innym przy optymalizacji, np. zmniejszenie jednej grafiki o te 10kb to już jest zysk a nie usunięcie 10000tabulatorów). Ale kwestie stosowania czy nie wcięć zostawmy, bo nie o tym jest temat, a zdań na ten temat tyle co ludzi.

Wracając do tematu, tylko zapytałem jak to zrobić, czy jest to możliwe, a wszyscy wyskakują z pytaniem: po co? na co? itp. Po prostu mnie to zaciekawiło, w SMARTach rozwiązali ten problem więc myślałem, że jest na to jakiś prosty sposób, którego nie znam (bo wszystkiego nie wiem i nie ukrywam tego) Dlatego napisałem ten temat na ogólnodostępnym forum i chciałem się dowiedzieć, ale dziwi mnie ta reakcja, czy naprawdę uznajecie pytanie, dowiadywanie się za taką wielką stratę czasu?

A jeśli już chcecie tą odpowiedź po co mi to:
Tylko dla własnej satysfakcji, poczucia, że się rozwiązało problem (przy pomocy innych osóB). Tak dla estetyki kodu. Powiecie po co estetyka kodu, to po co przestrzegać standardów W3C itp, jak i tak strona się wyświetla tak jak chcemy mimo że jest pełna błędów.
A jeśli zleceniodawca kazałby wam żeby w kodzie były piękne wcięcia (o tak dla jego widzimisie, tak samo jak żółty na zielonym), nie ważne czy to potrafimy zrobić czy nie, lub czy nam się podoba czy nie, ważne że on płaci i wymaga? To co byście mu powiedzieli, że wcięcia to głupota, nie potrzebne itp.

Już zostawmy tą dyskusję w spokoju, jeśli ktoś wie w jaki sposób zrobić to co napisałem na samym początku i znajdzie choć chwilkę czasu, i nie uzna tego za stratę czasu niech poda odpowiedź. Z gór ywielkie dzięki.

Pozdrawiam
Michał

Ten post edytował michael_13 10.01.2008, 13:03:38


--------------------
<?php
die ('Wiedza sama w sobie nie ma żadnej wartości. Cenną czyni ją jej STOSOWANIE. Innymi słowy, świat nie odpłaca Ci za to, co wiesz. Świat odpłaca Ci za to, co robisz.');
?>
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 21.08.2025 - 05:37