{"id":3883,"date":"2022-05-19T11:20:21","date_gmt":"2022-05-19T11:20:21","guid":{"rendered":"http:\/\/the-codest.localhost\/blog\/why-do-we-need-symfony-polyfill-and-why-we-shouldnt\/"},"modified":"2026-04-28T14:07:09","modified_gmt":"2026-04-28T14:07:09","slug":"miksi-tarvitsemme-symfony-polyfill-ja-miksi-meidan-ei-pitaisi-tehda-sita","status":"publish","type":"post","link":"https:\/\/thecodest.co\/fi\/blog\/why-do-we-need-symfony-polyfill-and-why-we-shouldnt\/","title":{"rendered":"Miksi tarvitsemme Symfony Polyfilli\u00e4 (... ja miksi meid\u00e4n ei pit\u00e4isi)"},"content":{"rendered":"<p>Useimmissa nykyaikaisissa <strong><a href=\"https:\/\/thecodest.co\/fi\/dictionary\/how-to-hire-a-php-developer\/\">PHP<\/a> hankkeet<\/strong>, huomaat, ett\u00e4 se on hyvin riippuvainen ohjelmasta <a href=\"https:\/\/github.com\/symfony\/polyfill\" rel=\"nofollow\">Symfony Polyfill<\/a> kirjasto. T\u00e4ss\u00e4 artikkelissa selit\u00e4mme, miten se toimii ja miten se on yhteydess\u00e4 <strong>Symfony-projektit<\/strong>, mutta menemme my\u00f6s syvemm\u00e4lle sen ongelman ideaan, jota sill\u00e4 yritet\u00e4\u00e4n ratkaista.<\/p>\n<h2>V\u00e4h\u00e4n historiaa<\/h2>\n<p><strong>PHP<\/strong> oli pitk\u00e4\u00e4n huonossa kunnossa. Se oli 2005, kun Andrei Zmievski aloitti <a href=\"https:\/\/thecodest.co\/fi\/dictionary\/why-do-projects-fail\/\">projekti<\/a> natiivin Unicode-tuen tuominen <strong>PHP<\/strong> vaihtelevien arvostelujen ja monien huolenaiheiden vuoksi, ett\u00e4 <strong>PHP<\/strong> on menossa v\u00e4\u00e4r\u00e4\u00e4n suuntaan. Kehitys <strong>PHP<\/strong> 6.x k\u00e4ynnistyi. Sit\u00e4 ei kuitenkaan koskaan saatu valmiiksi - ja se on tarina toista p\u00e4iv\u00e4\u00e4 varten. Kymmenen vuotta my\u00f6hemmin, jossain vuosien 2014 ja 2015 v\u00e4lill\u00e4, Dmitry Stogov, Xinchen Hui ja Nikita Popov aloittivat <code>phpng<\/code> - projekti, jossa optimoitiin ja muokattiin sis\u00e4ist\u00e4 Zend Engine\u00e4, jota k\u00e4ytt\u00e4\u00e4 <strong>PHP<\/strong>.<\/p>\n<h4>&gt;_ <em>PHP 7 syntyi<\/em><\/h4>\n<p>Ja viime vuosina, <strong>PHP<\/strong> kasvaa nopeammin kuin koskaan, t\u00e4ll\u00e4 hetkell\u00e4 vakaana versiona 8.1.<\/p>\n<p><img decoding=\"async\" src=\"\/app\/uploads\/2024\/05\/162561908-025b0d15-1b7a-4592-8f81-05c7b29bc3c9.png\" alt=\"kuva\" \/><\/p>\n<p>Kielen uusien ominaisuuksien nopean kehittymisen vuoksi paitsi kehitt\u00e4jien my\u00f6s infrastruktuurin ja hosting-palvelujen tarjoajien oli sopeuduttava n\u00e4ihin muutoksiin.<\/p>\n<p>Varmistaaksemme, ett\u00e4 me kehitt\u00e4j\u00e4t voimme k\u00e4ytt\u00e4\u00e4 rakkaan ohjelmointikielemme uusimpia ja parhaita ominaisuuksia. <strong>Symfony Polyfill<\/strong> hanke syntyi.<\/p>\n<h2>Symfony Polyfill ja sen toiminta<\/h2>\n<blockquote>\n<p>T\u00e4m\u00e4 projekti tukee ominaisuuksia, jotka l\u00f6ytyv\u00e4t uusimmasta <strong>PHP-versiot<\/strong> ja tarjoaa yhteensopivuuskerroksia joillekin laajennuksille ja toiminnoille. Se on tarkoitettu k\u00e4ytett\u00e4v\u00e4ksi silloin, kun siirrett\u00e4vyys yli <strong>PHP-versiot<\/strong> ja laajennuksia halutaan.<\/p>\n<\/blockquote>\n<p>T\u00e4m\u00e4 on puhdas kuvaus <a href=\"https:\/\/github.com\/symfony\/polyfill\" rel=\"nofollow\">Symfony Polyfill<\/a> mutta mit\u00e4 se tarkoittaa? <\/p>\n<p>Nopeasti kehittyv\u00e4n <strong>PHP-kieli<\/strong> ja Internet-palveluntarjoajien ohjelmiston r\u00e4\u00e4t\u00e4l\u00f6inti\u00e4 koskevien vaiheiden vuoksi useimmat kehitt\u00e4j\u00e4t ovat joutuneet tekem\u00e4\u00e4n yksinkertaisen valinnan:<\/p>\n<ul>\n<li>Koska <a href=\"https:\/\/thecodest.co\/fi\/blog\/hire-vue-js-developers\/\">kehitt\u00e4j\u00e4<\/a>, luon sovelluksia vanhemmassa versiossa <strong>PHP<\/strong> eik\u00e4 voi k\u00e4ytt\u00e4\u00e4 kielen uusimpia ominaisuuksia tai<\/li>\n<li>Kehitt\u00e4j\u00e4n\u00e4 luon nykyaikaisen sovelluksen, jossa k\u00e4ytet\u00e4\u00e4n uusinta versiota ohjelmistosta <strong>PHP<\/strong>.<\/li>\n<\/ul>\n<p>Niiden oli kuitenkin s\u00e4ilytett\u00e4v\u00e4 yhteensopivuus muiden ty\u00f6kalujen ja palveluiden kanssa, joita jo k\u00e4ytet\u00e4\u00e4n sek\u00e4 <a href=\"https:\/\/thecodest.co\/fi\/dictionary\/what-is-code-refactoring\/\">koodi<\/a> ja infrastruktuurin puolella - l\u00e4hes aina k\u00e4ytt\u00e4en vanhempia versioita ohjelmistoista <strong>PHP<\/strong>Tarvitseeko minun mainita, hyv\u00e4 lukija, n\u00e4iden kahden ratkaisun niin sanottu \"hauskuus\"?<\/p>\n<p>Helpottaakseen kehitt\u00e4jien tiet\u00e4 Open Source -yhteis\u00f6 loi vuonna 2015 <a href=\"https:\/\/github.com\/symfony\/polyfill\/tree\/v1.0.0\" rel=\"nofollow\">Polyfillin ensimm\u00e4inen vakaa versio numero 1.0.<\/a>. Kehitt\u00e4jien el\u00e4m\u00e4st\u00e4 tuli helpompaa, ja voidaan sanoa, ett\u00e4 Symfony Polyfill ratkaisi monia ongelmia, kuten koodin siirrett\u00e4vyyden eri alustojen v\u00e4lill\u00e4, <strong>PHP-versio<\/strong> eroja, ja se on helpottanut sovellusten uudistamista ja teknologiavelan v\u00e4hent\u00e4mist\u00e4 huomattavasti.<\/p>\n<p>Valitettavasti kaikkia ongelmia ei voida ratkaista yhdell\u00e4 ty\u00f6kalulla.<\/p>\n<h2>Useiden ymp\u00e4rist\u00f6versioiden yll\u00e4pitoon liittyv\u00e4t ongelmat<\/h2>\n<p>Monimutkaisten <strong>IT-hankkeet<\/strong>, eri versioiden yll\u00e4pit\u00e4minen ymp\u00e4rist\u00f6ist\u00e4 eri asiakkaille\/osastoille\/osastoille on yleinen k\u00e4yt\u00e4nt\u00f6. T\u00e4st\u00e4 seuraa tarve kehitt\u00e4\u00e4 samanaikaisesti monia eri sovellushaaroja, joilla on usein erilaiset toiminnalliset vaatimukset ja oma vetovoimansa. Olen kohdannut monta kertaa ongelman saman sovelluksen yll\u00e4pit\u00e4misest\u00e4 eri asiakkaille eri PHP5 \/ PHP7-ymp\u00e4rist\u00f6iss\u00e4, ja kirjastojen tai niiden riippuvuussuhteiden yhteensopimattomuuteen liittyv\u00e4t lukuisat ongelmat eri versioiden osalta ovat yksinkertaisesti ratkaisemattomia k\u00e4ytt\u00e4m\u00e4ll\u00e4 vain <strong>Symfony Polyfill<\/strong>.<\/p>\n<h2>Kehitystiimin j\u00e4senten v\u00e4linen osaamisvaje<\/h2>\n<p>Nopean kasvun vuoksi ominaisuudet on rakennettu <strong>PHP<\/strong>monet kehitt\u00e4j\u00e4t eiv\u00e4t ole pysyneet muutoksen tahdissa mukana. Monet ominaisuuksista, joita tarjotaan korkeammissa versioissa <strong>PHP<\/strong> on helppo toteuttaa ulkoisten kirjastojen avulla, tai kehitt\u00e4j\u00e4t eiv\u00e4t yksinkertaisesti tarvinneet uusia ominaisuuksia, esimerkiksi <a href=\"https:\/\/www.php.net\/manual\/en\/language.fibers.php\" rel=\"nofollow\">PHP Kuidut<\/a>. Kun valitset <a href=\"https:\/\/thecodest.co\/fi\/blog\/how-to-hire-the-best-outsourced-development-team-for-a-scaleup\/\">joukkue<\/a> j\u00e4senille, on hyv\u00e4 varmistaa, ett\u00e4 taidot vastaavat toisiaan tai ett\u00e4 koodin toimitusprosessista tehd\u00e4\u00e4n johdonmukaisempi staattisten analyysity\u00f6kalujen ja version regressiovirheiden varhaisen havaitsemisen avulla.<\/p>\n<h2>Haluttomuus muutokseen<\/h2>\n<p><img decoding=\"async\" src=\"\/app\/uploads\/2024\/05\/168078028-edd8afe9-04aa-4250-983b-7bdf115bc459.png\" alt=\"kuva\" \/><\/p>\n<p>Uusien kieliominaisuuksien omaksuminen on edelleen melko v\u00e4h\u00e4ist\u00e4 ja <strong>PHP<\/strong> 5:n yli 24%:n osuus osoittaa selv\u00e4sti, ett\u00e4 <strong><em>nelj\u00e4sosa PHP-projekteista k\u00e4ytt\u00e4\u00e4 versiota 7.x pienemp\u00e4\u00e4 versiota.<\/em><\/strong>, jonka turvatuki p\u00e4\u00e4ttyy 6. joulukuuta 2022. T\u00e4m\u00e4 tarkoittaa sit\u00e4, ett\u00e4 t\u00e4t\u00e4 viesti\u00e4 kirjoitettaessa yli 25% PHP-pohjaisesta <a href=\"https:\/\/thecodest.co\/fi\/blog\/find-your-ideal-stack-for-web-development\/\">Web<\/a> hankkeet ovat mahdollisesti alttiita kaikille uusille tietoturva-aukoille vuoden loppuun menness\u00e4. \"Jos se toimii, miksi meid\u00e4n pit\u00e4isi vaivautua\"?<\/p>\n<h2>P\u00e4\u00e4telm\u00e4<\/h2>\n<p>Meid\u00e4n on sopeuduttava kielimuutoksiin mahdollisimman nopeasti ja k\u00e4ytett\u00e4v\u00e4 uusimpia ratkaisuja mahdollisimman pian. Legacy-projektin mahdollisen siirtymisen aikana on syyt\u00e4 ottaa huomioon seuraavat seikat <strong>Symfony Polyfill<\/strong> apuna ja k\u00e4ytt\u00e4m\u00e4ll\u00e4 tekniikoita, kuten Strangler Patternia ja t\u00e4ll\u00e4 hetkell\u00e4 muodikasta BDD-menetelm\u00e4\u00e4, jota on uskomattoman helppo soveltaa <strong>Symfony-kehys<\/strong>. Onko meid\u00e4n siis todella pakko k\u00e4ytt\u00e4\u00e4 <strong>Symfony Polyfill<\/strong>?<\/p>\n<p><a href=\"https:\/\/calendly.com\/the-codest-php\/thecodest-php-tech-consultation\"><img decoding=\"async\" src=\"\/app\/uploads\/2024\/05\/php_development.png\" alt=\"PHP-kehityksen ilmainen konsultointi\" \/><\/a><\/p>\n<p><strong>Lue lis\u00e4\u00e4:<\/strong><\/p>\n<p><a href=\"https:\/\/thecodest.co\/blog\/php-development-5-things-you-ought-to-know\">PHP Kehitys: TTPTP: 5 asiaa, jotka sinun pit\u00e4isi tiet\u00e4\u00e4: 5 asiaa, jotka sinun pit\u00e4isi tiet\u00e4\u00e4<\/a><\/p>\n<p><a href=\"https:\/\/thecodest.co\/blog\/7-startups-that-will-shake-the-marketplace-scene-in-2022\/\">7 Startup- ja Scaleup-yrityst\u00e4, jotka ravistelevat markkinoita vuonna 2022<\/a><\/p>\n<p><a href=\"https:\/\/thecodest.co\/blog\/php-development-symfony-console-component-tips-tricks\">PHP Kehitys. Symfony Console Component - Vinkkej\u00e4 ja niksej\u00e4<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>Seuraavassa artikkelissa kerrotaan, miten Symfony Polyfill toimii ja miten se liittyy Symfony-projekteihin. Sukellamme my\u00f6s syvemm\u00e4lle ajatukseen, jonka t\u00e4m\u00e4 kirjasto yritt\u00e4\u00e4 ratkaista.<\/p>","protected":false},"author":2,"featured_media":3884,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[8],"tags":[],"class_list":["post-3883","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-software-development"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.3 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Why do we need Symfony Polyfill (... and why we shouldn&#039;t) - The Codest<\/title>\n<meta name=\"description\" content=\"In the following article, we explain how Symfony Polyfill works and how it relates to Symfony projects. We will also dive deeper into the idea that this library tries to solve.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/thecodest.co\/fi\/blogi\/miksi-tarvitsemme-symfony-polyfill-ja-miksi-meidan-ei-pitaisi-tehda-sita\/\" \/>\n<meta property=\"og:locale\" content=\"fi_FI\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Why do we need Symfony Polyfill (... and why we shouldn&#039;t)\" \/>\n<meta property=\"og:description\" content=\"In the following article, we explain how Symfony Polyfill works and how it relates to Symfony projects. We will also dive deeper into the idea that this library tries to solve.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/thecodest.co\/fi\/blogi\/miksi-tarvitsemme-symfony-polyfill-ja-miksi-meidan-ei-pitaisi-tehda-sita\/\" \/>\n<meta property=\"og:site_name\" content=\"The Codest\" \/>\n<meta property=\"article:published_time\" content=\"2022-05-19T11:20:21+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-28T14:07:09+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/why_do_we_need_symfony_polyfill_-._and_why_we_shouldn_t-.png\" \/>\n\t<meta property=\"og:image:width\" content=\"960\" \/>\n\t<meta property=\"og:image:height\" content=\"540\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"thecodest\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"thecodest\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minuuttia\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/why-do-we-need-symfony-polyfill-and-why-we-shouldnt\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/why-do-we-need-symfony-polyfill-and-why-we-shouldnt\\\/\"},\"author\":{\"name\":\"thecodest\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/person\\\/7e3fe41dfa4f4e41a7baad4c6e0d4f76\"},\"headline\":\"Why do we need Symfony Polyfill (&#8230; and why we shouldn&#8217;t)\",\"datePublished\":\"2022-05-19T11:20:21+00:00\",\"dateModified\":\"2026-04-28T14:07:09+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/why-do-we-need-symfony-polyfill-and-why-we-shouldnt\\\/\"},\"wordCount\":805,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/why-do-we-need-symfony-polyfill-and-why-we-shouldnt\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/why_do_we_need_symfony_polyfill_-._and_why_we_shouldn_t-.png\",\"articleSection\":[\"Software Development\"],\"inLanguage\":\"fi\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/thecodest.co\\\/blog\\\/why-do-we-need-symfony-polyfill-and-why-we-shouldnt\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/why-do-we-need-symfony-polyfill-and-why-we-shouldnt\\\/\",\"url\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/why-do-we-need-symfony-polyfill-and-why-we-shouldnt\\\/\",\"name\":\"Why do we need Symfony Polyfill (... and why we shouldn't) - The Codest\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/why-do-we-need-symfony-polyfill-and-why-we-shouldnt\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/why-do-we-need-symfony-polyfill-and-why-we-shouldnt\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/why_do_we_need_symfony_polyfill_-._and_why_we_shouldn_t-.png\",\"datePublished\":\"2022-05-19T11:20:21+00:00\",\"dateModified\":\"2026-04-28T14:07:09+00:00\",\"description\":\"In the following article, we explain how Symfony Polyfill works and how it relates to Symfony projects. We will also dive deeper into the idea that this library tries to solve.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/why-do-we-need-symfony-polyfill-and-why-we-shouldnt\\\/#breadcrumb\"},\"inLanguage\":\"fi\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/thecodest.co\\\/blog\\\/why-do-we-need-symfony-polyfill-and-why-we-shouldnt\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fi\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/why-do-we-need-symfony-polyfill-and-why-we-shouldnt\\\/#primaryimage\",\"url\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/why_do_we_need_symfony_polyfill_-._and_why_we_shouldn_t-.png\",\"contentUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/why_do_we_need_symfony_polyfill_-._and_why_we_shouldn_t-.png\",\"width\":960,\"height\":540},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/why-do-we-need-symfony-polyfill-and-why-we-shouldnt\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/thecodest.co\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Why do we need Symfony Polyfill (&#8230; and why we shouldn&#8217;t)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#website\",\"url\":\"https:\\\/\\\/thecodest.co\\\/\",\"name\":\"The Codest\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/thecodest.co\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fi\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#organization\",\"name\":\"The Codest\",\"url\":\"https:\\\/\\\/thecodest.co\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fi\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/03\\\/thecodest-logo.svg\",\"contentUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/03\\\/thecodest-logo.svg\",\"width\":144,\"height\":36,\"caption\":\"The Codest\"},\"image\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/pl.linkedin.com\\\/company\\\/codest\",\"https:\\\/\\\/clutch.co\\\/profile\\\/codest\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/person\\\/7e3fe41dfa4f4e41a7baad4c6e0d4f76\",\"name\":\"thecodest\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fi\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g\",\"caption\":\"thecodest\"},\"url\":\"https:\\\/\\\/thecodest.co\\\/fi\\\/author\\\/thecodest\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Miksi tarvitsemme Symfony Polyfilli\u00e4 (... ja miksi meid\u00e4n ei pit\u00e4isi) - The Codest","description":"Seuraavassa artikkelissa kerrotaan, miten Symfony Polyfill toimii ja miten se liittyy Symfony-projekteihin. Sukellamme my\u00f6s syvemm\u00e4lle ajatukseen, jonka t\u00e4m\u00e4 kirjasto yritt\u00e4\u00e4 ratkaista.","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:\/\/thecodest.co\/fi\/blogi\/miksi-tarvitsemme-symfony-polyfill-ja-miksi-meidan-ei-pitaisi-tehda-sita\/","og_locale":"fi_FI","og_type":"article","og_title":"Why do we need Symfony Polyfill (... and why we shouldn't)","og_description":"In the following article, we explain how Symfony Polyfill works and how it relates to Symfony projects. We will also dive deeper into the idea that this library tries to solve.","og_url":"https:\/\/thecodest.co\/fi\/blogi\/miksi-tarvitsemme-symfony-polyfill-ja-miksi-meidan-ei-pitaisi-tehda-sita\/","og_site_name":"The Codest","article_published_time":"2022-05-19T11:20:21+00:00","article_modified_time":"2026-04-28T14:07:09+00:00","og_image":[{"width":960,"height":540,"url":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/why_do_we_need_symfony_polyfill_-._and_why_we_shouldn_t-.png","type":"image\/png"}],"author":"thecodest","twitter_card":"summary_large_image","twitter_misc":{"Written by":"thecodest","Est. reading time":"5 minuuttia"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/thecodest.co\/blog\/why-do-we-need-symfony-polyfill-and-why-we-shouldnt\/#article","isPartOf":{"@id":"https:\/\/thecodest.co\/blog\/why-do-we-need-symfony-polyfill-and-why-we-shouldnt\/"},"author":{"name":"thecodest","@id":"https:\/\/thecodest.co\/#\/schema\/person\/7e3fe41dfa4f4e41a7baad4c6e0d4f76"},"headline":"Why do we need Symfony Polyfill (&#8230; and why we shouldn&#8217;t)","datePublished":"2022-05-19T11:20:21+00:00","dateModified":"2026-04-28T14:07:09+00:00","mainEntityOfPage":{"@id":"https:\/\/thecodest.co\/blog\/why-do-we-need-symfony-polyfill-and-why-we-shouldnt\/"},"wordCount":805,"commentCount":0,"publisher":{"@id":"https:\/\/thecodest.co\/#organization"},"image":{"@id":"https:\/\/thecodest.co\/blog\/why-do-we-need-symfony-polyfill-and-why-we-shouldnt\/#primaryimage"},"thumbnailUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/why_do_we_need_symfony_polyfill_-._and_why_we_shouldn_t-.png","articleSection":["Software Development"],"inLanguage":"fi","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/thecodest.co\/blog\/why-do-we-need-symfony-polyfill-and-why-we-shouldnt\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/thecodest.co\/blog\/why-do-we-need-symfony-polyfill-and-why-we-shouldnt\/","url":"https:\/\/thecodest.co\/blog\/why-do-we-need-symfony-polyfill-and-why-we-shouldnt\/","name":"Miksi tarvitsemme Symfony Polyfilli\u00e4 (... ja miksi meid\u00e4n ei pit\u00e4isi) - The Codest","isPartOf":{"@id":"https:\/\/thecodest.co\/#website"},"primaryImageOfPage":{"@id":"https:\/\/thecodest.co\/blog\/why-do-we-need-symfony-polyfill-and-why-we-shouldnt\/#primaryimage"},"image":{"@id":"https:\/\/thecodest.co\/blog\/why-do-we-need-symfony-polyfill-and-why-we-shouldnt\/#primaryimage"},"thumbnailUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/why_do_we_need_symfony_polyfill_-._and_why_we_shouldn_t-.png","datePublished":"2022-05-19T11:20:21+00:00","dateModified":"2026-04-28T14:07:09+00:00","description":"Seuraavassa artikkelissa kerrotaan, miten Symfony Polyfill toimii ja miten se liittyy Symfony-projekteihin. Sukellamme my\u00f6s syvemm\u00e4lle ajatukseen, jonka t\u00e4m\u00e4 kirjasto yritt\u00e4\u00e4 ratkaista.","breadcrumb":{"@id":"https:\/\/thecodest.co\/blog\/why-do-we-need-symfony-polyfill-and-why-we-shouldnt\/#breadcrumb"},"inLanguage":"fi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/thecodest.co\/blog\/why-do-we-need-symfony-polyfill-and-why-we-shouldnt\/"]}]},{"@type":"ImageObject","inLanguage":"fi","@id":"https:\/\/thecodest.co\/blog\/why-do-we-need-symfony-polyfill-and-why-we-shouldnt\/#primaryimage","url":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/why_do_we_need_symfony_polyfill_-._and_why_we_shouldn_t-.png","contentUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/why_do_we_need_symfony_polyfill_-._and_why_we_shouldn_t-.png","width":960,"height":540},{"@type":"BreadcrumbList","@id":"https:\/\/thecodest.co\/blog\/why-do-we-need-symfony-polyfill-and-why-we-shouldnt\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/thecodest.co\/"},{"@type":"ListItem","position":2,"name":"Why do we need Symfony Polyfill (&#8230; and why we shouldn&#8217;t)"}]},{"@type":"WebSite","@id":"https:\/\/thecodest.co\/#website","url":"https:\/\/thecodest.co\/","name":"Codest","description":"","publisher":{"@id":"https:\/\/thecodest.co\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/thecodest.co\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fi"},{"@type":"Organization","@id":"https:\/\/thecodest.co\/#organization","name":"Codest","url":"https:\/\/thecodest.co\/","logo":{"@type":"ImageObject","inLanguage":"fi","@id":"https:\/\/thecodest.co\/#\/schema\/logo\/image\/","url":"https:\/\/thecodest.co\/app\/uploads\/2024\/03\/thecodest-logo.svg","contentUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/03\/thecodest-logo.svg","width":144,"height":36,"caption":"The Codest"},"image":{"@id":"https:\/\/thecodest.co\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/pl.linkedin.com\/company\/codest","https:\/\/clutch.co\/profile\/codest"]},{"@type":"Person","@id":"https:\/\/thecodest.co\/#\/schema\/person\/7e3fe41dfa4f4e41a7baad4c6e0d4f76","name":"thecodest","image":{"@type":"ImageObject","inLanguage":"fi","@id":"https:\/\/secure.gravatar.com\/avatar\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g","caption":"thecodest"},"url":"https:\/\/thecodest.co\/fi\/author\/thecodest\/"}]}},"_links":{"self":[{"href":"https:\/\/thecodest.co\/fi\/wp-json\/wp\/v2\/posts\/3883","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thecodest.co\/fi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thecodest.co\/fi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thecodest.co\/fi\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/thecodest.co\/fi\/wp-json\/wp\/v2\/comments?post=3883"}],"version-history":[{"count":5,"href":"https:\/\/thecodest.co\/fi\/wp-json\/wp\/v2\/posts\/3883\/revisions"}],"predecessor-version":[{"id":8142,"href":"https:\/\/thecodest.co\/fi\/wp-json\/wp\/v2\/posts\/3883\/revisions\/8142"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/thecodest.co\/fi\/wp-json\/wp\/v2\/media\/3884"}],"wp:attachment":[{"href":"https:\/\/thecodest.co\/fi\/wp-json\/wp\/v2\/media?parent=3883"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thecodest.co\/fi\/wp-json\/wp\/v2\/categories?post=3883"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thecodest.co\/fi\/wp-json\/wp\/v2\/tags?post=3883"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}