{"id":229605,"date":"2022-11-23T11:01:00","date_gmt":"2022-11-23T08:01:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=229605"},"modified":"2022-11-09T08:40:12","modified_gmt":"2022-11-09T05:40:12","slug":"srodowisko-programistyczne-wordpress-przy-uzyciu-menedzera-pakietow","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/pl\/srodowisko-programistyczne-wordpress-przy-uzyciu-menedzera-pakietow\/","title":{"rendered":"\u015arodowisko programistyczne WordPress (przy u\u017cyciu mened\u017cera pakiet\u00f3w)"},"content":{"rendered":"\n<p>W tym momencie napisa\u0142em o tylu <strong><a href=\"https:\/\/tommcfarlin.com\/tag\/oop-fundamentals\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">podstawach OOP<\/a><\/strong>, kt\u00f3re moim zdaniem s\u0105 niezb\u0119dne, aby zacz\u0105\u0107 przygl\u0105da\u0107 si\u0119 bardziej dog\u0142\u0119bnym tematom (takim jak wzorce projektowe i jak zastosowa\u0107 te tematy w rozwoju WordPressa).<\/p>\n<p>Ale planuj\u0105c tre\u015b\u0107, wraca\u0142em do kilku innych rzeczy, kt\u00f3re, jak s\u0105dz\u0119, s\u0105 w ko\u0144cu konieczne do om\u00f3wienia. S\u0105 to takie rzeczy, jak Kompozytor, Prz\u0119dza, narz\u0119dzia do budowania i tak dalej.<\/p>\n<p>Powy\u017cej jednak zadawa\u0142em sobie pytanie:<\/p>\n<blockquote>\n<p>Je\u015bli mam zamiar d\u0142ugo pisa\u0107 o tym materiale, czy powinienem zak\u0142ada\u0107, \u017ce wszyscy korzystamy z tego samego \u015brodowiska?<\/p>\n<\/blockquote>\n<p>A to trudne pytanie, poniewa\u017c niekt\u00f3rzy czytaj\u0105cy to ludzie pisali kod od d\u0142u\u017cszego czasu. Oznacza to, \u017ce oni (lub Ty) maj\u0105 swoje narz\u0119dzia, konfiguracj\u0119 i spos\u00f3b, w jaki lubisz organizowa\u0107 swoje projekty.<\/p>\n<p>Z drugiej strony s\u0105 tacy (lub Ty), kt\u00f3rzy szukaj\u0105 innej drogi lub chc\u0105 zacz\u0105\u0107 od podstaw. W tym celu uwa\u017cam, \u017ce wa\u017cne jest om\u00f3wienie dw\u00f3ch rzeczy:<\/p>\n<ol>\n<li>Jak skonfigurowa\u0107 lokalne \u015brodowisko programistyczne?<\/li>\n<li>Jakie IDE, dodatki i narz\u0119dzia b\u0119d\u0105 u\u017cywane<\/li>\n<\/ol>\n<p>Dla niekt\u00f3rych nie s\u0105 to najbardziej ekscytuj\u0105ce tematy i na pewno k\u0142adzie pauz\u0119 na bardziej zaawansowany aspekt programowania obiektowego. Poniewa\u017c ci z Was, kt\u00f3rzy p\u0142ac\u0105 za przeczytanie tego materia\u0142u, maj\u0105 dost\u0119p do komentarzy, musz\u0119 za\u0142o\u017cy\u0107, \u017ce \u2013 w pewnym momencie \u2013 pojawi\u0105 si\u0119 komentarze z pytaniami o to, jak pewne rzeczy osi\u0105gn\u0105\u0107.<\/p>\n<p>I w tym celu zak\u0142adam, \u017ce wszyscy pracujemy na tym samym polu gry. Je\u015bli nie, to tylko tyle mog\u0119 zrobi\u0107, aby zapewni\u0107 pomoc wykraczaj\u0105c\u0105 poza rzeczywiste pytania programistyczne.<\/p>\n<p>Wi\u0119c zanim zag\u0142\u0119bi\u0119 si\u0119 w programowanie obiektowe, po\u015bwi\u0119c\u0119 kilka post\u00f3w szczeg\u00f3\u0142owo omawiaj\u0105cych powy\u017csze tematy, aby upewni\u0107 si\u0119, \u017ce wszyscy jeste\u015bmy na tej samej stronie.<\/p>\n<p>Je\u015bli czujesz si\u0119 komfortowo ze swoimi narz\u0119dziami i konfiguracj\u0105, prosz\u0119 o wyrozumia\u0142o\u015b\u0107. Je\u015bli szukasz ostatecznego sposobu na skonfigurowanie \u015brodowiska, poni\u017csze posty s\u0105 dla Ciebie.<\/p>\n<p>Maj\u0105c to wszystko na uwadze, zacznijmy od rozmowy o tym, jak czysto skonfigurowa\u0107 lokalne \u015brodowisko programistyczne, kt\u00f3re jest \u0142atwe w utrzymaniu.<\/p>\n<h2>\u015arodowisko programistyczne WordPress<\/h2>\n<p>Je\u015bli to czytasz, prawdopodobnie wiesz, \u017ce <strong><a href=\"https:\/\/wordpress.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">WordPress<\/a><\/strong> wymaga do dzia\u0142ania trzech program\u00f3w:<\/p>\n<ul>\n<li><strong><a href=\"http:\/\/www.php.net\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHP<\/a><\/strong> ,<\/li>\n<li>Serwer WWW (kt\u00f3rym zwykle jest <strong><a href=\"https:\/\/httpd.apache.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Apache<\/a><\/strong> lub <strong><a href=\"https:\/\/www.nginx.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Nginx<\/a><\/strong> ),<\/li>\n<li>Serwer bazy danych (kt\u00f3rym tradycyjnie jest <strong><a href=\"https:\/\/www.mysql.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">MySQL<\/a><\/strong> ).<\/li>\n<\/ul>\n<p>Ca\u0142e to oprogramowanie mo\u017cna zainstalowa\u0107 r\u0119cznie, ale jestem wielkim fanem korzystania z mened\u017cera pakiet\u00f3w (pomy\u015bl o sklepie z aplikacjami lub czym\u015b podobnym) do zarz\u0105dzania tym wszystkim. To znacznie u\u0142atwia instalowanie, aktualizowanie, przycinanie i znajdowanie problem\u00f3w.<\/p>\n<p>A dla mnie moim wyborem mened\u017cer\u00f3w pakiet\u00f3w do obs\u0142ugi tego typu rzeczy jest <strong><a href=\"https:\/\/brew.sh\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Homebrew<\/a><\/strong>. (I tak, pisa\u0142em o tym r\u00f3wnie\u017c w kilku innych postach.)<\/p>\n<p>Korzystaj\u0105c z niego, b\u0119dziemy mogli zainstalowa\u0107 wszystkie powy\u017csze elementy, przygotowa\u0107 si\u0119 do g\u0142\u0119bszego zag\u0142\u0119bienia si\u0119 w programowanie obiektowe i zastosowa\u0107 tematy w rozwoju WordPressa.<\/p>\n<h3>1 Zainstaluj Homebrew<\/h3>\n<p>Pierwsz\u0105 rzecz\u0105, kt\u00f3r\u0105 chcemy zrobi\u0107, przede wszystkim, jest zainstalowanie Homebrew. Niezale\u017cnie od systemu operacyjnego, wymaga to zainstalowania Rubiego, wi\u0119c je\u015bli go nie masz, upewnij si\u0119, \u017ce go zainstalowa\u0142e\u015b.<\/p>\n<p>Je\u015bli u\u017cywasz macOS lub wariantu Linuksa, prawdopodobnie ju\u017c go masz. Mog\u0119 m\u00f3wi\u0107 w imieniu u\u017cytkownik\u00f3w Windowsa, ale <strong><a href=\"https:\/\/www.ruby-lang.org\/en\/documentation\/installation\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">instalacja jest prosta<\/a><\/strong>.<\/p>\n<p>Je\u015bli (lub raz) Ruby jest zainstalowany, wprowad\u017a nast\u0119puj\u0105ce polecenie w terminalu lub w wierszu polece\u0144:<\/p>\n<p><code>\/usr\/bin\/ruby -e \"$(curl -fsSL https:\/\/raw.githubusercontent.com\/Homebrew\/install\/master\/install)\"<\/code><\/p>\n<p>Po rozpocz\u0119ciu instalacji w sesji powiniene\u015b zobaczy\u0107 co\u015b takiego:<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-164668-61e76a27aeab4.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-164668-61e76a27aeab4.png\" alt=\"\u015arodowisko programistyczne WordPress (przy u\u017cyciu mened\u017cera pakiet\u00f3w)\" ><\/a><\/p>\n<p>Mo\u017ce to zaj\u0105\u0107 troch\u0119 czasu, ale instalator generalnie jest naprawd\u0119 dobry w udzielaniu opinii na temat tego, co robi, wi\u0119c b\u0105d\u017a cierpliwy. Poinformuje Ci\u0119, gdy to si\u0119 sko\u0144czy, a gdy to si\u0119 stanie, r\u00f3wnie \u0142atwo b\u0119dzie kontynuowa\u0107 instalacj\u0119 pozosta\u0142ych potrzebnych element\u00f3w.<\/p>\n<p>I to w\u0142a\u015bnie zamierzamy zrobi\u0107 dalej.<\/p>\n<h3>2 Instalacja Valeta<\/h3>\n<p>Chocia\u017c r\u00f3\u017cni ludzie wol\u0105 r\u00f3\u017cne us\u0142ugi (takie jak <a href=\"https:\/\/tommcfarlin.com\/mamp-4-wordpress-development\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">MAMP<\/a> ), naprawd\u0119 polubi\u0142em <strong><a href=\"https:\/\/laravel.com\/docs\/5.6\/valet\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Valeta<\/a><\/strong>. Jest to rozwi\u0105zanie typu \u201ewszystko w jednym&quot;, kt\u00f3re sprawia, \u017ce \u200b\u200bzarz\u0105dzanie r\u00f3\u017cnymi komponentami, kt\u00f3re s\u0105 dostarczane wraz ze \u015brodowiskiem programistycznym WordPress, jest naprawd\u0119 \u0142atwe.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-164668-61e76a2bd582b.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-164668-61e76a2bd582b.png\" alt=\"\u015arodowisko programistyczne WordPress (przy u\u017cyciu mened\u017cera pakiet\u00f3w)\" ><\/a><\/p>\n<p>Jasne, od czasu do czasu wymaga to zanurzenia si\u0119 w Terminalu, ale uwa\u017cam, \u017ce je\u015bli chcesz zag\u0142\u0119bi\u0107 si\u0119 w programowanie obiektowe, prawdopodobnie b\u0119dziesz musia\u0142 zaznajomi\u0107 si\u0119 z Terminalem, szczeg\u00f3lnie podczas pracy z narz\u0119dziami jak <strong><a href=\"https:\/\/getcomposer.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Composer<\/a><\/strong>, <strong><a href=\"https:\/\/yarnpkg.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Yarn<\/a><\/strong>, <strong><a href=\"https:\/\/git-scm.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Git<\/a><\/strong> lub inne narz\u0119dzia do dalszej dyskusji w przysz\u0142o\u015bci.<\/p>\n<p>W ka\u017cdym razie, w tym momencie jeste\u015b gotowy do zainstalowania Valeta. Na potrzeby tego przewodnika b\u0119dziemy u\u017cywa\u0107:<\/p>\n<ul>\n<li>PHP 7,2<\/li>\n<li>Kompozytor<\/li>\n<\/ul>\n<p>Instalacja ka\u017cdego z nich jest do\u015b\u0107 \u0142atwa, a wszystkie niezb\u0119dne instrukcje znajduj\u0105 si\u0119 poni\u017cej.<\/p>\n<p>Poniewa\u017c w\u0142a\u015bnie zainstalowali\u015bmy Homebrew, nie ma potrzeby go aktualizowa\u0107. Je\u015bli jednak masz go ju\u017c zainstalowany, upewnij si\u0119, \u017ce uruchomi\u0142e\u015b:<\/p>\n<p><code>$ brew update<\/code><\/p>\n<h4>Zainstaluj PHP 7.2<\/h4>\n<p>Nast\u0119pnie zainstaluj PHP 7.2, wydaj\u0105c nast\u0119puj\u0105ce polecenie w swoim terminalu:<\/p>\n<p><code>$ brew install homebrew\/php\/php72<\/code><\/p>\n<p>Homebrew wykona zwyk\u0142\u0105 rzecz: pobierze pliki binarne, zainstaluje je, a nast\u0119pnie poinformuje Ci\u0119, gdy to si\u0119 sko\u0144czy.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-164668-61e76a30f0160.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-164668-61e76a30f0160.png\" alt=\"\u015arodowisko programistyczne WordPress (przy u\u017cyciu mened\u017cera pakiet\u00f3w)\" ><\/a><\/p>\n<p>W tym momencie musimy u\u017cy\u0107 Composera, aby zainstalowa\u0107 Valet, ale zanim to zrobimy, musimy si\u0119 upewni\u0107, \u017ce Composer jest zainstalowany.<\/p>\n<h4>Zainstaluj kompozytor<\/h4>\n<p>Poniewa\u017c u\u017cywamy Homebrew, instalacja Composera jest r\u00f3wnie\u017c bardzo \u0142atwa, poniewa\u017c mo\u017cemy go zainstalowa\u0107 tak, jak ka\u017cdy inny pakiet. W tym celu wpisz nast\u0119puj\u0105ce polecenie:<\/p>\n<p><code>$ brew install composer<\/code><\/p>\n<p>I, jak widzieli\u015bmy w dalszej cz\u0119\u015bci tego samouczka, Homebrew zrobi swoje, a nast\u0119pnie powiadomi Ci\u0119, gdy zostanie uko\u0144czony. Aby sprawdzi\u0107, czy zosta\u0142 poprawnie zainstalowany, wpisz nast\u0119puj\u0105ce polecenie i naci\u015bnij Enter:<\/p>\n<p><code>$ composer --version<\/code><\/p>\n<p>W momencie tworzenia tego artyku\u0142u Composer jest w wersji 1.6.3.<\/p>\n<p><strong>Uwaga<\/strong>: Czasami Homebrew wykryje, \u017ce Composer jest ju\u017c zainstalowany i poinformuje Ci\u0119, \u017ce ju\u017c istnieje. \u0141adne, prawda? Wy\u015bwietli komunikat, kt\u00f3ry brzmi mniej wi\u0119cej tak:<\/p>\n<blockquote>\n<p>Cel \/usr\/local\/bin\/composer ju\u017c istnieje. Mo\u017cesz go usun\u0105\u0107.<\/p>\n<\/blockquote>\n<p>A potem daje instrukcje, jak to zrobi\u0107. Jestem fanem post\u0119powania zgodnie z tymi instrukcjami, aby wszystko by\u0142o zarz\u0105dzane pod Homebrew.<\/p>\n<h4>Zainstaluj Valeta<\/h4>\n<p>Teraz w ko\u0144cu nadszed\u0142 czas na instalacj\u0119 Valeta. Poniewa\u017c zainstalowali\u015bmy Homebrew, PHP i Composer, zainstalowanie reszty tego, czego potrzebujemy dla naszego \u015brodowiska programistycznego, jest bardzo proste.<\/p>\n<p>Przyk\u0142ad: Wydaj nast\u0119puj\u0105ce polecenie w swoim terminalu:<\/p>\n<p><code>$ composer global require laravel\/valet<\/code><\/p>\n<p>Nast\u0119pnie wprowad\u017a nast\u0119puj\u0105ce polecenie:<\/p>\n<p><code>$ ~\/.composer\/vendor\/bin<\/code><\/p>\n<p>Poniewa\u017c zapewni to, \u017ce Valet znajduje si\u0119 w zmiennych \u015brodowiskowych twojego systemu (lub twojej PATH, jak powiedz\u0105 niekt\u00f3rzy, w zale\u017cno\u015bci od twojego systemu operacyjnego). Ostatecznie chodzi o to, aby upewni\u0107 si\u0119, \u017ce jest dost\u0119pny niezale\u017cnie od tego, gdzie jeste\u015b w systemie.<\/p>\n<p>Na koniec wpisz to w swojej sesji:<\/p>\n<p><code>$ valet install<\/code><\/p>\n<p>Mo\u017cesz otrzyma\u0107 komunikat o zatrzymaniu Nginx, aktualizacji konfiguracji, a nast\u0119pnie ponownym uruchomieniu. Ostatecznie jednak b\u0119dziesz chcia\u0142 zobaczy\u0107 nast\u0119puj\u0105ce rzeczy:<\/p>\n<blockquote>\n<p>Us\u0142uga Valet zosta\u0142a pomy\u015blnie zainstalowana!<\/p>\n<\/blockquote>\n<p>A kiedy to zobaczysz, sko\u0144czysz z pierwsz\u0105 cz\u0119\u015bci\u0105 tego!<\/p>\n<h2>Co dalej?<\/h2>\n<p>W tym momencie masz wszystko, czego potrzebujesz, aby skonfigurowa\u0107 witryny testowe, zainstalowa\u0107 WordPressa i ca\u0142y ten jazz. Opowiem o tym w nadchodz\u0105cym po\u015bcie, ale om\u00f3wi\u0119 r\u00f3wnie\u017c, jak wybra\u0107 IDE i niezb\u0119dne dodatki, aby uzupe\u0142ni\u0107 prac\u0119, kt\u00f3r\u0105 wykonali\u015bmy do tej pory.<\/p>\n<p>W mi\u0119dzyczasie, je\u015bli masz pytania, nie wahaj si\u0119 zostawi\u0107 komentarza. Mo\u017ce to by\u0107 pytanie, wskaz\u00f3wka dla innych os\u00f3b korzystaj\u0105cych z oprogramowania, sugestia lub cokolwiek innego.<\/p>\n<p>Niezale\u017cnie od tego jeste\u015bmy o krok bli\u017cej do napisania profesjonalnego, zorientowanego obiektowo kodu przy u\u017cyciu solidnych technologii.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">\u0179r\u00f3d\u0142o nagrywania:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Instrukcje instalacji lokalnego \u015brodowiska programistycznego WordPress od pocz\u0105tku do ko\u0144ca za pomoc\u0105 mened\u017cera pakiet\u00f3w.<\/p>\n","protected":false},"author":1,"featured_media":164669,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[721,752,845,866],"tags":[1169],"class_list":["post-229605","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-deweloper","category-otwarte-zrodlo","category-samouczki","category-wordpress-7","tag-affiai-pl"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/posts\/229605","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/comments?post=229605"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/posts\/229605\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/media\/164669"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/media?parent=229605"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/categories?post=229605"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/tags?post=229605"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}