{"id":3186,"date":"2021-10-12T15:31:52","date_gmt":"2021-10-12T13:31:52","guid":{"rendered":"https:\/\/visionslabs.io\/vyvoj-vo-wordpress-pomocou-docker-phpstorm\/"},"modified":"2021-10-12T15:31:55","modified_gmt":"2021-10-12T13:31:55","slug":"vyvoj-vo-wordpress-pomocou-docker-phpstorm","status":"publish","type":"post","link":"https:\/\/visionslabs.io\/sk\/vyvoj-vo-wordpress-pomocou-docker-phpstorm\/","title":{"rendered":"V\u00fdvoj vo WordPress pomocou Docker (+ PHPStorm)"},"content":{"rendered":"\n<p>V r\u00e1mci <a href=\"https:\/\/visionslabs.io\/sk\/sluzby\/tvorba-wordpress-pluginov\/\">v\u00fdvoja wordpress pluginu na mieru<\/a> sme museli rie\u0161i\u0165 nieko\u013eko ot\u00e1zok &#8211; ako si pripravi\u0165 pracovn\u00e9 prostredie, bude to efekt\u00edvna alebo \u010di to bude dlhodobo udr\u017eate\u013en\u00e9? To v\u0161etko sa pok\u00fasime zodpoveda\u0165 v&nbsp;tomto \u010dl\u00e1nku. <\/p>\n\n<h2 class=\"wp-block-heading\">Tvorba pluginu alebo \u0161abl\u00f3n<\/h2>\n\n<p>Po\u010fme si najsk\u00f4r rozobra\u0165 samotn\u00fa problematiku<strong>tvorby pluginov alebo aj \u0161abl\u00f3n<\/strong> pre <strong>WordPress<\/strong>. V&nbsp;z\u00e1klade je \u0161tandardn\u00e1 programovanie vo webov\u00fdch technol\u00f3gi\u00e1ch &#8211; ako je <strong>PHP, HTML, CSS<\/strong> a <strong>JS<\/strong>. S&nbsp;t\u00fdm, \u017ee aj <strong>WordPress<\/strong> sa neust\u00e1le vyv\u00edja, tak\u017ee okrem &#8222;zastaran\u00e9ho&#8220; <strong>jQuery<\/strong> pripadol v&nbsp;posledn\u00fdch verzi\u00e1ch <strong>React<\/strong> v&nbsp;r\u00e1mci svojho predvolen\u00e9ho editora <strong>Guttenberg<\/strong>. Tak\u017ee u\u017e nejde len o z\u00e1kladn\u00e9 technol\u00f3gie, ale aj o r\u00f4znorod\u00e9 frameworky. <\/p>\n\n<p>Aj samotn\u00e9 programovanie pluginov sa m\u00f4\u017ee l\u00ed\u0161i\u0165 vzh\u013eadom na ich rozsah, funk\u010dnosti at\u010f. M\u00f4\u017eete si teoreticky nap\u00edsa\u0165 kus PHP k\u00f3du do s\u00faboru functions.php v&nbsp;r\u00e1mci va\u0161ej \u0161abl\u00f3ny a u\u017e tomu m\u00f4\u017ee niekto hovori\u0165, \u017ee nap\u00edsal plugin. To je ale ve\u013emi &#8222;relat\u00edvnej&#8220; a sk\u00f4r to sl\u00fa\u017ei pre ve\u013emi jednoduch\u00e9 \u00fapravy &#8211; napr. zmeny limitu pre v\u00fdpo\u010det variantov vo WooCommerce. Pod\u013ea n\u00e1s ide hovori\u0165 o tvorbe pluginu a\u017e v&nbsp;okamih, kedy sa jedn\u00e1 o samostatn\u00fd plugin s&nbsp;vlastnou administr\u00e1ciou a vlastn\u00e9 funk\u010dnos\u0165ou. <\/p>\n\n<p>Tak\u017ee ak niekto chce za\u010da\u0165 s&nbsp;p\u00edsan\u00edm vlastn\u00fdch pluginov do <strong>WordPress<\/strong>, tak rozhodne odpor\u00fa\u010dame boilerplate gener\u00e1tor na str\u00e1nke &#8211; <a href=\"https:\/\/wppb.me\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/wppb.me\/<\/a>, kde si vypln\u00edte z\u00e1kladn\u00e9 inform\u00e1cie a potom v\u00e1m to vygeneruje <strong>z\u00e1kladn\u00fa \u0161trukt\u00faru WordPress pluginu<\/strong>, ktor\u00fd d\u00e1va hlavu a p\u00e4tu a pom\u00f4\u017ee v\u00e1m nap\u00edsa\u0165 v\u00e1\u0161 k\u00f3d. Za n\u00e1s m\u00f4\u017eeme ur\u010dite tento gener\u00e1tor odporu\u010di\u0165, preto\u017ee k\u00f3d je potom preh\u013eadn\u00fd a teoreticky by sa v&nbsp;\u0148om mohol \u013eahko zorientova\u0165 aj in\u00fd v\u00fdvoj\u00e1r.<\/p>\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-us_600_400\"><a ref=\"magnificPopup\" href=\"https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/05\/Tvorba-WordPress-pluginu-wppb.png\"><img decoding=\"async\" width=\"600\" height=\"316\" src=\"https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/05\/Tvorba-WordPress-pluginu-wppb-600x316.png\" alt=\"Tvorba WordPress pluginu - uk&#xE1;&#x17E;ka z gener&#xE1;tora WPPB\" class=\"wp-image-2967\" srcset=\"https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/05\/Tvorba-WordPress-pluginu-wppb-600x316.png 600w, https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/05\/Tvorba-WordPress-pluginu-wppb-300x158.png 300w, https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/05\/Tvorba-WordPress-pluginu-wppb-1024x540.png 1024w, https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/05\/Tvorba-WordPress-pluginu-wppb.png 1391w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/a><figcaption>Uk\u00e1\u017eka vyplnen\u00e9ho gener\u00e1tora pre WordPress plugin<\/figcaption><\/figure><\/div>\n\n<p>Ak by niekoho zauj\u00edmala e\u0161te viac &#8222;v\u00fdvoj\u00e1rska&#8220; cesta, napr. pre \u0161abl\u00f3nu, tak m\u00f4\u017eeme odk\u00e1za\u0165 na web <a href=\"https:\/\/roots.io\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/roots.io\/<\/a> s&nbsp;ich frameworkom <strong>Sage<\/strong>.<\/p>\n\n<h2 class=\"wp-block-heading\">Ako sa predt\u00fdm pripravovalo prostredie pre v\u00fdvoj?<\/h2>\n\n<p>Sk\u00f4r, aby sme si mohli pripravi\u0165 prostredie pre v\u00fdvoj wordpress pluginu, bolo potrebn\u00e9 ma\u0165 na svojom lok\u00e1lnom po\u010d\u00edta\u010di nain\u0161talovan\u00fd v\u0161etky potrebn\u00e9 technol\u00f3gie od <strong>PHP<\/strong> cez <strong>webov\u00fd server<\/strong> (typicky <strong>Apache<\/strong>) a\u017e po <strong>datab\u00e1zu<\/strong> (<strong>MySQL<\/strong>). Tento in\u0161tala\u010dn\u00fd \u010di inicializa\u010dn\u00fa proces sa u\u013eah\u010doval pomocou bal\u00ed\u010dkov, ktor\u00fd niesol skratku <strong>LAMP \/ XAMP \/<\/strong> MAMP &#8211; kde jednotliv\u00e9 p\u00edsmen\u00e1 zmanenaj\u00ed prostredie alebo softv\u00e9r &#8211; tak\u017ee <strong>L<\/strong> &#8211; linux, <strong>X<\/strong> &#8211; Windows \/ Linux \/ MacOS, <strong>M<\/strong> &#8211; MacOS. Zost\u00e1vaj\u00face p\u00edsmenk\u00e1 znamenaj\u00fa <strong>A<\/strong>pache, <strong>M<\/strong>ySQL a <strong>P<\/strong>HP. Tu je e\u0161te potrebn\u00e9 poveda\u0165, \u017ee t\u00e1to cesta je st\u00e1le platn\u00e1 a mnoho v\u00fdja\u0159\u016f ju vyu\u017e\u00edva, \u017ee m\u00e1 nain\u0161talovan\u00fd nejak\u00fd tak\u00fd bal\u00ed\u010dek a bez probl\u00e9mov funguj\u00fa. Jednotliv\u00e9 bal\u00edky n\u00e1jdete napriklad tu: <a href=\"https:\/\/www.mamp.info\/en\/mamp\/mac\/\" target=\"_blank\" rel=\"noreferrer noopener\">MAMP<\/a>, <a href=\"https:\/\/www.apachefriends.org\/index.html\">XAMP<\/a>.<\/p>\n\n<h2 class=\"wp-block-heading\">Ak\u00e1 je \u010fal\u0161ia cesta pre v\u00fdvoj?<\/h2>\n\n<p>Teraz si v\u0161ak pop\u00ed\u0161eme to hlavn\u00e9, o \u010dom je tento \u010dl\u00e1nok, a to ak\u00e1 je \u010fal\u0161ia cesta pre v\u00fdvojov\u00e9 prostredie na va\u0161om lok\u00e1lnom po\u010d\u00edta\u010di a t\u00e1 cesta sa vol\u00e1 v\u0161eobecne <strong>virtualiz\u00e1cie<\/strong>. Konkr\u00e9tne sa jedn\u00e1 o <strong>Docker<\/strong> &#8211; \u010do je open-source projekt, ktor\u00fd sa zaober\u00e1 virtualiz\u00e1ciou (<em>ak by sme to ve\u013emi zjednodu\u0161ili<\/em>).<\/p>\n\n<h3 class=\"wp-block-heading\">\u010co je to Docker?<\/h3>\n\n<p><strong>Docker<\/strong> je tie\u017e spolo\u010dnos\u0165, ktor\u00e1 sa star\u00e1 o svoj hlavn\u00fd produkt <strong>Docker<\/strong> &#8211; na ich webov\u00fdch str\u00e1nkach <a href=\"https:\/\/www.docker.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.docker.com\/<\/a> n\u00e1jdete z\u00e1kladn\u00e9 heslo &#8211; &#8222;<em>Accelerate how you build, share and run modern applications<\/em>&#8222;, \u010do by sa dalo vo\u013ene prelo\u017ei\u0165 ako \u017ee &#8222;<strong>zr\u00fdch\u013eujeme tvorbu, zdie\u013eanie a beh modern\u00fdch aplik\u00e1ci\u00ed<\/strong>&#8222;. Tak\u017ee okrem vyu\u017eitia pri v\u00fdvoji, tak technol\u00f3giu <strong>Docker<\/strong> m\u00f4\u017eeme pou\u017ei\u0165 aj pre samotn\u00fd beh na\u0161ich aplik\u00e1ci\u00ed pomocou tzv. &#8222;<em>Container<\/em>&#8220; &#8211; tieto kontajnery sl\u00fa\u017eia nie\u010do ako schr\u00e1nky, ktor\u00e9 m\u00f4\u017eete zapn\u00fa\u0165 \u010di vypn\u00fa\u0165 ke\u010f potrebujete (<em>build<\/em>) a pr\u00edpadne je v&nbsp;cloud slu\u017eb\u00e1ch &#8222;zasun\u00fa\u0165&#8220; kontajner a fungova\u0165 (<em>run<\/em>). <\/p>\n\n<p>Tak\u017ee ak potrebujete PHP ur\u010dit\u00e9 verzie, tak si ho sta\u010d\u00ed &#8222;len&#8220; zapn\u00fa\u0165 a u\u017e m\u00f4\u017eete fungova\u0165. Ak za chv\u00ed\u013eu chcete vysk\u00fa\u0161a\u0165 svoju aplik\u00e1ciu na inej verzii PHP, tak je to ot\u00e1zka nieko\u013eko chv\u00ed\u013e len zmenou v&nbsp;\u0161peci\u00e1lnej s\u00fabore &#8222;dockerfile&#8220;, kde si definujeme, \u010do chceme sp\u00fa\u0161\u0165a\u0165 a pr\u00edpadne si nastavi\u0165 jednotliv\u00e9 kontajnery.<\/p>\n\n<h3 class=\"wp-block-heading\">Ako na docker<\/h3>\n\n<p>Najprv je potrebn\u00e9 si <strong>Docker<\/strong> nain\u0161talova\u0165 &#8211; asi jedna z&nbsp;jednoduch\u0161\u00edch in\u0161tal\u00e1ci\u00ed je pomocou Docker destop &#8211; <a href=\"https:\/\/www.docker.com\/products\/docker-desktop\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.docker.com\/products\/docker-desktop<\/a> &#8211; \u010do je najr\u00fdchlej\u0161ia cesta k&nbsp;sprev\u00e1dzkovaniu Docker na va\u0161om po\u010d\u00edta\u010di. Mo\u017eno ho nain\u0161talova\u0165 ako na <strong>MacOS<\/strong>, <strong>Windows<\/strong>, tak aj <strong>Linux<\/strong> a obsahuje s\u00fa\u010dasne aj grafick\u00fa nadstavbu pre spr\u00e1vu <em>image<\/em> a <em>containers<\/em>. <\/p>\n\n<p>Na obr\u00e1zku ni\u017e\u0161ie m\u00f4\u017eete vidie\u0165, ako <strong>Docker desktop<\/strong> aplik\u00e1cia m\u00f4\u017ee vyzera\u0165. Tu je samozrejme u\u017e v&nbsp;stave, kedy obsahuje nejak\u00e9 <em>images<\/em>.<\/p>\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-us_600_400\"><a ref=\"magnificPopup\" href=\"https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/06\/Docker-desktop-.png\"><img decoding=\"async\" width=\"600\" height=\"348\" src=\"https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/06\/Docker-desktop--600x348.png\" alt=\"docker desktop\" class=\"wp-image-2982\" srcset=\"https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/06\/Docker-desktop--600x348.png 600w, https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/06\/Docker-desktop--300x174.png 300w, https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/06\/Docker-desktop--1024x593.png 1024w, https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/06\/Docker-desktop-.png 1263w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/a><figcaption>Uk\u00e1\u017eka ako m\u00f4\u017ee vyzera\u0165 docker desktop aplik\u00e1cie, ke\u010f m\u00e1te nejak\u00e9 images<\/figcaption><\/figure><\/div>\n\n<h3 class=\"wp-block-heading\">Konfigura\u010dn\u00fd s\u00fabor docker-compose<\/h3>\n\n<p>Potom je potrebn\u00e9 konfigura\u010dn\u00fd s\u00fabor, v&nbsp;ktorom si zadefinujeme, \u010do vlastne chceme spusti\u0165 v&nbsp;kontajneroch. Tak\u00fdto konfigura\u010dn\u00fd s\u00fabor sa vol\u00e1 &#8222;docker-compose.yml&#8220;, je potrebn\u00e9 dodr\u017eiava\u0165 presn\u00e9 pomenovanie. Potom e\u0161te za zmienku stoj\u00ed, \u017ee s\u00fabor docker-compose je p\u00edsan\u00fd vo zna\u010dkovacom jazyku Yamli &#8211; kde je d\u00f4le\u017eit\u00e1 ve\u013ekos\u0165 odsadenie textu. Tento s\u00fabor docker-Compose mus\u00ed obsahova\u0165 nieko\u013eko vec\u00ed a to je:<\/p>\n\n<ul class=\"wp-block-list\"><li><strong>version<\/strong> &#8211; \u010d\u00edseln\u00e9 ozna\u010denie verzie s\u00fabor (preva\u017enej u\u017eito\u010dn\u00e9, ke\u010f s\u00fabor zdie\u013eate a chcete ma\u0165 istotu, \u017ee v\u0161etci &#8222;z\u00fa\u010dastnen\u00ed&#8220; pou\u017e\u00edvaj\u00fa rovnak\u00fa verziu)<\/li><li><strong>services<\/strong> &#8211; ozna\u010denie jednotliv\u00fdch slu\u017eieb, ktor\u00e9 chcete spusti\u0165<\/li><li><strong>jednotliv\u00e9 slu\u017eby<\/strong> &#8211; ako je napr\u00edklad v&nbsp;uk\u00e1\u017eke ni\u017e\u0161ie slu\u017eba &#8211; <strong>wordpress<\/strong>, ktor\u00e1 m\u00e1 nejak\u00e9 meno taktie\u017e &#8222;wordpress&#8220;, z\u00e1vis\u00ed na in\u00e9 slu\u017ebe &#8222;db&#8220; a m\u00e1 nejak\u00e1 z\u00e1kladn\u00e9 imid\u017e a z\u00e1rove\u0148 obsahuje pr\u00edkaz build (<em>pomocou dockerfile<\/em>), ktor\u00e1 upravuje z\u00e1kladn\u00e9 imid\u017e do na\u0161ej po\u017eadovanej podoby, tie\u017e je d\u00f4le\u017eit\u00e9 premapovanie portov (<em>aby extern\u00fd port 8082 fungoval ako intern\u00fd port 80<\/em>) &#8211; alias aby sme mohli pou\u017e\u00edva\u0165 viac tak\u00fdchto cointeiner\u016f s\u00fa\u010dasne a z\u00e1rove\u0148 nepou\u017e\u00edvali v\u0161etci rovnak\u00e9 porty (<em>napr. port 80<\/em>)<\/li><\/ul>\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-us_600_400\"><a ref=\"magnificPopup\" href=\"https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/06\/Docker-docker-compose.png\"><img decoding=\"async\" width=\"500\" height=\"400\" src=\"https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/06\/Docker-docker-compose-500x400.png\" alt=\"docker - docker-compose\" class=\"wp-image-2979\" srcset=\"https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/06\/Docker-docker-compose-500x400.png 500w, https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/06\/Docker-docker-compose-300x240.png 300w, https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/06\/Docker-docker-compose-1024x819.png 1024w, https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/06\/Docker-docker-compose.png 1091w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><\/a><figcaption>Docker &#8211; docker-compose s\u00fabor<\/figcaption><\/figure><\/div>\n\n<p>\u010eal\u0161ou d\u00f4le\u017eitou s\u00fa\u010das\u0165ou s\u00faboru docker-compose.yml s\u00fa volumes, kedy m\u00f4\u017eeme jednotliv\u00fdm slu\u017eb\u00e1m ur\u010di\u0165 s\u00fabory a prie\u010dinky. Napr\u00edklad pr\u00edkaz &#8211; &#8222;<em>.\/wordpress:\/var\/www\/html<\/em>&#8220; upravuje, \u017ee zlo\u017eka v&nbsp;kontajneri &#8222;<em>\/var\/www\/html<\/em>&#8220; bude presmerovan\u00e1 na n\u00e1\u0161 lok\u00e1lny po\u010d\u00edta\u010d do zlo\u017eky &#8222;<em>wordpress<\/em>&#8220; &#8211; t\u00fdm si m\u00f4\u017eeme jednoducho zabezpe\u010di\u0165, \u017ee zdrojov\u00e9 k\u00f3dy cel\u00e9ho WP bud\u00fa na na\u0161om lok\u00e1lnej po\u010d\u00edta\u010di nie s\u00fa\u010das\u0165ou kontajnerov, resp. jeho jednej slu\u017eby. M\u00e1 to napr\u00edklad t\u00fa v\u00fdhodu, \u017ee pri tom, ke\u010f si napoj\u00edme v&nbsp;na\u0161om IDE cestu pre WP, n\u00e1m t\u00fdm p\u00e1dom bude v\u017edy s\u00fahlasi\u0165 verzia pou\u017eit\u00e9ho WP v&nbsp;kontajneri, tak aj v&nbsp;na\u0161om IDE pri p\u00edsan\u00ed vlastn\u00e9ho pluginu. <\/p>\n\n<p>Podobe si m\u00f4\u017eeme takto &#8222;pomocou&#8220; s&nbsp;konfigura\u010dn\u00fdmi s\u00fabormi pre nastavenie webov\u00e9ho servera, napr. <strong>uploads.ini<\/strong> alebo <strong>xdebug.ini<\/strong>, kedy jednoducho op\u00e4\u0165 zad\u00e1me pr\u00edkazy:<\/p>\n\n<ul class=\"wp-block-list\"><li><em>&#8211; .\/uploads.ini:\/usr\/local\/etc\/php\/conf.d\/uploads.ini <\/em><\/li><li><em>&#8211; .\/xdebug.ini:\/usr\/local\/etc\/php\/conf.d\/xdebug.ini<\/em><\/li><\/ul>\n\n<p>Uk\u00e1\u017eku nastavenie t\u00fdchto s\u00faborov m\u00f4\u017eete vidie\u0165 na obr\u00e1zku ni\u017e\u0161ie. E\u0161te tu tie\u017e m\u00f4\u017eete vidie\u0165 s\u00fabor dockerfile, ktor\u00fd sme spom\u00ednali u\u017e sk\u00f4r. Ide o s\u00fabor, ktor\u00fdm upravujeme z\u00e1kladn\u00e9 imid\u017e pod\u013ea na\u0161ich predst\u00e1v. V&nbsp;tomto pr\u00edpade upravujeme WordPress image o nasleduj\u00face pr\u00edkazy tak, aby sme umo\u017enili debugovania n\u00e1\u0161ho k\u00f3du, ktor\u00fd pobe\u017e\u00ed v&nbsp;kontajneri.<\/p>\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-us_600_400\"><a ref=\"magnificPopup\" href=\"https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/05\/Docker-files-WordPress.png\"><img decoding=\"async\" width=\"498\" height=\"400\" src=\"https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/05\/Docker-files-WordPress-498x400.png\" alt=\"docker - files - wordpress\" class=\"wp-image-2976\" srcset=\"https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/05\/Docker-files-WordPress-498x400.png 498w, https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/05\/Docker-files-WordPress-300x241.png 300w, https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/05\/Docker-files-WordPress-1024x822.png 1024w, https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/05\/Docker-files-WordPress.png 1087w\" sizes=\"(max-width: 498px) 100vw, 498px\" \/><\/a><figcaption>Docker &#8211; \u010fal\u0161ie nastavenia pomocou \u010fal\u0161\u00edch s\u00faborov (dockerfile, xdebug.ini a uploads.ini)<\/figcaption><\/figure><\/div>\n\n<p>Ak m\u00e1me v\u0161etko pripraven\u00e9, tak m\u00f4\u017eeme v&nbsp;zlo\u017eke, kde m\u00e1me docker-compose.yml, zada\u0165 pr\u00edkaz do pr\u00edkazov\u00e9ho riadku &#8222;docker-compose up&#8220;. Alebo ak u\u017e m\u00e1me otvoren\u00e9 IDE, ktor\u00e1 rozpozn\u00e1, \u017ee m\u00e1me pripraven\u00fd tento s\u00fabor, tak jednoducho spusti\u0165 docker. Po spusten\u00ed uvid\u00edme, \u010di sa n\u00e1m spr\u00e1vne v\u0161etky slu\u017eby pustili. V&nbsp;pr\u00edpade WordPress m\u00f4\u017eeme sk\u00fasi\u0165 zada\u0165 ich URL &#8211; v&nbsp;na\u0161om pr\u00edpade <em>http:\/\/localhost:8082<\/em>.<\/p>\n\n<h2 class=\"wp-block-heading\">XDebug a ladenie WordPress pluginu<\/h2>\n\n<p>Ke\u010f u\u017e sme pri v\u00fdvoja tak, sa pozrieme aj na <strong>XDebug<\/strong> pre ladenie PHP k\u00f3du. Debugovania ur\u010dite vyu\u017eijeme pri tvorbe vlastnej \u0161abl\u00f3n alebo pluginu pre WordPress. Prv\u00e1 \u010das\u0165 sme si u\u017e pripravili pri nastavovan\u00ed kontajnera v&nbsp;Docker, tak\u017ee z&nbsp;h\u013eadiska &#8222;servera&#8220; by sme to mali ma\u0165 pripraven\u00e9 a teraz je potrebn\u00e9 sa pripravi\u0165 na strane n\u00e1\u0161ho v\u00fdvojov\u00e9ho prostredia. V&nbsp;na\u0161om uk\u00e1\u017ekovom pr\u00edklade budeme ukazova\u0165 printscreen z&nbsp;IDE PHPStorm. <\/p>\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-us_600_400\"><a ref=\"magnificPopup\" href=\"https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/06\/PHPStorm-docker-xdebug-settings-1.png\"><img decoding=\"async\" width=\"600\" height=\"373\" src=\"https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/06\/PHPStorm-docker-xdebug-settings-1-600x373.png\" alt=\"PHPStorm - docker - xdebug - settings 1\" class=\"wp-image-2988\" srcset=\"https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/06\/PHPStorm-docker-xdebug-settings-1-600x373.png 600w, https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/06\/PHPStorm-docker-xdebug-settings-1-300x186.png 300w, https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/06\/PHPStorm-docker-xdebug-settings-1-1024x637.png 1024w, https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/06\/PHPStorm-docker-xdebug-settings-1.png 1036w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/a><figcaption>Vytvorenie nov\u00e9ho debug konfigur\u00e1cia<\/figcaption><\/figure><\/div>\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-us_600_400\"><a ref=\"magnificPopup\" href=\"https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/06\/PHPStorm-docker-xdebug-settings-2.png\"><img decoding=\"async\" width=\"600\" height=\"329\" src=\"https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/06\/PHPStorm-docker-xdebug-settings-2-600x329.png\" alt=\"PHPStorm - docker - xdebug - settings 2\" class=\"wp-image-2985\" srcset=\"https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/06\/PHPStorm-docker-xdebug-settings-2-600x329.png 600w, https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/06\/PHPStorm-docker-xdebug-settings-2-300x164.png 300w, https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/06\/PHPStorm-docker-xdebug-settings-2.png 904w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/a><figcaption>V \u010fal\u0161om kroku donastav\u00edme &#8211; resp. namapujete cesty a porty<\/figcaption><\/figure><\/div>\n\n<p>Ak sa n\u00e1m podar\u00ed v\u0161etko spr\u00e1vne nastavi\u0165, pod\u013ea obr\u00e1zkov vy\u0161\u0161ie a pust\u00edme &#8222;run debug&#8220;, nastav\u00edme breakpoint. N\u00e1sledne sa dostaneme v&nbsp;na\u0161om WordPress o miesto, ktor\u00e9 m\u00e1me ozna\u010den\u00e9 Breakpoint, tak sa dostaneme do podobn\u00e9ho stavu ako na obr\u00e1zku ni\u017e\u0161ie.<\/p>\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-us_600_400\"><a ref=\"magnificPopup\" href=\"https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/06\/PHPStorm-xdebug-done.png\"><img decoding=\"async\" width=\"580\" height=\"400\" src=\"https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/06\/PHPStorm-xdebug-done-580x400.png\" alt=\"PHPStorm - xdebug - done\" class=\"wp-image-2991\" srcset=\"https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/06\/PHPStorm-xdebug-done-580x400.png 580w, https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/06\/PHPStorm-xdebug-done-300x207.png 300w, https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/06\/PHPStorm-xdebug-done-1024x707.png 1024w, https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/06\/PHPStorm-xdebug-done.png 1397w\" sizes=\"(max-width: 580px) 100vw, 580px\" \/><\/a><figcaption>\u00daspe\u0161n\u00e9 &#8222;zastavenie&#8220; na na\u0161om Breakpoint v&nbsp;na\u0161om wordpress pluginu<\/figcaption><\/figure><\/div>\n\n<h2 class=\"wp-block-heading\"> Ak\u00e9 IDE pou\u017e\u00edva\u0165?<\/h2>\n\n<div class=\"wp-block-image\"><figure class=\"alignright size-thumbnail\"><img decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/06\/vs-code-logo-150x150.png\" alt=\"MS visual studio code\" class=\"wp-image-2997\" srcset=\"https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/06\/vs-code-logo-150x150.png 150w, https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/06\/vs-code-logo-300x300.png 300w, https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/06\/vs-code-logo-1024x1024.png 1024w, https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/06\/vs-code-logo-400x400.png 400w, https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/06\/vs-code-logo.png 1200w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><figcaption>VS code<\/figcaption><\/figure><\/div>\n\n<p>Na z\u00e1ver by sme sa chcu e\u0161te zmieni\u0165 o v\u00fdvojov\u00fdch prostrediach, resp. IDE &#8211; ktor\u00e9 nie je zl\u00e9 pou\u017e\u00edva\u0165 a ktor\u00e9 pou\u017e\u00edvame, ke\u010f p\u00ed\u0161eme <a href=\"https:\/\/visionslabs.io\/sk\/sluzby\/tvorba-wordpress-pluginov\/\">vlastn\u00e9 wordpress pluginy.<\/a><\/p>\n\n<h3 class=\"wp-block-heading\">MS Visual Studio Code<\/h3>\n\n<p>Prv\u00fdm korkom, ktor\u00fd m\u00f4\u017eeme odporu\u010di\u0165, je<strong>MS Visual Studio Code<\/strong> &#8211; s\u00edce sme prekvapen\u00ed, \u017ee odpor\u00fa\u010dame aplik\u00e1ciu od spolo\u010dnosti Microsoft &#8211; ale je to tak, t\u00e1to aplik\u00e1cia je \u0161pi\u010dkov\u00e1 a neust\u00e1le udr\u017eiavan\u00e1. A hlavne je zdarma. S\u0165ahova\u0165 m\u00f4\u017eete na adrese<a href=\"https:\/\/code.visualstudio.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/code.visualstudio.com\/<\/a> a to ako na platformy Win, tak MacOS, tak i Linux. <\/p>\n\n<h3 class=\"wp-block-heading\">PHPStorm<\/h3>\n\n<div class=\"wp-block-image\"><figure class=\"alignright size-thumbnail\"><img decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/06\/phpstorm-logo-150x150.png\" alt=\"PHPStorm\" class=\"wp-image-2994\" srcset=\"https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/06\/phpstorm-logo-150x150.png 150w, https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/06\/phpstorm-logo-300x300.png 300w, https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/06\/phpstorm-logo-1024x1024.png 1024w, https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/06\/phpstorm-logo-400x400.png 400w, https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/06\/phpstorm-logo.png 2000w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><figcaption>PHPStorm<\/figcaption><\/figure><\/div>\n\n<p>\u010eal\u0161\u00edm z\u00e1stupcom, o ktorom sa chceme spomen\u00fa\u0165, je <strong>PHPStorm<\/strong> od spolo\u010dnosti JetBrains (s\u00eddliacej v&nbsp;\u010cR). S\u00edce sa jedn\u00e1 o platen\u00fd IDE, ale jedn\u00e1 sa o kompletn\u00e9 v\u00fdvojov\u00e9 prostredie, ktor\u00e9 v\u00e1m pom\u00f4\u017ee tak z&nbsp;PHP, tak z&nbsp;HTML \u010di CSS a JS. Proste v\u0161etky webov\u00e9 technol\u00f3gie spolu s&nbsp;ovl\u00e1dan\u00edm Docker alebo pr\u00e1cu s&nbsp;Gite. S\u0165ahova\u0165 trial verziu alebo si zak\u00fapi\u0165 toto IDE m\u00f4\u017eete na adrese <a href=\"https:\/\/www.jetbrains.com\/phpstorm\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.jetbrains.com\/phpstorm\/<\/a>. Pre n\u00e1s m\u00e1 e\u0161te \u010fal\u0161iu v\u00fdhodu a to t\u00fa, \u017ee v\u00fdvojov\u00e9 prostredie je rovnak\u00e9 aj v&nbsp;Android \u0160t\u00fadiu &#8211; ktor\u00e9 je tie\u017e polo\u017een\u00e9 na z\u00e1kladoch IDE od JetBrains, a t\u00fdm p\u00e1dom sa jedn\u00e1 o jednotn\u00e9 ovl\u00e1danie a pou\u017e\u00edvanie, \u010do n\u00e1m u\u013eah\u010duje pr\u00e1cu, ke\u010f chv\u00ed\u013eu rie\u0161ime WP pluginy a chv\u00ed\u013eu Android aplik\u00e1cie.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>V r\u00e1mci v\u00fdvoja wordpress pluginu na mieru sme museli rie\u0161i\u0165 nieko\u013eko ot\u00e1zok &#8211; ako si pripravi\u0165 pracovn\u00e9 prostredie, bude to efekt\u00edvna alebo \u010di to bude dlhodobo udr\u017eate\u013en\u00e9? To v\u0161etko sa pok\u00fasime zodpoveda\u0165 v&nbsp;tomto \u010dl\u00e1nku. Tvorba pluginu alebo \u0161abl\u00f3n Po\u010fme si najsk\u00f4r rozobra\u0165 samotn\u00fa problematikutvorby pluginov alebo aj \u0161abl\u00f3n pre WordPress. V&nbsp;z\u00e1klade je \u0161tandardn\u00e1 programovanie vo&#8230;<\/p>\n","protected":false},"author":1,"featured_media":3002,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[295,193],"tags":[298,302,304,300,303,299,296,297,301],"class_list":["post-3186","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-wordpress-pluginy-sk","category-zaujimavosti","tag-docker-sk","tag-ide-sk","tag-php-sk","tag-phpstorm-sk","tag-virtualizacia","tag-vs-code-sk","tag-wordpress-sk","tag-wordpress-plugin-sk","tag-xdebug-sk"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>V\u00fdvoj vo WordPress pomocou Docker (+ PHPStorm) - visionslabs<\/title>\n<meta name=\"description\" content=\"V \u010dl\u00e1nku si rozoberieme v\u00fdvoj wordpress pluginu pomocou Docker resp. ako si pripravi\u0165 modern\u00e9 v\u00fdvojov\u00e9 prostredie. Uk\u00e1\u017eky v PHPStorm s XDebug.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/visionslabs.io\/sk\/vyvoj-vo-wordpress-pomocou-docker-phpstorm\/\" \/>\n<meta property=\"og:locale\" content=\"sk_SK\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"V\u00fdvoj vo WordPress pomocou Docker (+ PHPStorm) - visionslabs\" \/>\n<meta property=\"og:description\" content=\"V \u010dl\u00e1nku si rozoberieme v\u00fdvoj wordpress pluginu pomocou Docker resp. ako si pripravi\u0165 modern\u00e9 v\u00fdvojov\u00e9 prostredie. Uk\u00e1\u017eky v PHPStorm s XDebug.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/visionslabs.io\/sk\/vyvoj-vo-wordpress-pomocou-docker-phpstorm\/\" \/>\n<meta property=\"og:site_name\" content=\"visionslabs\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/facebook.com\/visionslabs\/\" \/>\n<meta property=\"article:published_time\" content=\"2021-10-12T13:31:52+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-10-12T13:31:55+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/06\/visionslabs-Vyvoj-ve-WordPressu-pomoci-Docker-a-PHPStorm.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Leopold Podmol\u00edk\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@visionslabs\" \/>\n<meta name=\"twitter:site\" content=\"@visionslabs\" \/>\n<meta name=\"twitter:label1\" content=\"Autor\" \/>\n\t<meta name=\"twitter:data1\" content=\"Leopold Podmol\u00edk\" \/>\n\t<meta name=\"twitter:label2\" content=\"Predpokladan\u00fd \u010das \u010d\u00edtania\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 min\u00fat\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/visionslabs.io\/sk\/vyvoj-vo-wordpress-pomocou-docker-phpstorm\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/visionslabs.io\/sk\/vyvoj-vo-wordpress-pomocou-docker-phpstorm\/\"},\"author\":{\"name\":\"Leopold Podmol\u00edk\",\"@id\":\"https:\/\/visionslabs.io\/sk\/#\/schema\/person\/8002ebaef6052f50e66a94371d7764c9\"},\"headline\":\"V\u00fdvoj vo WordPress pomocou Docker (+ PHPStorm)\",\"datePublished\":\"2021-10-12T13:31:52+00:00\",\"dateModified\":\"2021-10-12T13:31:55+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/visionslabs.io\/sk\/vyvoj-vo-wordpress-pomocou-docker-phpstorm\/\"},\"wordCount\":1936,\"publisher\":{\"@id\":\"https:\/\/visionslabs.io\/sk\/#organization\"},\"image\":{\"@id\":\"https:\/\/visionslabs.io\/sk\/vyvoj-vo-wordpress-pomocou-docker-phpstorm\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/06\/visionslabs-Vyvoj-ve-WordPressu-pomoci-Docker-a-PHPStorm.png\",\"keywords\":[\"Docker\",\"IDE\",\"PHP\",\"PHPStorm\",\"Virtualiz\u00e1cia\",\"VS Code\",\"WordPress\",\"WordPress plugin\",\"XDebug\"],\"articleSection\":[\"WordPress pluginy\",\"Zauj\u00edmavosti\"],\"inLanguage\":\"sk-SK\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/visionslabs.io\/sk\/vyvoj-vo-wordpress-pomocou-docker-phpstorm\/\",\"url\":\"https:\/\/visionslabs.io\/sk\/vyvoj-vo-wordpress-pomocou-docker-phpstorm\/\",\"name\":\"V\u00fdvoj vo WordPress pomocou Docker (+ PHPStorm) - visionslabs\",\"isPartOf\":{\"@id\":\"https:\/\/visionslabs.io\/sk\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/visionslabs.io\/sk\/vyvoj-vo-wordpress-pomocou-docker-phpstorm\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/visionslabs.io\/sk\/vyvoj-vo-wordpress-pomocou-docker-phpstorm\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/06\/visionslabs-Vyvoj-ve-WordPressu-pomoci-Docker-a-PHPStorm.png\",\"datePublished\":\"2021-10-12T13:31:52+00:00\",\"dateModified\":\"2021-10-12T13:31:55+00:00\",\"description\":\"V \u010dl\u00e1nku si rozoberieme v\u00fdvoj wordpress pluginu pomocou Docker resp. ako si pripravi\u0165 modern\u00e9 v\u00fdvojov\u00e9 prostredie. Uk\u00e1\u017eky v PHPStorm s XDebug.\",\"breadcrumb\":{\"@id\":\"https:\/\/visionslabs.io\/sk\/vyvoj-vo-wordpress-pomocou-docker-phpstorm\/#breadcrumb\"},\"inLanguage\":\"sk-SK\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/visionslabs.io\/sk\/vyvoj-vo-wordpress-pomocou-docker-phpstorm\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"sk-SK\",\"@id\":\"https:\/\/visionslabs.io\/sk\/vyvoj-vo-wordpress-pomocou-docker-phpstorm\/#primaryimage\",\"url\":\"https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/06\/visionslabs-Vyvoj-ve-WordPressu-pomoci-Docker-a-PHPStorm.png\",\"contentUrl\":\"https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/06\/visionslabs-Vyvoj-ve-WordPressu-pomoci-Docker-a-PHPStorm.png\",\"width\":1200,\"height\":630,\"caption\":\"V\u00fdvoj ve WordPressu pomoc\u00ed Docker a PHPStorm\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/visionslabs.io\/sk\/vyvoj-vo-wordpress-pomocou-docker-phpstorm\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/visionslabs.io\/sk\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"V\u00fdvoj vo WordPress pomocou Docker (+ PHPStorm)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/visionslabs.io\/sk\/#website\",\"url\":\"https:\/\/visionslabs.io\/sk\/\",\"name\":\"visionslabs\",\"description\":\"Digit\u00e1ln\u00ed studio visionslabs se zab\u00fdv\u00e1 tvorbou web\u016f, aplikac\u00ed a digit\u00e1ln\u00edm marketingem\",\"publisher\":{\"@id\":\"https:\/\/visionslabs.io\/sk\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/visionslabs.io\/sk\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"sk-SK\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/visionslabs.io\/sk\/#organization\",\"name\":\"VisionsLabs - Po\u010d\u00edta\u010dov\u00e1 slu\u017eba s.r.o.\",\"url\":\"https:\/\/visionslabs.io\/sk\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"sk-SK\",\"@id\":\"https:\/\/visionslabs.io\/sk\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/visionslabs.io\/wp-content\/uploads\/2020\/07\/visionslabs-logo-icon-1.svg\",\"contentUrl\":\"https:\/\/visionslabs.io\/wp-content\/uploads\/2020\/07\/visionslabs-logo-icon-1.svg\",\"width\":317,\"height\":90,\"caption\":\"VisionsLabs - Po\u010d\u00edta\u010dov\u00e1 slu\u017eba s.r.o.\"},\"image\":{\"@id\":\"https:\/\/visionslabs.io\/sk\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/facebook.com\/visionslabs\/\",\"https:\/\/x.com\/visionslabs\",\"https:\/\/www.instagram.com\/visionslabs\/\",\"https:\/\/www.linkedin.com\/company\/visionslabs\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/visionslabs.io\/sk\/#\/schema\/person\/8002ebaef6052f50e66a94371d7764c9\",\"name\":\"Leopold Podmol\u00edk\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"sk-SK\",\"@id\":\"https:\/\/visionslabs.io\/sk\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/61ff2dad8ddeb5d3d6cda0cb4b861bb91797c98c4da6550c31c087557182e89f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/61ff2dad8ddeb5d3d6cda0cb4b861bb91797c98c4da6550c31c087557182e89f?s=96&d=mm&r=g\",\"caption\":\"Leopold Podmol\u00edk\"},\"description\":\"CTO - dealing with both development and digital marketing\",\"sameAs\":[\"https:\/\/visionslabs.io\"],\"url\":\"https:\/\/visionslabs.io\/sk\/author\/admn_podmolik\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"V\u00fdvoj vo WordPress pomocou Docker (+ PHPStorm) - visionslabs","description":"V \u010dl\u00e1nku si rozoberieme v\u00fdvoj wordpress pluginu pomocou Docker resp. ako si pripravi\u0165 modern\u00e9 v\u00fdvojov\u00e9 prostredie. Uk\u00e1\u017eky v PHPStorm s XDebug.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/visionslabs.io\/sk\/vyvoj-vo-wordpress-pomocou-docker-phpstorm\/","og_locale":"sk_SK","og_type":"article","og_title":"V\u00fdvoj vo WordPress pomocou Docker (+ PHPStorm) - visionslabs","og_description":"V \u010dl\u00e1nku si rozoberieme v\u00fdvoj wordpress pluginu pomocou Docker resp. ako si pripravi\u0165 modern\u00e9 v\u00fdvojov\u00e9 prostredie. Uk\u00e1\u017eky v PHPStorm s XDebug.","og_url":"https:\/\/visionslabs.io\/sk\/vyvoj-vo-wordpress-pomocou-docker-phpstorm\/","og_site_name":"visionslabs","article_publisher":"https:\/\/facebook.com\/visionslabs\/","article_published_time":"2021-10-12T13:31:52+00:00","article_modified_time":"2021-10-12T13:31:55+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/06\/visionslabs-Vyvoj-ve-WordPressu-pomoci-Docker-a-PHPStorm.png","type":"image\/png"}],"author":"Leopold Podmol\u00edk","twitter_card":"summary_large_image","twitter_creator":"@visionslabs","twitter_site":"@visionslabs","twitter_misc":{"Autor":"Leopold Podmol\u00edk","Predpokladan\u00fd \u010das \u010d\u00edtania":"10 min\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/visionslabs.io\/sk\/vyvoj-vo-wordpress-pomocou-docker-phpstorm\/#article","isPartOf":{"@id":"https:\/\/visionslabs.io\/sk\/vyvoj-vo-wordpress-pomocou-docker-phpstorm\/"},"author":{"name":"Leopold Podmol\u00edk","@id":"https:\/\/visionslabs.io\/sk\/#\/schema\/person\/8002ebaef6052f50e66a94371d7764c9"},"headline":"V\u00fdvoj vo WordPress pomocou Docker (+ PHPStorm)","datePublished":"2021-10-12T13:31:52+00:00","dateModified":"2021-10-12T13:31:55+00:00","mainEntityOfPage":{"@id":"https:\/\/visionslabs.io\/sk\/vyvoj-vo-wordpress-pomocou-docker-phpstorm\/"},"wordCount":1936,"publisher":{"@id":"https:\/\/visionslabs.io\/sk\/#organization"},"image":{"@id":"https:\/\/visionslabs.io\/sk\/vyvoj-vo-wordpress-pomocou-docker-phpstorm\/#primaryimage"},"thumbnailUrl":"https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/06\/visionslabs-Vyvoj-ve-WordPressu-pomoci-Docker-a-PHPStorm.png","keywords":["Docker","IDE","PHP","PHPStorm","Virtualiz\u00e1cia","VS Code","WordPress","WordPress plugin","XDebug"],"articleSection":["WordPress pluginy","Zauj\u00edmavosti"],"inLanguage":"sk-SK"},{"@type":"WebPage","@id":"https:\/\/visionslabs.io\/sk\/vyvoj-vo-wordpress-pomocou-docker-phpstorm\/","url":"https:\/\/visionslabs.io\/sk\/vyvoj-vo-wordpress-pomocou-docker-phpstorm\/","name":"V\u00fdvoj vo WordPress pomocou Docker (+ PHPStorm) - visionslabs","isPartOf":{"@id":"https:\/\/visionslabs.io\/sk\/#website"},"primaryImageOfPage":{"@id":"https:\/\/visionslabs.io\/sk\/vyvoj-vo-wordpress-pomocou-docker-phpstorm\/#primaryimage"},"image":{"@id":"https:\/\/visionslabs.io\/sk\/vyvoj-vo-wordpress-pomocou-docker-phpstorm\/#primaryimage"},"thumbnailUrl":"https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/06\/visionslabs-Vyvoj-ve-WordPressu-pomoci-Docker-a-PHPStorm.png","datePublished":"2021-10-12T13:31:52+00:00","dateModified":"2021-10-12T13:31:55+00:00","description":"V \u010dl\u00e1nku si rozoberieme v\u00fdvoj wordpress pluginu pomocou Docker resp. ako si pripravi\u0165 modern\u00e9 v\u00fdvojov\u00e9 prostredie. Uk\u00e1\u017eky v PHPStorm s XDebug.","breadcrumb":{"@id":"https:\/\/visionslabs.io\/sk\/vyvoj-vo-wordpress-pomocou-docker-phpstorm\/#breadcrumb"},"inLanguage":"sk-SK","potentialAction":[{"@type":"ReadAction","target":["https:\/\/visionslabs.io\/sk\/vyvoj-vo-wordpress-pomocou-docker-phpstorm\/"]}]},{"@type":"ImageObject","inLanguage":"sk-SK","@id":"https:\/\/visionslabs.io\/sk\/vyvoj-vo-wordpress-pomocou-docker-phpstorm\/#primaryimage","url":"https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/06\/visionslabs-Vyvoj-ve-WordPressu-pomoci-Docker-a-PHPStorm.png","contentUrl":"https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/06\/visionslabs-Vyvoj-ve-WordPressu-pomoci-Docker-a-PHPStorm.png","width":1200,"height":630,"caption":"V\u00fdvoj ve WordPressu pomoc\u00ed Docker a PHPStorm"},{"@type":"BreadcrumbList","@id":"https:\/\/visionslabs.io\/sk\/vyvoj-vo-wordpress-pomocou-docker-phpstorm\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/visionslabs.io\/sk\/"},{"@type":"ListItem","position":2,"name":"V\u00fdvoj vo WordPress pomocou Docker (+ PHPStorm)"}]},{"@type":"WebSite","@id":"https:\/\/visionslabs.io\/sk\/#website","url":"https:\/\/visionslabs.io\/sk\/","name":"visionslabs","description":"Digit\u00e1ln\u00ed studio visionslabs se zab\u00fdv\u00e1 tvorbou web\u016f, aplikac\u00ed a digit\u00e1ln\u00edm marketingem","publisher":{"@id":"https:\/\/visionslabs.io\/sk\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/visionslabs.io\/sk\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"sk-SK"},{"@type":"Organization","@id":"https:\/\/visionslabs.io\/sk\/#organization","name":"VisionsLabs - Po\u010d\u00edta\u010dov\u00e1 slu\u017eba s.r.o.","url":"https:\/\/visionslabs.io\/sk\/","logo":{"@type":"ImageObject","inLanguage":"sk-SK","@id":"https:\/\/visionslabs.io\/sk\/#\/schema\/logo\/image\/","url":"https:\/\/visionslabs.io\/wp-content\/uploads\/2020\/07\/visionslabs-logo-icon-1.svg","contentUrl":"https:\/\/visionslabs.io\/wp-content\/uploads\/2020\/07\/visionslabs-logo-icon-1.svg","width":317,"height":90,"caption":"VisionsLabs - Po\u010d\u00edta\u010dov\u00e1 slu\u017eba s.r.o."},"image":{"@id":"https:\/\/visionslabs.io\/sk\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/facebook.com\/visionslabs\/","https:\/\/x.com\/visionslabs","https:\/\/www.instagram.com\/visionslabs\/","https:\/\/www.linkedin.com\/company\/visionslabs"]},{"@type":"Person","@id":"https:\/\/visionslabs.io\/sk\/#\/schema\/person\/8002ebaef6052f50e66a94371d7764c9","name":"Leopold Podmol\u00edk","image":{"@type":"ImageObject","inLanguage":"sk-SK","@id":"https:\/\/visionslabs.io\/sk\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/61ff2dad8ddeb5d3d6cda0cb4b861bb91797c98c4da6550c31c087557182e89f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/61ff2dad8ddeb5d3d6cda0cb4b861bb91797c98c4da6550c31c087557182e89f?s=96&d=mm&r=g","caption":"Leopold Podmol\u00edk"},"description":"CTO - dealing with both development and digital marketing","sameAs":["https:\/\/visionslabs.io"],"url":"https:\/\/visionslabs.io\/sk\/author\/admn_podmolik\/"}]}},"jetpack_featured_media_url":"https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/06\/visionslabs-Vyvoj-ve-WordPressu-pomoci-Docker-a-PHPStorm.png","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/visionslabs.io\/sk\/wp-json\/wp\/v2\/posts\/3186","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/visionslabs.io\/sk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/visionslabs.io\/sk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/visionslabs.io\/sk\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/visionslabs.io\/sk\/wp-json\/wp\/v2\/comments?post=3186"}],"version-history":[{"count":0,"href":"https:\/\/visionslabs.io\/sk\/wp-json\/wp\/v2\/posts\/3186\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/visionslabs.io\/sk\/wp-json\/wp\/v2\/media\/3002"}],"wp:attachment":[{"href":"https:\/\/visionslabs.io\/sk\/wp-json\/wp\/v2\/media?parent=3186"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/visionslabs.io\/sk\/wp-json\/wp\/v2\/categories?post=3186"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/visionslabs.io\/sk\/wp-json\/wp\/v2\/tags?post=3186"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}