{"id":229859,"date":"2022-11-26T11:09:00","date_gmt":"2022-11-26T08:09:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=229859"},"modified":"2022-11-09T16:42:15","modified_gmt":"2022-11-09T13:42:15","slug":"kaesitlege-graatsiliselt-php-versiooni-tuge-wordpressis","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/et\/kaesitlege-graatsiliselt-php-versiooni-tuge-wordpressis\/","title":{"rendered":"K\u00e4sitlege graatsiliselt PHP-versiooni tuge WordPressis"},"content":{"rendered":"\n<p>Niikaua kui olen WordPressiga t\u00f6\u00f6tanud, on vestlus (ja ma kasutan seda terminit l\u00f5dvalt) selle \u00fcle, milliseid PHP versioone see peaks toetama v\u00f5i mitte.<\/p>\n<ul>\n<li>L\u00fchike on see, et m\u00f5ned peavad seda nii suureks ja populaarseks rakenduseks nagu WordPress, mis toetab nii suurt osa CMS-p\u00f5histest veebisaitidest, mis peaks suutma oma m\u00f5juv\u00f5imu kasutada uuenduslikumate lahenduste edendamiseks.<\/li>\n<li>Teised n\u00e4evad, et inimesed ei k\u00e4i sageli versiooniuuendustes, on eelarvega hostides v\u00f5i lihtsalt ei hooli (r\u00e4\u00e4kimata sellest, et nad vaevuvad teadma), millist PHP versiooni nad kasutavad.<\/li>\n<\/ul>\n<p>Need kaks punkti v\u00f5ivad anda postitusi ja kommentaare p\u00e4evadeks, kuid mind see ei huvita. Kuna <strong><a href=\"https:\/\/pressware.co\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">minu meeskond ja mina<\/a><\/strong> tegeleme teistele kohandatud lahenduste loomisega, saame paindlikult hinnata, kus kasutajad oma saiti v\u00f5i rakendust hostivad, juurutada ja kasutada nende hostide pakutavaid PHP funktsioone.<\/p>\n<p>Siiski on aegu, kus olen kohanud inimesi, kes k\u00e4itavad PHP kuni 5.3 versiooni.<\/p>\n<p>Mis siis?<\/p>\n<p>Esiteks mainitakse <strong><a href=\"https:\/\/wordpress.org\/about\/requirements\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">WordPressi n\u00f5uete lehel seda konkreetselt:<\/a><\/strong><\/p>\n<blockquote>\n<p>Kui olete p\u00e4randkeskkonnas, kus teil on ainult vanemad PHP v\u00f5i MySQL versioonid, t\u00f6\u00f6tab WordPress ka versioonidega PHP 5.2.4+ ja MySQL 5.0+, kuid need versioonid on j\u00f5udnud ametlikku l\u00f5ppu.<\/p>\n<\/blockquote>\n<p>Selguse huvides v\u00f5ib \u00f6elda, et see t\u00f6\u00f6tab PHP vanemates versioonides, kuid arendajatena piirab meid t\u00f5siselt, mida saame selle keelega teha. Ja nagu lehel mainitakse, ei tohiks ignoreerida keeleversiooni turvam\u00f5jusid ja &quot;elu l\u00f5pu&quot; tuge.<\/p>\n<p>Kui ma t\u00f6\u00f6tan pistikprogrammiga v\u00f5i millegagi, mis t\u00f6\u00f6tab WordPressis ja ma tean, et see peab t\u00f6\u00f6tama mitmesugustel hostidel, pakun minimaalset tuge. Tavaliselt on see PHP 5.6.20.<\/p>\n<p>Kui keskkond, milles projekt k\u00e4ima hakkab, seda ei toeta, siis annan sellest teada ja takistan projekti k\u00e4ivitamist. Pistikprogrammi kontekstis on t\u00f5en\u00e4oliselt k\u00f5ige parem haakida funktsiooni register_activation_hook.<\/p>\n<p>Selleks v\u00f5ite kirjutada midagi <strong><a href=\"https:\/\/gist.github.com\/tommcfarlin\/eab44952ef0add72eafab04332f9ef34#file-00-php-version-support-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">sellist:<\/a><\/strong><\/p>\n<pre><code>&lt;?php\n\nregister_activation_hook(__FILE__, __NAMESPACE__. 'acme_activate');\n\/**\n * Verifies that the user is running the proper version of WordPress for the\n * plugin to execute; otherwise, displays an error message and prevents the\n * plugin from being activated.\n *\/\nfunction acme_activate()\n{\n    if (version_compare(PHP_VERSION, '5.6.20', '&lt;')) {\n        wp_die(\n            sprintf(\n                'Acme requires PHP 5.6.20 or higher.\n                Your WordPress site is using PHP %s. Please contact your hosting\n                provider and ask that they upgrade the version of PHP on which\n                your installation of WordPress is running. Click back in your\n                browser to your WordPress dashboard.',\n                PHP_VERSION) );\n    }\n}<\/code><\/pre>\n<p>T\u00f5si, see on lihtne ja ekraan kasutab standardset wp_die stiili, kuid see t\u00f6\u00f6tab ka. Kui teil on rohkem kogemusi v\u00f5i aega, on v\u00f5imalik ka kontrolle veidi teistmoodi l\u00e4bi viia ja oma stiili pakkuda.<\/p>\n<p>Selle postituse eesm\u00e4rk ei ole see, kuidas seda teha. Selle asemel on punktid j\u00e4rgmised:<\/p>\n<ul>\n<li>otsustage, millist PHP versiooni te toetate,<\/li>\n<li>v\u00f5rrelda serveris t\u00f6\u00f6tavat PHP versiooni,<\/li>\n<li>renderdama s\u00f5numi, kui PHP versioon serveris on v\u00e4iksem kui see, mida toetate,<\/li>\n<li>graatsiliselt v\u00e4ljuda.<\/li>\n<\/ul>\n<p>See, kuidas te selle renderdate, on teie otsustada, kuid \u00fclaltoodud koodi sisust peaks piisama alustamiseks.<\/p>\n<h3>lisam\u00e4rkmed<\/h3>\n<ul>\n<li><strong><a href=\"https:\/\/codex.wordpress.org\/Function_Reference\/wp_die\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">wp_the<\/a><\/strong><\/li>\n<li><a href=\"https:\/\/php.net\/manual\/en\/function.version-compare.php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">versioon_v\u00f5rdle<\/a><\/li>\n<li><strong><a href=\"https:\/\/php.net\/manual\/en\/reserved.constants.php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHP_VERSION<\/a><\/strong><\/li>\n<li><strong><a href=\"https:\/\/php.net\/manual\/en\/function.sprintf.php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">sprintf<\/a><\/strong><\/li>\n<\/ul>\n<p>Ja kui sa t\u00f5esti tahad PHP-s stringide k\u00e4sitlemises p\u00f5hjalikult tutvuda, soovitan <strong><a href=\"https:\/\/twitter.com\/twigpress\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Carli<\/a><\/strong> postitust <strong><a href=\"https:\/\/carlalexander.ca\/php-string-formatting\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">stringide k\u00e4sitlemise kohta PHP-s<\/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>PHP tugiversioonid WordPressis v\u00f5ivad projektiti erineda. Siin on \u00fcks viis selle pistikprogrammis k\u00e4sitlemiseks.<\/p>\n","protected":false},"author":1,"featured_media":164297,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[718,916,842,802,863],"tags":[1165],"class_list":["post-229859","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arendaja","category-muud","category-opetused","category-php-4","category-wordpress-4","tag-affiai-et"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/229859","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/comments?post=229859"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/229859\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media\/164297"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media?parent=229859"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/categories?post=229859"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/tags?post=229859"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}