Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Wcięcia
Forum PHP.pl > Forum > Przedszkole
michael_13
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ć?
aiv
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ś.
mike
A ja mam pytanie: Po co?
Przecież to do niczego nie prowadzi. Nie zyskujesz nic a tracisz sporo: czas.
michael_13
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?
qrees
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...
michael_13
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)!
vokiel
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.
mike
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.
-
Kwestia estetyki.
PS: daj se "\t"
michael_13
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ł
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.