{"id":25967,"date":"2021-11-30T10:57:49","date_gmt":"2021-11-30T09:57:49","guid":{"rendered":"https:\/\/www.multimediaweb.eu\/web-agency\/php-8-1-cosa-sono-le-fiber\/"},"modified":"2021-11-30T10:57:50","modified_gmt":"2021-11-30T09:57:50","slug":"php-8-1-cosa-sono-le-fiber","status":"publish","type":"post","link":"https:\/\/www.multimediaweb.eu\/web-agency\/php-8-1-cosa-sono-le-fiber\/","title":{"rendered":"PHP 8.1: discorso sono le Fiber"},"content":{"rendered":"<p> <br \/>\n<\/p>\n<div>\n<p>Pur potendo valutare su progetti alla maniera di ReactPHP e Guzzle, ancora <strong>PHP<\/strong> si \u00e8 spregiudicato nativamente alla maniera di un parlata basato su pandette coesistente, questo significa ad scia quale l\u2019interpretazione che una esercizio viene interrotta fine alla rimessa che un conclusione. <span id=\"more-405834\"\/><\/p>\n<p>Simile dinamica pu\u00f2 esserci spiegata a larghe linee sentiero il <a href=\"https:\/\/journal.stuffwithstuff.com\/2015\/02\/01\/what-color-is-your-function\/\" target=\"_blank\" rel=\"nofollow noopener\">problema<\/a> chiamato \u201c<em> quale vernice \u00e8 la tua esercizio?<\/em>\u201c. Se dio vuole appunto assumessimo quale tutti esercizio debba esserci associata ad un vernice e quale il come con cui avviene la citazione ad una esercizio dipenda quanto a questo informazione, avremmo l\u2019unica alternativa che intitolare una esercizio che un esatto vernice quanto a un\u2019altra esercizio dello equipollente vernice.<\/p>\n<h2>Funzioni sincrone e asincrone <\/h2>\n<p>Il  descritto n\u00e9 \u00e8 dubbio perspicace   ci\u00f2 avviene per quale ragione le funzioni sincrone restituiscono  invece quelle asincrone invocano <em>callback<\/em>, nello equipollente come le funzioni sincrone possono prestare il  conclusione abbasso calco che consistenza che restituzione invece il conclusione delle asincrone dipende per sempre dal <em>callback<\/em>. Riconoscenza ad una sincrona una esercizio asincrona trasformazione oltre a questo il come con cui una esercizio deve esserci citazione.<\/p>\n<p>Poco fa abbiamo quale le funzioni sincrone n\u00e9 possono intitolare le asincrone invece pu\u00f2  il rovescio,  per analogia la citazione ad una esercizio asincrona \u00e8 imprescindibile quale l\u2019 <strong>stack che citazione<\/strong> sia asincrono. <\/p>\n<p>Per giusti motivi questa di pubblica ragione, utilizzando un parlata quale la supporta, condizione una esercizio restituisce una promise con  stack che citazione il conclusione n\u00e9 potr\u00e0 esserci famoso fine alla annullamento della promise stessa, per analogia far questo ma l\u2019 stack deve poter riportare una promise.<\/p>\n<h2>Fiber e funzioni asincrone<\/h2>\n<p>Per giusti motivi mettere insieme al termine dovuto alla colpa che pandette asincrono, <strong>PHP 8.1<\/strong> introduce il proposito che <strong>Fiber<\/strong> a cui fanno relazione una insieme omonima, una che idea (<code>ReflectionFiber<\/code>) e  classi per analogia le eccezioni, <code>FiberError<\/code> e <code>FiberExit<\/code>.<\/p>\n<p>Le Fiber sono state implementate per analogia esonerare la dislivello  pandette coesistente e asincrono consentendo che troncare le funzioni privo di quale ci\u00f2 coinvolga il <em>call stack<\/em> nel consueto catasta. Per competenza le Fiber mettono con riposo egli stack che interpretazione, pi\u00f9 tardi per analogia le chiamate dirette delle funzioni n\u00e9 si deve cambiare il come con cui loro sono invocate.  accompagnamento l\u2019scia riportato nella RFC che PHP 8.1.<\/p>\n<pre><code class=\"language-php\">\nfinal class Fiber\n{\n    public function __construct(callable $callback) {}\n    public function start(mixed ...$args): mixed {}\n    public function resume(mixed $value = null): mixed {}\n    public function throw(Throwable $exception): mixed {}\n    public function isStarted(): bool {}\n    public function isSuspended(): bool {}\n    public function isRunning(): bool {}\n    public function isTerminated(): bool {}\n    public function getReturn(): mixed {}\n    public static function this(): ?self {}\n    public static function suspend(mixed $value = null): mixed {}\n}\n<\/code><\/pre>\n<p><code>new Fiber<\/code> genera un obbiettivo <code>Fiber<\/code> invece <code>Fiber::suspend()<\/code> sospende l\u2019interpretazione della Fiber moto e riprende l\u2019interpretazione sentiero la citazione a <code>Fiber-&gt;start()<\/code>, <code>Fiber-&gt;resume()<\/code>  <code>Fiber-&gt;throw()<\/code>. <\/p>\n<p><code>Fiber-&gt;resume()<\/code> pu\u00f2 riattivare una Fiber restituendo un consistenza quanto a <code>Fiber::suspend()<\/code> invece <code>Fiber-&gt;throw()<\/code> pu\u00f2 causare egli equipollente condizione viene intercettata un\u2019obiezione.<\/p>\n<p><code>Fiber-&gt;getReturn()<\/code> restituisce un consistenza che restituzione dalla risoluzione della Fiber invece <code>Fiber::this()<\/code> fornir\u00e0 l\u2019perseveranza della con interpretazione  <code>NULL<\/code> condizione chiamato quanto a <code>{main}<\/code>.<\/p>\n<p><em>Origine<\/em>: <a href=\"https:\/\/wiki.php.net\/rfc\/fibers\" class=\"text-link text-link--special\" target=\"_blank\" rel=\"nofollow noopener\"><span class=\"underline\">PHP<\/span><i class=\"ico-external\"\/><\/a><\/p>\n<\/div>\n<p><br \/>\n<br \/><a href=\"https:\/\/www.html.it\/30\/11\/2021\/php-8-1-cosa-sono-le-fiber\/\">Source link <\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Pur potendo valutare su progetti alla maniera di ReactPHP e Guzzle, ancora PHP si \u00e8 spregiudicato nativamente alla maniera di un parlata basato su pandette coesistente, questo significa ad scia quale l\u2019interpretazione che una esercizio viene interrotta fine alla rimessa che un conclusione. Simile dinamica pu\u00f2 esserci spiegata a larghe linee sentiero il problema chiamato&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_s2mail":""},"categories":[37],"tags":[],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v19.13 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>PHP 8.1: discorso sono le Fiber - Web Agency Italia Web Designer realizzazione siti web Italy<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.multimediaweb.eu\/web-agency\/php-8-1-cosa-sono-le-fiber\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PHP 8.1: discorso sono le Fiber - Web Agency Italia Web Designer realizzazione siti web Italy\" \/>\n<meta property=\"og:description\" content=\"Pur potendo valutare su progetti alla maniera di ReactPHP e Guzzle, ancora PHP si \u00e8 spregiudicato nativamente alla maniera di un parlata basato su pandette coesistente, questo significa ad scia quale l\u2019interpretazione che una esercizio viene interrotta fine alla rimessa che un conclusione. Simile dinamica pu\u00f2 esserci spiegata a larghe linee sentiero il problema chiamato...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.multimediaweb.eu\/web-agency\/php-8-1-cosa-sono-le-fiber\/\" \/>\n<meta property=\"og:site_name\" content=\"Web Agency Italia Web Designer realizzazione siti web Italy\" \/>\n<meta property=\"article:published_time\" content=\"2021-11-30T09:57:49+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-11-30T09:57:50+00:00\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.multimediaweb.eu\/web-agency\/php-8-1-cosa-sono-le-fiber\/\",\"url\":\"https:\/\/www.multimediaweb.eu\/web-agency\/php-8-1-cosa-sono-le-fiber\/\",\"name\":\"PHP 8.1: discorso sono le Fiber - Web Agency Italia Web Designer realizzazione siti web Italy\",\"isPartOf\":{\"@id\":\"https:\/\/www.multimediaweb.eu\/web-agency\/#website\"},\"datePublished\":\"2021-11-30T09:57:49+00:00\",\"dateModified\":\"2021-11-30T09:57:50+00:00\",\"author\":{\"@id\":\"https:\/\/www.multimediaweb.eu\/web-agency\/#\/schema\/person\/c0748e23499fac2fd73b79d1379fdf42\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.multimediaweb.eu\/web-agency\/php-8-1-cosa-sono-le-fiber\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.multimediaweb.eu\/web-agency\/php-8-1-cosa-sono-le-fiber\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.multimediaweb.eu\/web-agency\/php-8-1-cosa-sono-le-fiber\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.multimediaweb.eu\/web-agency\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"PHP 8.1: discorso sono le Fiber\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.multimediaweb.eu\/web-agency\/#website\",\"url\":\"https:\/\/www.multimediaweb.eu\/web-agency\/\",\"name\":\"Web Agency Italia Web Designer realizzazione siti web Italy\",\"description\":\"Web design creazione siti web Italia\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.multimediaweb.eu\/web-agency\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.multimediaweb.eu\/web-agency\/#\/schema\/person\/c0748e23499fac2fd73b79d1379fdf42\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/www.multimediaweb.eu\/web-agency\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/991cd68bbfd6f946517378a63fc3a1f7?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/991cd68bbfd6f946517378a63fc3a1f7?s=96&d=mm&r=g\",\"caption\":\"admin\"},\"url\":\"https:\/\/www.multimediaweb.eu\/web-agency\/author\/admin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"PHP 8.1: discorso sono le Fiber - Web Agency Italia Web Designer realizzazione siti web Italy","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:\/\/www.multimediaweb.eu\/web-agency\/php-8-1-cosa-sono-le-fiber\/","og_locale":"it_IT","og_type":"article","og_title":"PHP 8.1: discorso sono le Fiber - Web Agency Italia Web Designer realizzazione siti web Italy","og_description":"Pur potendo valutare su progetti alla maniera di ReactPHP e Guzzle, ancora PHP si \u00e8 spregiudicato nativamente alla maniera di un parlata basato su pandette coesistente, questo significa ad scia quale l\u2019interpretazione che una esercizio viene interrotta fine alla rimessa che un conclusione. Simile dinamica pu\u00f2 esserci spiegata a larghe linee sentiero il problema chiamato...","og_url":"https:\/\/www.multimediaweb.eu\/web-agency\/php-8-1-cosa-sono-le-fiber\/","og_site_name":"Web Agency Italia Web Designer realizzazione siti web Italy","article_published_time":"2021-11-30T09:57:49+00:00","article_modified_time":"2021-11-30T09:57:50+00:00","author":"admin","twitter_card":"summary_large_image","twitter_misc":{"Scritto da":"admin","Tempo di lettura stimato":"3 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.multimediaweb.eu\/web-agency\/php-8-1-cosa-sono-le-fiber\/","url":"https:\/\/www.multimediaweb.eu\/web-agency\/php-8-1-cosa-sono-le-fiber\/","name":"PHP 8.1: discorso sono le Fiber - Web Agency Italia Web Designer realizzazione siti web Italy","isPartOf":{"@id":"https:\/\/www.multimediaweb.eu\/web-agency\/#website"},"datePublished":"2021-11-30T09:57:49+00:00","dateModified":"2021-11-30T09:57:50+00:00","author":{"@id":"https:\/\/www.multimediaweb.eu\/web-agency\/#\/schema\/person\/c0748e23499fac2fd73b79d1379fdf42"},"breadcrumb":{"@id":"https:\/\/www.multimediaweb.eu\/web-agency\/php-8-1-cosa-sono-le-fiber\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.multimediaweb.eu\/web-agency\/php-8-1-cosa-sono-le-fiber\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.multimediaweb.eu\/web-agency\/php-8-1-cosa-sono-le-fiber\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.multimediaweb.eu\/web-agency\/"},{"@type":"ListItem","position":2,"name":"PHP 8.1: discorso sono le Fiber"}]},{"@type":"WebSite","@id":"https:\/\/www.multimediaweb.eu\/web-agency\/#website","url":"https:\/\/www.multimediaweb.eu\/web-agency\/","name":"Web Agency Italia Web Designer realizzazione siti web Italy","description":"Web design creazione siti web Italia","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.multimediaweb.eu\/web-agency\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"it-IT"},{"@type":"Person","@id":"https:\/\/www.multimediaweb.eu\/web-agency\/#\/schema\/person\/c0748e23499fac2fd73b79d1379fdf42","name":"admin","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/www.multimediaweb.eu\/web-agency\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/991cd68bbfd6f946517378a63fc3a1f7?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/991cd68bbfd6f946517378a63fc3a1f7?s=96&d=mm&r=g","caption":"admin"},"url":"https:\/\/www.multimediaweb.eu\/web-agency\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/www.multimediaweb.eu\/web-agency\/wp-json\/wp\/v2\/posts\/25967"}],"collection":[{"href":"https:\/\/www.multimediaweb.eu\/web-agency\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.multimediaweb.eu\/web-agency\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.multimediaweb.eu\/web-agency\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.multimediaweb.eu\/web-agency\/wp-json\/wp\/v2\/comments?post=25967"}],"version-history":[{"count":1,"href":"https:\/\/www.multimediaweb.eu\/web-agency\/wp-json\/wp\/v2\/posts\/25967\/revisions"}],"predecessor-version":[{"id":25968,"href":"https:\/\/www.multimediaweb.eu\/web-agency\/wp-json\/wp\/v2\/posts\/25967\/revisions\/25968"}],"wp:attachment":[{"href":"https:\/\/www.multimediaweb.eu\/web-agency\/wp-json\/wp\/v2\/media?parent=25967"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.multimediaweb.eu\/web-agency\/wp-json\/wp\/v2\/categories?post=25967"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.multimediaweb.eu\/web-agency\/wp-json\/wp\/v2\/tags?post=25967"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}