{"id":230917,"date":"2022-12-22T09:28:00","date_gmt":"2022-12-22T06:28:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=230917"},"modified":"2022-12-07T10:31:39","modified_gmt":"2022-12-07T07:31:39","slug":"foerorena-inte-wordpress-alternativtabellen","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/sv\/foerorena-inte-wordpress-alternativtabellen\/","title":{"rendered":"F\u00f6rorena inte WordPress-alternativtabellen"},"content":{"rendered":"\n<p>Jag \u00e4r ett fan av korta utgivningscykler. Beroende p\u00e5 projekt kommer cykelns l\u00e4ngd att variera, men f\u00f6r m\u00e5nga av de typer av projekt som jag arbetar med, siktar jag p\u00e5 att ha tv\u00e5 veckors releasecykler.<\/p>\n<p>Vidare finns det tillf\u00e4llen d\u00e5 jag arbetar med ett projekt f\u00f6r n\u00e5gon d\u00e4r milj\u00f6variabler \u00e4r n\u00f6dv\u00e4ndiga s\u00e5 att koden vet om den k\u00f6rs i utveckling, iscens\u00e4ttning eller produktion.<\/p>\n<p>Och detta kan uppn\u00e5s p\u00e5 olika s\u00e4tt beroende p\u00e5 projektets behov. Ibland kommer en konfigurationsfil att fungera, ibland kan fr\u00e5gestr\u00e4ngsvariabler fungera, och andra g\u00e5nger tycker jag att det \u00e4r rimligt att lagra en inst\u00e4llning i databasen.<\/p>\n<p>Men n\u00e4r det g\u00e4ller WordPress tror jag att vi genv\u00e4gar b\u00e4ttre designbeslut och sl\u00e4nger information i databasen, n\u00e4rmare best\u00e4mt alternativtabellen, n\u00e4r alternativ kan vara b\u00e4ttre l\u00e4mpade.<\/p>\n<h2>WordPress-alternativtabellen<\/h2>\n<p>Jag vill vara tydlig: Jag tycker inte att alternativtabellen ska fungera som en dumpningsplats f\u00f6r inst\u00e4llningar n\u00e4r du inte har n\u00e5gon annanstans att l\u00e4gga information. Och det \u00e4r k\u00e4rnan i hela det h\u00e4r inl\u00e4gget.<\/p>\n<p>Ist\u00e4llet kan du anv\u00e4nda:<\/p>\n<ul>\n<li>en konfigurationsfil,<\/li>\n<li>sessionsdata (n\u00e4r det \u00e4r l\u00e4mpligt),<\/li>\n<li>en anpassad databastabell,<\/li>\n<li>eller n\u00e5got annat.<\/li>\n<\/ul>\n<p>S\u00e5 varf\u00f6r ser vi detta h\u00e4nda s\u00e5 ofta? Det \u00e4r inte s\u00e5 att det inte finns tillf\u00e4llen d\u00e5 det \u00e4r vettigt att anv\u00e4nda det. Jag tror bara att vi missbrukar det. Men det finns sk\u00e4l varf\u00f6r.<\/p>\n<p><a href=\"https:\/\/codex.wordpress.org\/Option_Reference\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">WordPress Codex<\/a> definierar alternativ s\u00e5 h\u00e4r:<\/p>\n<blockquote>\n<p><strong>Alternativ<\/strong> \u00e4r bitar av data som WordPress anv\u00e4nder f\u00f6r att lagra olika preferenser och konfigurationsinst\u00e4llningar.<\/p>\n<\/blockquote>\n<p>Med en definition som denna \u00e4r det l\u00e4tt att se varf\u00f6r s\u00e5 m\u00e5nga kommer att anv\u00e4nda den som en plats f\u00f6r att f\u00f6rvara allt som inte f\u00e5r plats n\u00e5gon annanstans.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-160574-61e70cd8a4ea4.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-160574-61e70cd8a4ea4.png\" alt=\"F\u00f6rorena inte WordPress-alternativtabellen\" ><\/a><\/p>\n<p>Ist\u00e4llet tycker jag att det \u00e4r viktigt att st\u00e4lla fr\u00e5gan:<\/p>\n<blockquote>\n<p>F\u00f6r vilken typ av lagring \u00e4r [dessa data] mest relevant?<\/p>\n<\/blockquote>\n<p>Det vill s\u00e4ga, om det \u00e4r relaterat till inl\u00e4gg varf\u00f6r inte lagra det i postmetatabellen? Samma f\u00f6r termmetadata eller kommentarer eller n\u00e5got annat.<\/p>\n<p>Po\u00e4ngen \u00e4r denna:<\/p>\n<p>Hitta den mest logiska platsen f\u00f6r att lagra data och placera den d\u00e4r.<\/p>\n<p>Med andra ord, sl\u00e4ng inte data i WordPress-alternativtabellen eftersom den inte passar n\u00e5gon annanstans. Det f\u00f6rorenar det. Hitta ist\u00e4llet \u2013 eller skapa \u2013 den mest logiska platsen f\u00f6r den. Det \u00e4r f\u00f6rmodligen bevis p\u00e5 en kodlukt och skulle vara en bra anledning att omv\u00e4rdera arkitekturen f\u00f6r din kod och hur informationen representeras.<\/p>\n<p>Men hur kan detta se ut? Det vill s\u00e4ga, hur skulle vi ta en given kodbit och \u00e4ndra hur den representeras i databasen.<\/p>\n<p>Tyv\u00e4rr \u00e4r det sv\u00e5rt att ge en preskriptiv l\u00f6sning p\u00e5 denna fr\u00e5ga n\u00e4r det finns s\u00e5 m\u00e5nga varianter av implementeringen av ett problem. S\u00e5 kanske en enkel riktlinje \u00e4r p\u00e5 sin plats:<\/p>\n<p>Om data \u00e4r relaterade till de redan existerande datatyperna (eller tabellerna), anv\u00e4nd dem sedan; I annat fall kan du \u00f6verv\u00e4ga en konfigurationsfil eller anpassad databastabell som mappas till ditt arbete.<\/p>\n<p>Jag \u00e4r s\u00e4ker p\u00e5 att det finns andra v\u00e4gledande faktorer, men det h\u00e4r \u00e4r ett b\u00e4ttre st\u00e4lle att b\u00f6rja \u00e4n att bara f\u00f6rorena WordPress-alternativtabellen.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Inspelningsk\u00e4lla:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Kasta inte data i WordPress-alternativtabellen eftersom den inte passar n\u00e5gon annanstans. Det f\u00f6rorenar det. Hitta ist\u00e4llet \u2013 eller skapa \u2013 den mest logiska platsen f\u00f6r den.<\/p>\n","protected":false},"author":1,"featured_media":235679,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[724,868],"tags":[1173],"class_list":["post-230917","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-utvecklaren","category-wordpress-9","tag-affiai-sv"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/posts\/230917","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/comments?post=230917"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/posts\/230917\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/media\/235679"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/media?parent=230917"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/categories?post=230917"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/tags?post=230917"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}