🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.php
Article #232179

Re: PHPStorm - jak tworzyć wzorce HTML?

#232179
From: Marek S
Date: Sun, 16 Dec 2018 19:11
110 lines
6822 bytes
W dniu 2018-12-16 o 18:13, Kviat pisze:

>> Po pierwsze - przy pracy z template'ami w DW właśnie w jednym pliku 
>> dokonujesz zmiany a na 50ciu widoczny jest tego efekt w "magiczny", 
>> jak to określasz, sposób.
> 
> Jest widoczny, bo zamiast ręcznie nanosić zmiany w 50 plikach, ten DW 
> zrobił to za Ciebie.

Dokładnie tak! O tym właśnie piszę. Zaznaczyłem moim komentarzem to, że 
to żadna magia lecz czysta funkcjonalność.

> I uważasz, że to jest właściwa praktyka?

Hmmm... raczej bardzo wygodne narzędzie do zastosowań w pewnych 
sytuacjach. Np. bardzo cenię sobie możliwość podglądu widoków w MVC w 
wersji live. Po to by wizualnie oceniać nanoszone zmiany. W ten sposób 
błyskawicznie dopieszczam HTML bez konieczności uruchamiania aplikacji. 
I wtedy w/w technika bardzo ułatwia np. dolinkowanie kolejnego CSS czy 
JS we wszystkich widokach. Bez tego mam dwa wyjścia:

1. Albo w 50 widokach ręcznie dodawać linki do CSS/JS gdy coś się zmieni.
2. Abo zrezygnować z wizualnego kodowania i testować wszystko na 
aplikacji, co czasem bywa czasochłonne bo zwykłe F5 nie zadziała np. na 
podsumowaniu zamówienia sklepu internetowego. Wtedy muszę nowe tworzyć 
by móc zobaczyć formatowanie.

> Czyli jak ktoś nie ma/nie używa DW, to powinien ręcznie zmiany w 
> 50/100/1000 plikach nanieść, bo tak to powinno się robić?
> Nie wydaje mi się.

Nie o tym mowa. Próbuję jedynie ten mechanizm jakoś przenieść na realia 
PHPStorma - jeśli się da bo lubię widzieć co robię.

> 
> Ja widzę zasadniczą oszczędność, gdy nanoszę zmianę w jednym pliku, 
> zamiast w 1000 plikach podstron.
> Nawet sobie tego nie wyobrażam, żeby tak sobie pracę "organizować"...

No widzisz. Bo to kwestia posiadania odpowiednich narzędzi i zdobycia 
doświadczenia na nich. Jeśli nie masz w domu spawarki, to młotkiem nie 
wykonasz tej samej pracy więc wtedy musisz zmienić podejście. Jednak 
brak spawarki nie powinien ograniczać wyobraźni lecz powinien skłonić do 
jej "doinstalowania" jeśli to kwestia kliknięcia.

> Nie przekonałeś mnie :) Jak to nie będę miał bladego pojęcia?
> To chyba jakiś cud, że powstają strony o tysiącach podstron, skoro 
> twórcy nie mają pojęcia jak będzie wyglądała kolumna newsów...

Powstają metodą prób i błędów. Skąd wiesz czy np. najdłuższe 
dopuszczalne imię zmieści się w komórce tabeli o sztywno ustawionej 
szerokości 100px? A może będzie to 150px? Wtedy poprawiasz CSS, 
przesyłasz na serwer (jeśli lokalnie nie pracujesz), odświeżasz okno 
przeglądarki (jeśli to się da zrobić by widoku nie utracić), 
stwierdzasz, że jeszcze więcej px potrzeba, więc znów powtarzasz 
procedurę i tak do skutku aż trafisz.

Ja tymczasem preferuję przeciągnąć krawędź kolumny i na tym poprzestać. 
Mało tego, jeśli chodziłoby tylko o jedną wartość CSS, to pal sześć. Ale 
czasem chodzi o znacznie więcej: np. zmienić paddingi by ładniej 
wyglądało. Zmienić odstępy między wierszami itd. Coś tam dodać. Parę 
kliknięć i masz. W minutę całkiem złożone poprawki do CSS/HTML 
naniesiesz. A w metodzie prób i błędów kopiesz się z koniem dochodząc do 
tego samego rezultatu po 30 odświeżeniach, czyszczeniach cache 
przeglądarki i frameworka. W/g mnie do bani jest praca na poziomie 
kodera dla uzyskania efektów estetycznych.

To przykład - nie wyjeżdżaj z argumentacją o stosowaniu innych jednostek 
itp.

> Ośmielam się nie zgodzić.
> Wręcz przeciwnie, to co Ty proponujesz nie jest dobrą praktyką.
> Jak ktoś przejmie Twój projekt, to co? Jest skazany na nanoszenie 
> najdrobniejszej zmiany w 50 plikach? I tak za każdą zmianą? Jest skazany 
> na kupno DW?

Owszem, to też racja. Ale tego nie unikniesz. W poprzedniej firmie tak 
miałem. Projekt powstał w PHPStorm. W firmie praca była na NetBeansach. 
No i okazywało się, że np. foldowanie kodu było akceptowane ze składni 
PHPStorm ale nierzadko dziwnie działało (zwijało czasem część kodu). 
Jakiekolwiek poprawki wiązały się z koniecznością korekty tych miejsc bo 
inaczej kod stawał się kompletnie nieczytelny.

Skutek był taki, że podczas przebudowy projektu przez programistów 
tysiące plików musiały być poprawiane bo... poprzednicy używali PHPStorm.

> Każdy rzeźbi jak lubi :)
> Ja się przestraszyłem na samą myśl, żeby tak zrobić jakąś większą stronę.
> Np. jakiś sklep z 30 tysiącami produktów. 30 tysięcy podstron?
> No bez jaj :)

Heee... ciekawe, co piszesz. Miałem chyba ze 3 duże realizacje. W tym 
sklep z konfiguratorem, z wyszukiwarką o dynamicznie zmieniających się 
kryteriach itp. Produktów było ok 30-40 tys. z 3 kategorii (każda z nich 
określała inny zestaw cech produktu), a które to wiązały się między 
sobą. W tle API gadające z hurtowniami itd. Wszystko w DW. Szablonów 
włącznie z podszablonami było może kilka sztuk. Widoków z tego 
kilkadziesiąt. I konkretne zadanie - dodać statyczny przycisk w 
(statycznej) stopce wszystkich stron. Zaglądam więc po roku (bo już nie 
pamiętałem konstrukcji przedsięwzięcia) na stronę, "pokaż źródło", 
odczytuję nazwę użytego szablonu, otwieram ten szablon, dodaję powyższy 
guzik, wydaję polecenie "update" i w ciągu paru sekund poprawka 
naniesiona. Dokładnie tak samo jakbym używał SSI lub podobnych technik. 
A korzyść taka iż każdy jeden widok otrzymałem jako pełnowartościowy 
dokument HTML, który dało się wizualnie korygować bez stosowania metody 
prób i błędów.

-- 
Pozdrawiam,
Marek
Technical Details
Message-ID: <pv680u$6bj$1@node2.news.atman.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail
References: <pv45bb$8vm$1@node1.news.atman.pl> <e1vd3rwlb1yl.1qwmmqrtxl9ut.dlg@40tude.net> <pv5r8u$smv$1@node1.news.atman.pl> <5c16773c$0$488$65785112@news.neostrada.pl> <pv5u9f$vk9$1@node1.news.atman.pl> <5c1687c1$0$476$65785112@news.neostrada.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail
From: Marek S <precz@spamowi.com>
Newsgroups: pl.comp.lang.php
Subject: Re: PHPStorm - jak tworzyć wzorce HTML?
Date: Sun, 16 Dec 2018 20:11:23 +0100
Organization: ATMAN - ATM S.A.
Lines: 110
Message-ID: <pv680u$6bj$1@node2.news.atman.pl>
References: <pv45bb$8vm$1@node1.news.atman.pl> <e1vd3rwlb1yl.1qwmmqrtxl9ut.dlg@40tude.net> <pv5r8u$smv$1@node1.news.atman.pl> <5c16773c$0$488$65785112@news.neostrada.pl> <pv5u9f$vk9$1@node1.news.atman.pl> <5c1687c1$0$476$65785112@news.neostrada.pl>
NNTP-Posting-Host: 89-70-94-204.dynamic.chello.pl
Mime-Version: 1.0
X-Trace: node2.news.atman.pl 1544987486 6515 89.70.94.204 (16 Dec 2018 19:11:26 GMT)
X-Complaints-To: usenet@atman.pl
NNTP-Posting-Date: Sun, 16 Dec 2018 19:11:26 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.3.3
In-Reply-To: <5c1687c1$0$476$65785112@news.neostrada.pl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit