Jak pohodlně vyvíjet webové projekty

PHP Ostatní Jak pohodlně vyvíjet webové projekty

Jak již z názvu vyplývá, tento článek bude stručné shrnutí mých dosavadních poznatků, toho, jak mám řešené vývojové prostředí a jak tvořím weby.

Lokální WAMP server

Pokud chceme vytvořit web, budeme potřebovat lokální server. Představa, že každou změnu budeme nahrávat přes FTP klienta a zkoušet na webu je přímo děsivá. Snad ani nemusím zdůrazňovat, že je to jednak pomalé a tedy neefektivní a nedej bože, že by někoho napadlo ladit přímo life-situ.

Takže jako první krok, pokud jste tedy ještě neučinili, budete potřebovat rozjet onen WAMP server (Windows Apache Mysql PHP). Viz: Instalace XAMPP na Windows

Úprava lokálních DNS - doména prvního řádu

Líbí se vám obrázek výše? Jde o to, že ve svém CMS používám pretty url teda například davosovo/edit/clanek A kdybych to měl na localhostu a členěné do složek vypadalo by to například takto: localhost/SczCMS/edit/clanek A už bych musel modifikovat systém a osekávat parametry. Protože další projekty můžu mít například localhost/Projets/drbnito/edit/clanek Jistě si tedy dokážete představit jak neefektivní a pracné by to bylo pokaždé přepisovat a myslet na to. Proto si upravíme lokální DNS záznamy. Zjednodušeně jde o to, že zadáme URL například davosovo a IP adresu na kterou se má URL přesměrovat, jelikož my chceme přesměrovat na lokální počítač použijeme 127.0.0.1. Osobně to dělám tak, že pokud vyvíjím nějaký web tak si přidám záznam a až je hotový odlazaný a vím, že už ho nebudu předělávat, tak si záznam smažu, abych v tom pak neměl guláš. Ale samozřejmě to nevadí, záznamy se skládají přehledně pod sebe, takže jich můžete mít kolik jen chcete.

Jak to tedy provést?

Stiskněte Windows + R a zadejte: C:\Windows\System32\drivers\etc\ v tomto adresáři zeditujte soubor hosts například v notepadu (ale pozor, pokud máte zapnutý UAC potřebujete mít editor spuštění pod právy administrátora, jelikož Vista+ má systémový disk "chráněný" proti zápisu).

Obsah tohoto souboru by měl vypadat nějak takto:

# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
#      102.54.94.97     rhino.acme.com          # source server
#       38.25.63.10     x.acme.com              # x client host

# localhost name resolution is handled within DNS itself.
#       127.0.0.1       localhost
#       ::1             localhost
127.0.0.1 davosovo

A jak vidíte úplně dole, přidal jsem si tam vlastní záznam. Mřížka # znamená jednořádkový komentář. localhost je zakomentovaný, jelikož je to jakýsi standard a DNS ho automaticky zpracovává.

Zálohy na cloudu

Dříve než si nasměrujeme náš přidaný DNS záznam do nějakého adresáře, doporučuji založit si nějaký cloud, například: Dropbox Vaše zdrojáky se budou automaticky synchronizovat a verzovat. Budete k ním mít přístup odkudkoli a pokud je omylem smažete nebo něco pokazíte tak si můžete obnovit až 100 verzí zpět. Ve složce Dropbox si udělejte nějaký organizační pořádek. Já mám Programming\Language\Category.

Přesměrování apache do jiného adresáře

Najděte si složku s XAMPPem a otevřete konfigurační soubor apache: C:\xampp\apache\conf\httpd.conf

A tam si následujícím způsobem zařídíte přesměrování do daného adresáře:

<VirtualHost *:80>
ServerName http://localhost
DocumentRoot "C:\Users\David\Dropbox\Programming\PHP"
</VirtualHost>

<VirtualHost *:80>
ServerName http://davosovo
DocumentRoot "C:\Users\David\Dropbox\Programming\PHP\SczCMS"
</VirtualHost>

Můžete si to dát kam chcete, já to mám tuším někde hned ze začátku pod těmi komentáři. Ale když si tam pohledáte tak zjistíte, že je to vždycky: Komentáře - dokumentace (popis) jak co udělat, volné místo. A předpokládá se tedy, že tam se bude to pro co je v těch komentářích vysvětlivka psát.

IDE

Nyní přejdeme k IDE a jeho nastavení. IDE oproti editoru je mocný nástroj. Rozumí kódu, umožňuje nám refactoring, reformating, doplňování abstraktních metod, interfaců, zobrazování proměnných, které používáme, výpis popisků daných tříd/metod/pro­měnných, rychou orientaci v kódu a mnohé další. Což pokud to umíme naplno využívat nám velmi zefektivní práci. Na začátky ale doporučuji pracovat v editoru. Tak se daný jazyk velmi rychle naučíte. Mohu prozradit že první verze devbooku byly psané v Notepad++. Dělali jsme v tom asi 2 roky.

Já osobně jsem si oblíbil PHPStorm, kde jsem si podědil ovládání s VisualStudia, nastavil nějaké zkratky, tmavý vzhled, doplňování šablon záhlaví atp.

**Doporučuji si prolézt a ponastavovat***

  1. IDE Settings/Appe­arance/Theme -> Darcula (tmavý vzhled se světlým písmem - kódím třeba celý den a na oči je to ideálka)
  2. IDE Settings/File Templates -> Nastavení záhlaví (autor, kontakt), obsahu šablon etc
  3. Code style nastavení vašeho stylu psaní kódu - doporučuji nastavit, můžete si pak reformátovat jakýkoliv kód do vašeho stylu.
  4. File Encodings - UTF-8 (doporučuji nastavit DB, FTP, Editory - výchozím nastavení na stejné kódování a nejlépe na Unix, jinak s tím pak jsou problémy)

Vytvoření nového projektu

Prázdná složka, nebo složka s existujícími zdrojovými soubory

Propojení s SVN

Pokud děláte v týmu, tak jste určitě již zjistili nebo vám říkám, že zjistíte, že přes Dropbox to nejni až zas tak efektivní. Můžete si přepsat soubory (Dropbox vytvoří pro každého novou kopii s jeho jménem a pak musíte dohledávat změny). SVN nám umožňuje připsat komentář ke změnám, IDE nám pak ukáže rozdíly a můžeme s tím mnohem lépe pracovat.

Následující screenshoty snad řeknou vše :)

Pokud se vám pod pravým myšítkem u souborů a složek neobjeví po propojení s SVN možnost Subversion a nemůžete tedy commitovat změny. Udělejte prvně checkout.

Debugging webu

Jenom taká poznámečka na závěr. Až budete web ladit na prohlížečích, tak teď nedávno jsme zjistili, že v IE10 nefunguje simulační mód a v IE9 je to takové pofidérní. Museli jsme si zřídit virtuální stroj s XP, kde máme originál IE8. Protože ono to v tom simulačním módu IE8 u IE10, IE9 a originál IE8 vypadá občas úplně jinak :D

Obrázek je jen ilustrativního charakteru, nejni tam ukázána žádná chyba.

Tak to bude ode mne nejspíš vše.


 

  Aktivity (2)

Článek pro vás napsal David Jančík [sczdavos]
Avatar
Autor je vášnivý programátor v .NET C# a PHP. Nezná slovo "nelze", nebojí se zkoušet nepoznané a pronikat do nových technologií.

Jak se ti líbí článek?
Celkem (4 hlasů) :
4444 4


 



 

 

Komentáře
Zobrazit starší komentáře (19)

Avatar
gimeno
Člen
Avatar
gimeno:

„Nastavení záhlavý“ je zaujímavá vec.

Odpovědět  +1 1.2.2014 19:43
Programujem, teda som.
Avatar
Michal Žůrek (misaz):

nevíš proč, když jsem to udělal jako ty, tak Přesměrování apache do jiného adresáře hází 403? Je k tomu nějaký log s podrobnějšími informacemi?

Editováno 12.2.2014 19:21
Odpovědět 12.2.2014 19:20
Nesnáším {}, proto se jim vyhýbám.
Avatar
mkub
Redaktor
Avatar
mkub:

len taka poznamocka... podla tohoto nbavodu sa k tomu vyvijanemu webu neda dostat odnikial, iba z lokalneho PC, lebo zaznamy v subore hosts sa nikam nedistribuuju, plati iba pre localhost, ale ak by ten web mal platit pre lokalnu siet, tak su 2 moznosti:

  • doplnit zaznamy v subore hosts (casovo narocnejsie a neprakticke)
  • pouzit specializovany program na preklad domenovych adries na IP adresy (cistejsie riesenie, jednoduhsia sprava domen, ale narocnejsie na znalost o domenach)
 
Odpovědět 24.2.2014 6:36
Avatar
mkub
Redaktor
Avatar
Odpovídá na Michal Žůrek (misaz)
mkub:

pozri sa do logov XAMPP, v chybovom logu od Apache mas info, v com je chyba

 
Odpovědět 24.2.2014 6:37
Avatar
Odpovídá na mkub
Michal Žůrek (misaz):

z domácí sítě = všichni připojení na jedno stejné wi-fi. Jsem se na to dostal i z mobilu, když jsem potřeboval otestovat responzivní design. Prostě jsem napsal IP adresu mojeho notebooku (v mém případě to bylo myslím 192.168.0.101).

Mínuskuj si to jak chceš, sám jsem to použil sám vím.

Odpovědět 24.2.2014 6:44
Nesnáším {}, proto se jim vyhýbám.
Avatar
mkub
Redaktor
Avatar
Odpovídá na Michal Žůrek (misaz)
mkub:

myslim, ze si nepochopil, co je domena a co je IP adresa...
subor hosts, ako aj DNS system sluzi na preklad domen (nieco ako www.devbook.cz) na IP adresu (v tomto pripade 178.238.37.157)...
skus zadat v subore hosts toto:

127.0.0.1 www.devbook.cz

a skus nacitat nasledne adresu: www.devbook.cz
a presne toto robi aj DNS system, len s tym rozdielom, ze DNS system este aj tieto zaznamy poskytuje ostatnym zariadeniam v sieti, ale co sa tyka suboru hosts, tak ten plati iba v jednom zariadeni a ak by si mal siet zlozenu z 10-tych PC, tak by si musel urobit zmenu v hosts vo vsetkych

DNS system nevykonava prepojenie medzi PC, od toho su ine sluzby, DNS vykonava iba preklad domenoveho mena na IP adresu, tak, ako to robi aj subor hosts, ale pre celu siet, nie pre jedno PC

Editováno 24.2.2014 7:02
 
Odpovědět 24.2.2014 7:00
Avatar
mkub
Redaktor
Avatar
Odpovídá na Michal Žůrek (misaz)
mkub:

a vyhoda DNS je taka, ze nemusis si pamatat adresu 192.168.0.101, ale staci ti zadat napr.: http://misaz a si na svojej stranke,
http://projects - si na stranke projektov,...
a to nielen z lokalu, ale aj z mobilu pripojeneho k lokalnej wifi, alebo ineho zariadenia v sieti...

 
Odpovědět 24.2.2014 7:10
Avatar
youtubak777
Člen
Avatar
youtubak777:

Jsou nějaké PHP IDE zdarma ?

 
Odpovědět 1.9.2014 9:59
Avatar
Odpovídá na youtubak777
Neaktivní uživatel:

Netbeans :) nič lepšieho zdarma asi nenájdeš, prípadne požiadaj o študentskú licenciu PhpStormu. Otázka je či IDE skutočne potrebuješ.

Odpovědět  ±0 1.9.2014 10:21
Neaktivní uživatelský účet
Avatar
Honza Bittner
Redaktor
Avatar
Odpovídá na youtubak777
Honza Bittner:

Eclipse je také docela dobré... :)

Odpovědět 1.9.2014 14:43
Ptejte se mě na cokoli na https://github.com/HoBi/ama a followujte mě na Twitteru https://twitter.com/tenhobi. :-)
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 29. Zobrazit vše