{"id":231119,"date":"2022-12-13T12:57:00","date_gmt":"2022-12-13T09:57:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=231119"},"modified":"2022-12-13T12:57:31","modified_gmt":"2022-12-13T09:57:31","slug":"uusi-sisaeltoe-sivuston-jaesenille-oop-ja-paljon-muuta","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/fi\/uusi-sisaeltoe-sivuston-jaesenille-oop-ja-paljon-muuta\/","title":{"rendered":"Uusi sis\u00e4lt\u00f6 sivuston j\u00e4senille: OOP ja paljon muuta"},"content":{"rendered":"\n<p>Kun p\u00e4\u00e4tin luoda vain j\u00e4senille tarkoitetun osion verkkosivustolleni, siin\u00e4 oli kaksi asiaa:<\/p>\n<ol>\n<li>tarjota j\u00e4senille p\u00e4\u00e4syn korkealaatuisiin artikkeleihin siit\u00e4, kuinka l\u00e4hesty\u00e4 olio-ohjelmointia WordPressiss\u00e4,<\/li>\n<li>my\u00f6nt\u00e4\u00e4 alennuksia muihin tuotteisiin ja palveluihin, joita olen kokenut hy\u00f6dyllisiksi yst\u00e4vien, tuttujen ja muiden palveluiden kautta.<\/li>\n<\/ol>\n<p>Ajoittain saan kysymyksi\u00e4 t\u00e4h\u00e4n menness\u00e4 tuottamastani sis\u00e4ll\u00f6st\u00e4. Jos olet kiinnostunut lukemaan koko yksityiskohtaisen luettelon, voit n\u00e4hd\u00e4 ne <strong><a href=\"https:\/\/tommcfarlin.com\/members-only-content\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">t\u00e4\u00e4lt\u00e4<\/a><\/strong>.<\/p>\n<p>Mutta t\u00e4h\u00e4n menness\u00e4 saamani ydin on t\u00e4ss\u00e4:<\/p>\n<ul>\n<li><strong><a href=\"https:\/\/wordpress.mediadoma.com\/fi\/olio-ohjelmointi-wordpressissae-tyoeselostus\/\" title=\"Ohjelmoinnin liiketoiminta\">Ohjelmoinnin liiketoiminta<\/a><\/strong><\/li>\n<li><strong><a href=\"https:\/\/tommcfarlin.com\/tag\/object-oriented-wordpress-development\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Olio-ohjelmointi WordPressiss\u00e4<\/a><\/strong> (johdanto perusperiaatteisiin)<\/li>\n<li><strong><a href=\"https:\/\/tommcfarlin.com\/tag\/object-oriented-wordpress-development\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">WordPress-kehitysymp\u00e4rist\u00f6<\/a><\/strong><\/li>\n<li><strong><a href=\"https:\/\/tommcfarlin.com\/tag\/visual-studio-code\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Visual Studio Coden k\u00e4ytt\u00e4minen<\/a><\/strong><\/li>\n<li><strong><a href=\"https:\/\/wordpress.mediadoma.com\/fi\/phpunitin-asentaminen-visual-studio-codessa\/\" title=\"Yksikk\u00f6testaus\">Yksikk\u00f6testaus<\/a><\/strong><\/li>\n<li><strong><a href=\"https:\/\/tommcfarlin.com\/tag\/the-independent-wordpress-developer\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Itsen\u00e4inen WordPress-kehitt\u00e4j\u00e4<\/a><\/strong><\/li>\n<\/ul>\n<p>Ja t\u00e4m\u00e4 on sis\u00e4lt\u00f6, joka minulla on t\u00e4h\u00e4n menness\u00e4 sivuston j\u00e4senille. Mutta se ei vastaa kysymykseen siit\u00e4, mit\u00e4 seuraavaksi (eik\u00e4 se vastaa kysymykseen, miksi olen laatinut asiat niin kuin olen), joten ajattelin tehd\u00e4 postauksen.<\/p>\n<h2>Sis\u00e4lt\u00f6 sivuston j\u00e4senille<\/h2>\n<p>Ensinn\u00e4kin syy, miksi n\u00e4in paljon sis\u00e4lt\u00f6\u00e4 on alunperin laadittu, on se, ett\u00e4 mielest\u00e4ni j\u00e4senille on luotava perusta, jotta olemme kaikki samalla sananlaskusivulla ennen ohjelmointiin ryhtymist\u00e4.<\/p>\n<p>Mutta se ei my\u00f6sk\u00e4\u00e4n ole vain ohjelmointia. Se on ymm\u00e4rryst\u00e4:<\/p>\n<ol>\n<li>mit\u00e4 pit\u00e4\u00e4 asentaa,<\/li>\n<li>kuinka IDE:t\u00e4 k\u00e4ytet\u00e4\u00e4n,<\/li>\n<li>yksikk\u00f6testauksen perustavanlaatuinen ymm\u00e4rrys,<\/li>\n<li>miten k\u00e4sitell\u00e4 k\u00e4sitell\u00e4 WordPressi\u00e4 itsen\u00e4isest\u00e4 n\u00e4k\u00f6kulmasta ennen kuin aloitat teorian.<\/li>\n<\/ol>\n<p>Tied\u00e4n, ett\u00e4 suuri osa t\u00e4st\u00e4 voi tuntua melulta tai turhalta materiaalilta, jos sinulla on tietty kokemus. Mutta monille ihmisille t\u00e4m\u00e4 on uutta \u2013 ja mielest\u00e4ni se on hyv\u00e4 asia \u2013, koska se auttaa luomaan perustan joukolle tapoja harkita ohjelmointia WordPressin yhteydess\u00e4 k\u00e4ytt\u00e4m\u00e4ll\u00e4 ohjelmistosuunnittelustrategioita.<\/p>\n<p>Toki tuon lauseen j\u00e4lkimm\u00e4isest\u00e4 osasta on tilaa keskustelulle, mutta olen palvelinpuolen ohjelmoinnin fani, mielest\u00e4ni olio-ohjelmointi on vankka tapa l\u00e4hesty\u00e4 ongelmanratkaisua, mutta ennen kuin teet sen, on t\u00e4rke\u00e4\u00e4 Varmista, ett\u00e4 muut asiat ovat ensin paikallaan.<\/p>\n<p>Ja se on sis\u00e4ll\u00f6n tarkoitus t\u00e4h\u00e4n menness\u00e4.<\/p>\n<h3>Mit\u00e4 seuraavaksi?<\/h3>\n<p>Seuraavaksi aion alkaa k\u00e4sitell\u00e4 olio-ohjelmointia WordPressiss\u00e4 kahdella tavalla:<\/p>\n<h4>Widgets API<\/h4>\n<p>Ensin halusin katsoa <strong><a href=\"https:\/\/codex.wordpress.org\/Widgets_API\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Widgets API -sovellusliittym\u00e4\u00e4<\/a><\/strong> ja ehk\u00e4 jopa kirjoittaa widgetimme. Syyn\u00e4 on se, ett\u00e4 t\u00e4st\u00e4 API:sta on opittava joitain olio-opetuksia ja kuinka voimme toteuttaa sen itse.<\/p>\n<\/p>\n<p>Tarkastellaan periytymist\u00e4 sek\u00e4 joitain muita API:n tarjoamia ominaisuuksia.<\/p>\n<h4>Moderni kehitys<\/h4>\n<p>Seuraavaksi aion puhua laajennuksen rakentamisesta alusta alkaen k\u00e4ytt\u00e4m\u00e4ll\u00e4:<\/p>\n<ol>\n<li>S\u00e4velt\u00e4j\u00e4<\/li>\n<li>bootstrap-tiedosto<\/li>\n<li>Abstraktit luokat,<\/li>\n<li>Arkisto,<\/li>\n<li>Tilaajat (WordPressin k\u00e4ytt\u00e4m\u00e4 tapahtumal\u00e4ht\u00f6inen suunnittelumalli),<\/li>\n<li>Ja PHP7:n k\u00e4ytt\u00f6 yhdess\u00e4 PSR-koodausstandardien ja nykyaikaisen kehitysty\u00f6nkulun kanssa.<\/li>\n<\/ol>\n<p>J\u00e4senille on siis tulossa hyv\u00e4\u00e4 vauhtia tulevina kuukausina. Olen innoissani voidessani k\u00e4yd\u00e4 sen l\u00e4pi ja tarjota mahdollisimman paljon sis\u00e4lt\u00f6\u00e4.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-161812-61e72b28c11e2.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-161812-61e72b28c11e2.png\" alt=\"Uusi sis\u00e4lt\u00f6 sivuston j\u00e4senille: OOP ja paljon muuta\"><\/a><\/p>\n<p>Kyll\u00e4, se voi liikkua hitaammin artikkelia kohti kuin jotkut saattavat pit\u00e4\u00e4, mutta se on my\u00f6s nopeampi kuin kuinka nopeasti jotkut muut artikkelit on kirjoitettu viimeisten parin kuukauden aikana.<\/p>\n<h2>Nyt sit\u00e4 menn\u00e4\u00e4n<\/h2>\n<p>T\u00e4m\u00e4n sanottuani odotan innolla sis\u00e4ll\u00f6n seuraavaa vaihetta, jatkan <strong><a href=\"https:\/\/tommcfarlin.com\/tag\/the-independent-wordpress-developer\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">The Independent WordPress Developer<\/a>\u00a0<\/strong> -sis\u00e4ll\u00f6n viimeistely\u00e4 samanaikaisesti ja pyrin parantamaan t\u00e4h\u00e4n menness\u00e4 saamani toimittamista.<\/p>\n<p>Jos et ole j\u00e4sen ja jokin n\u00e4ist\u00e4 tuntuu kiinnostavalta, voit rekister\u00f6ity\u00e4 <strong><a href=\"https:\/\/tommcfarlin.com\/registration-info\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">t\u00e4\u00e4ll\u00e4<\/a><\/strong>.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Tuleva sis\u00e4lt\u00f6 sivuston j\u00e4senille sis\u00e4lt\u00e4\u00e4 Widgets API:n, nykyaikaisten oliotekniikoiden ja oman laajennuksen rakentamisen.<\/p>\n","protected":false},"author":1,"featured_media":235749,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[719,834,843],"tags":[1166],"class_list":["post-231119","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-kehittaejae","category-opas-aloittelijoille","category-opetusohjelmia","tag-affiai-fi"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts\/231119","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/comments?post=231119"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts\/231119\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/media\/235749"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/media?parent=231119"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/categories?post=231119"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/tags?post=231119"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}