{"id":1343,"date":"2016-02-23T11:24:19","date_gmt":"2016-02-23T11:24:19","guid":{"rendered":"http:\/\/frank-it-beratung.com\/blog\/?p=1343"},"modified":"2016-02-23T11:28:18","modified_gmt":"2016-02-23T11:28:18","slug":"threads-mit-php-tutorial","status":"publish","type":"post","link":"https:\/\/frank-it-projekte.de\/blog\/2016\/02\/23\/threads-mit-php-tutorial\/","title":{"rendered":"Threads mit PHP &#8211; ein kurzes Tutorial"},"content":{"rendered":"<p>W\u00e4hrend in vielen Programmiersprachen Threads eine zentrale Rolle spielen, ist dies bei PHP sozusagen &#8222;architekturbedingt&#8220; meist nicht so wichtig. Folgendes Beispiel soll jedoch demonstrieren, dass Threads auch in PHP n\u00fctzlich sein k\u00f6nnen.<\/p>\n<p><a href=\"http:\/\/frank-it-beratung.com\/blog\/wp-content\/uploads\/2016\/02\/Bild4.png\" rel=\"attachment wp-att-1346\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1346\" data-permalink=\"https:\/\/frank-it-projekte.de\/blog\/2016\/02\/23\/threads-mit-php-tutorial\/bild4-4\/\" data-orig-file=\"https:\/\/frank-it-projekte.de\/blog\/wp-content\/uploads\/2016\/02\/Bild4.png\" data-orig-size=\"431,170\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Bild4\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/frank-it-projekte.de\/blog\/wp-content\/uploads\/2016\/02\/Bild4.png\" class=\"alignnone size-full wp-image-1346\" src=\"http:\/\/frank-it-beratung.com\/blog\/wp-content\/uploads\/2016\/02\/Bild4.png\" alt=\"Bild4\" width=\"431\" height=\"170\" srcset=\"https:\/\/frank-it-projekte.de\/blog\/wp-content\/uploads\/2016\/02\/Bild4.png 431w, https:\/\/frank-it-projekte.de\/blog\/wp-content\/uploads\/2016\/02\/Bild4-300x118.png 300w\" sizes=\"auto, (max-width: 431px) 100vw, 431px\" \/><\/a><\/p>\n<p>Im dem folgenden Beispiel muss eine PHP-Anwendung zwei REST-Webservices kontaktieren, um von dort Daten zu laden. Daf\u00fcr wird fopen() eingesetzt. Leider sind diese beiden Services relativ langsam, da beispielsweise komplexe Datenbankzugriffe notwendig sind. Die Antwortzeit des einen Servers betr\u00e4gt ca. 4 Sekunden, des anderen Servers ca. 2 Sekunden. <!--more-->Folgender Codeausschnitt demonstriert den Zugriff (noch ohne Threads):<\/p>\n<pre>&lt;?php\r\n\r\n$zeit=microtime(true);\r\n\r\n$handle = fopen(\"http:\/\/example.de\/service\", \"r\");\r\n$response1=fgets($handle);\r\nfclose($handle);\r\necho $response1.\"&lt;br\/&gt;\";\r\n\r\n$handle = fopen(\"http:\/\/beispiel.de\/service\", \"r\");\r\n$response2=fgets($handle).\"&lt;br\/&gt;\";\r\nfclose($handle);\r\necho $response2;\r\n\r\necho \"Dauer: \"\u00a0 . (microtime(true) - $zeit). \" Sekunden\";<\/pre>\n<p>Um dies selbst testen zu k\u00f6nnen, \u00e4ndern Sie dies wie folgt ab:<\/p>\n<pre>\/\/...\r\n$handle = fopen(\"http:\/\/localhost\/server1.php\", \"r\");\r\n\r\n\/\/...\r\n$handle = fopen(\"http:\/\/localhost\/server2.php\", \"r\");<\/pre>\n<p>Das Server-Script (server1.php und server2.php) f\u00fcr den Test simuliert die Wartezeit (des Datenbankzugriffs) mit sleep() und sieht wie folgt aus:<\/p>\n<pre>&lt;?php\r\nsleep(4); \/\/f\u00fcr Server2: sleep(2)\r\necho \"Hallo von Server1!\";<\/pre>\n<p>Wie zu erwarten war dauert die Ausf\u00fchrung des Test-Scripts ca. 6 Sekunden, da Server1 ca. 4 Sekunden und Server2 ca. 2 Sekunden ben\u00f6tigt (siehe Screenshot oben)<\/p>\n<p>Die Ausf\u00fchrung des Scripts l\u00e4sst sich nun durch parallele Ausf\u00fchrung mit Threads optimieren. Wenn beide fopen()-Zugriffe (quasi) gleichzeitig starten, also Server1 und Server2 parallel kontaktiert werden, m\u00fcsste die Ausf\u00fchrung nur ca. 4 Sekunden dauern (=die Laufzeit des langsameren Servers).<\/p>\n<p>Um in PHP Threads nutzen zu k\u00f6nnen, ist die Bibliothek pthreads zu empfehlen, die leicht zu aktivieren bzw. zu installieren ist. Wie dies geht erfahren Sie auf der <a href=\"http:\/\/php.net\/manual\/de\/book.pthreads.php\" target=\"_blank\">PHP-Website<\/a>. (Tipp: Wenn Sie noch nicht PHP7 verwenden, nutzen Sie die Version 2.0.9).<\/p>\n<p>Jetzt unser Script mit Threads:<\/p>\n<pre>&lt;?php\r\n\r\nclass workerThread extends Thread {\r\n\u00a0\u00a0 \u00a0\r\n\u00a0\u00a0 \u00a0private $url;\r\n\u00a0\u00a0 \u00a0\r\n\u00a0\u00a0 \u00a0public function __construct($url){\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0$this-&gt;url=$url;\r\n\u00a0\u00a0 \u00a0}\r\n\r\n\u00a0\u00a0 \u00a0public function run(){\r\n\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0$handle = fopen($this-&gt;url, \"r\");\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0$response1=fgets($handle);\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0fclose($handle);\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0echo $response1.\"&lt;br\/&gt;\";\r\n\r\n\u00a0\u00a0 \u00a0}\r\n}\r\n\r\n$zeit=microtime(true);\r\n\r\n$worker1=new workerThread(\"http:\/\/localhost\/server1.php\");\r\n$worker1-&gt;start();\r\n\r\n$worker2=new workerThread(\"http:\/\/localhost\/server2.php\");\r\n$worker2-&gt;start();\r\n\r\nwhile ($worker1-&gt;isRunning())\r\n{\r\n\u00a0\u00a0 \u00a0\/\/in der Praxis nicht so sinnvoll\r\n\u00a0\u00a0 \u00a0\/\/jedoch f\u00fcr Zeitmessung hilfreich \r\n}\r\n\r\necho \"Dauer: \"\u00a0 . (microtime(true) - $zeit) . \" Sekunden\";<\/pre>\n<p>Und der Test &#8211; tats\u00e4chlich sind es nur ca. 4 Sekunden:<\/p>\n<p><a href=\"http:\/\/frank-it-beratung.com\/blog\/wp-content\/uploads\/2016\/02\/Bild3.png\" rel=\"attachment wp-att-1348\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1348\" data-permalink=\"https:\/\/frank-it-projekte.de\/blog\/2016\/02\/23\/threads-mit-php-tutorial\/bild3\/\" data-orig-file=\"https:\/\/frank-it-projekte.de\/blog\/wp-content\/uploads\/2016\/02\/Bild3.png\" data-orig-size=\"435,170\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Bild3\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/frank-it-projekte.de\/blog\/wp-content\/uploads\/2016\/02\/Bild3.png\" class=\"alignnone size-full wp-image-1348\" src=\"http:\/\/frank-it-beratung.com\/blog\/wp-content\/uploads\/2016\/02\/Bild3.png\" alt=\"Bild3\" width=\"435\" height=\"170\" srcset=\"https:\/\/frank-it-projekte.de\/blog\/wp-content\/uploads\/2016\/02\/Bild3.png 435w, https:\/\/frank-it-projekte.de\/blog\/wp-content\/uploads\/2016\/02\/Bild3-300x117.png 300w\" sizes=\"auto, (max-width: 435px) 100vw, 435px\" \/><\/a><\/p>\n<p>Wie Sie ebenfalls sehen, wird das Ergebnis des Workers2 zuerst ausgegeben, da der Server2 ja bereits nach 2 Sekunden fertig ist.<\/p>\n<p><strong>Achtung:<\/strong> Wenn Sie sich noch nicht mit Threads besch\u00e4ftigt haben, sollten Sie sich unbedingt mit dem Themen Synchronisierung, wait() und notify() besch\u00e4ftigen, sonst kann es ein gro\u00dfes Durcheinander geben.<\/p>\n<p>P.S.<\/p>\n<p>Probleme? Fragen? Anregungen? Ich helfe jederzeit und gerne\u00a0 \u2013 einfach einen Kommentar oder Mail schreiben, die Antwort kommt schnellstm\u00f6glich. Unternehmen, die Unterst\u00fctzung, Beratung oder Schulung bei der API- oder Webprogrammierung, der Social-Media-Entwicklung oder dem Social-Media-Management ben\u00f6tigen finden zudem entsprechende Angebote meiner Firma auf der Website <a href=\"http:\/\/www.Frank-IT-Beratung.de\" target=\"_blank\">www.Frank-IT-Beratung.de<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>W\u00e4hrend in vielen Programmiersprachen Threads eine zentrale Rolle spielen, ist dies bei PHP sozusagen &#8222;architekturbedingt&#8220; meist nicht so wichtig. Folgendes Beispiel soll jedoch demonstrieren, dass Threads auch in PHP n\u00fctzlich sein k\u00f6nnen. Im dem folgenden Beispiel muss eine PHP-Anwendung zwei &hellip; <a href=\"https:\/\/frank-it-projekte.de\/blog\/2016\/02\/23\/threads-mit-php-tutorial\/\">Weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[15,16,90],"tags":[],"class_list":["post-1343","post","type-post","status-publish","format-standard","hentry","category-php","category-programmierung","category-webprogrammierung"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Threads mit PHP - ein kurzes Tutorial - Socialweb Dev-Blog \/\/ Frank-IT-Beratung<\/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:\/\/frank-it-projekte.de\/blog\/2016\/02\/23\/threads-mit-php-tutorial\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Threads mit PHP - ein kurzes Tutorial - Socialweb Dev-Blog \/\/ Frank-IT-Beratung\" \/>\n<meta property=\"og:description\" content=\"W\u00e4hrend in vielen Programmiersprachen Threads eine zentrale Rolle spielen, ist dies bei PHP sozusagen &#8222;architekturbedingt&#8220; meist nicht so wichtig. Folgendes Beispiel soll jedoch demonstrieren, dass Threads auch in PHP n\u00fctzlich sein k\u00f6nnen. Im dem folgenden Beispiel muss eine PHP-Anwendung zwei &hellip; Weiterlesen &rarr;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/frank-it-projekte.de\/blog\/2016\/02\/23\/threads-mit-php-tutorial\/\" \/>\n<meta property=\"og:site_name\" content=\"Socialweb Dev-Blog \/\/ Frank-IT-Beratung\" \/>\n<meta property=\"article:published_time\" content=\"2016-02-23T11:24:19+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2016-02-23T11:28:18+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/frank-it-beratung.com\/blog\/wp-content\/uploads\/2016\/02\/Bild4.png\" \/>\n<meta name=\"author\" content=\"Simon A. Frank\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Simon A. Frank\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"3\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/frank-it-projekte.de\\\/blog\\\/2016\\\/02\\\/23\\\/threads-mit-php-tutorial\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/frank-it-projekte.de\\\/blog\\\/2016\\\/02\\\/23\\\/threads-mit-php-tutorial\\\/\"},\"author\":{\"name\":\"Simon A. Frank\",\"@id\":\"https:\\\/\\\/frank-it-projekte.de\\\/blog\\\/#\\\/schema\\\/person\\\/e31d0c55b9277739ef6c87d5e7bb47a2\"},\"headline\":\"Threads mit PHP &#8211; ein kurzes Tutorial\",\"datePublished\":\"2016-02-23T11:24:19+00:00\",\"dateModified\":\"2016-02-23T11:28:18+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/frank-it-projekte.de\\\/blog\\\/2016\\\/02\\\/23\\\/threads-mit-php-tutorial\\\/\"},\"wordCount\":364,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\\\/\\\/frank-it-projekte.de\\\/blog\\\/#\\\/schema\\\/person\\\/e31d0c55b9277739ef6c87d5e7bb47a2\"},\"image\":{\"@id\":\"https:\\\/\\\/frank-it-projekte.de\\\/blog\\\/2016\\\/02\\\/23\\\/threads-mit-php-tutorial\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/frank-it-beratung.com\\\/blog\\\/wp-content\\\/uploads\\\/2016\\\/02\\\/Bild4.png\",\"articleSection\":[\"PHP\",\"Programmierung\",\"Webprogrammierung\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/frank-it-projekte.de\\\/blog\\\/2016\\\/02\\\/23\\\/threads-mit-php-tutorial\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/frank-it-projekte.de\\\/blog\\\/2016\\\/02\\\/23\\\/threads-mit-php-tutorial\\\/\",\"url\":\"https:\\\/\\\/frank-it-projekte.de\\\/blog\\\/2016\\\/02\\\/23\\\/threads-mit-php-tutorial\\\/\",\"name\":\"Threads mit PHP - ein kurzes Tutorial - Socialweb Dev-Blog \\\/\\\/ Frank-IT-Beratung\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/frank-it-projekte.de\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/frank-it-projekte.de\\\/blog\\\/2016\\\/02\\\/23\\\/threads-mit-php-tutorial\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/frank-it-projekte.de\\\/blog\\\/2016\\\/02\\\/23\\\/threads-mit-php-tutorial\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/frank-it-beratung.com\\\/blog\\\/wp-content\\\/uploads\\\/2016\\\/02\\\/Bild4.png\",\"datePublished\":\"2016-02-23T11:24:19+00:00\",\"dateModified\":\"2016-02-23T11:28:18+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/frank-it-projekte.de\\\/blog\\\/2016\\\/02\\\/23\\\/threads-mit-php-tutorial\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/frank-it-projekte.de\\\/blog\\\/2016\\\/02\\\/23\\\/threads-mit-php-tutorial\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/frank-it-projekte.de\\\/blog\\\/2016\\\/02\\\/23\\\/threads-mit-php-tutorial\\\/#primaryimage\",\"url\":\"http:\\\/\\\/frank-it-beratung.com\\\/blog\\\/wp-content\\\/uploads\\\/2016\\\/02\\\/Bild4.png\",\"contentUrl\":\"http:\\\/\\\/frank-it-beratung.com\\\/blog\\\/wp-content\\\/uploads\\\/2016\\\/02\\\/Bild4.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/frank-it-projekte.de\\\/blog\\\/2016\\\/02\\\/23\\\/threads-mit-php-tutorial\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"https:\\\/\\\/frank-it-projekte.de\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Threads mit PHP &#8211; ein kurzes Tutorial\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/frank-it-projekte.de\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/frank-it-projekte.de\\\/blog\\\/\",\"name\":\"Socialweb Dev-Blog \\\/\\\/ Frank-IT-Beratung\",\"description\":\"Social-Media und Web-Entwicklung: Tutorials und Tipps von Simon A. Frank\",\"publisher\":{\"@id\":\"https:\\\/\\\/frank-it-projekte.de\\\/blog\\\/#\\\/schema\\\/person\\\/e31d0c55b9277739ef6c87d5e7bb47a2\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/frank-it-projekte.de\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/frank-it-projekte.de\\\/blog\\\/#\\\/schema\\\/person\\\/e31d0c55b9277739ef6c87d5e7bb47a2\",\"name\":\"Simon A. Frank\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/frank-it-beratung.de\\\/blog\\\/wp-content\\\/uploads\\\/2009\\\/09\\\/simon200x200.jpg\",\"url\":\"https:\\\/\\\/frank-it-beratung.de\\\/blog\\\/wp-content\\\/uploads\\\/2009\\\/09\\\/simon200x200.jpg\",\"contentUrl\":\"https:\\\/\\\/frank-it-beratung.de\\\/blog\\\/wp-content\\\/uploads\\\/2009\\\/09\\\/simon200x200.jpg\",\"width\":200,\"height\":200,\"caption\":\"Simon A. Frank\"},\"logo\":{\"@id\":\"https:\\\/\\\/frank-it-beratung.de\\\/blog\\\/wp-content\\\/uploads\\\/2009\\\/09\\\/simon200x200.jpg\"},\"url\":\"https:\\\/\\\/frank-it-projekte.de\\\/blog\\\/author\\\/sfrank\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Threads mit PHP - ein kurzes Tutorial - Socialweb Dev-Blog \/\/ Frank-IT-Beratung","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:\/\/frank-it-projekte.de\/blog\/2016\/02\/23\/threads-mit-php-tutorial\/","og_locale":"de_DE","og_type":"article","og_title":"Threads mit PHP - ein kurzes Tutorial - Socialweb Dev-Blog \/\/ Frank-IT-Beratung","og_description":"W\u00e4hrend in vielen Programmiersprachen Threads eine zentrale Rolle spielen, ist dies bei PHP sozusagen &#8222;architekturbedingt&#8220; meist nicht so wichtig. Folgendes Beispiel soll jedoch demonstrieren, dass Threads auch in PHP n\u00fctzlich sein k\u00f6nnen. Im dem folgenden Beispiel muss eine PHP-Anwendung zwei &hellip; Weiterlesen &rarr;","og_url":"https:\/\/frank-it-projekte.de\/blog\/2016\/02\/23\/threads-mit-php-tutorial\/","og_site_name":"Socialweb Dev-Blog \/\/ Frank-IT-Beratung","article_published_time":"2016-02-23T11:24:19+00:00","article_modified_time":"2016-02-23T11:28:18+00:00","og_image":[{"url":"http:\/\/frank-it-beratung.com\/blog\/wp-content\/uploads\/2016\/02\/Bild4.png","type":"","width":"","height":""}],"author":"Simon A. Frank","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Simon A. Frank","Gesch\u00e4tzte Lesezeit":"3\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/frank-it-projekte.de\/blog\/2016\/02\/23\/threads-mit-php-tutorial\/#article","isPartOf":{"@id":"https:\/\/frank-it-projekte.de\/blog\/2016\/02\/23\/threads-mit-php-tutorial\/"},"author":{"name":"Simon A. Frank","@id":"https:\/\/frank-it-projekte.de\/blog\/#\/schema\/person\/e31d0c55b9277739ef6c87d5e7bb47a2"},"headline":"Threads mit PHP &#8211; ein kurzes Tutorial","datePublished":"2016-02-23T11:24:19+00:00","dateModified":"2016-02-23T11:28:18+00:00","mainEntityOfPage":{"@id":"https:\/\/frank-it-projekte.de\/blog\/2016\/02\/23\/threads-mit-php-tutorial\/"},"wordCount":364,"commentCount":1,"publisher":{"@id":"https:\/\/frank-it-projekte.de\/blog\/#\/schema\/person\/e31d0c55b9277739ef6c87d5e7bb47a2"},"image":{"@id":"https:\/\/frank-it-projekte.de\/blog\/2016\/02\/23\/threads-mit-php-tutorial\/#primaryimage"},"thumbnailUrl":"http:\/\/frank-it-beratung.com\/blog\/wp-content\/uploads\/2016\/02\/Bild4.png","articleSection":["PHP","Programmierung","Webprogrammierung"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/frank-it-projekte.de\/blog\/2016\/02\/23\/threads-mit-php-tutorial\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/frank-it-projekte.de\/blog\/2016\/02\/23\/threads-mit-php-tutorial\/","url":"https:\/\/frank-it-projekte.de\/blog\/2016\/02\/23\/threads-mit-php-tutorial\/","name":"Threads mit PHP - ein kurzes Tutorial - Socialweb Dev-Blog \/\/ Frank-IT-Beratung","isPartOf":{"@id":"https:\/\/frank-it-projekte.de\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/frank-it-projekte.de\/blog\/2016\/02\/23\/threads-mit-php-tutorial\/#primaryimage"},"image":{"@id":"https:\/\/frank-it-projekte.de\/blog\/2016\/02\/23\/threads-mit-php-tutorial\/#primaryimage"},"thumbnailUrl":"http:\/\/frank-it-beratung.com\/blog\/wp-content\/uploads\/2016\/02\/Bild4.png","datePublished":"2016-02-23T11:24:19+00:00","dateModified":"2016-02-23T11:28:18+00:00","breadcrumb":{"@id":"https:\/\/frank-it-projekte.de\/blog\/2016\/02\/23\/threads-mit-php-tutorial\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/frank-it-projekte.de\/blog\/2016\/02\/23\/threads-mit-php-tutorial\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/frank-it-projekte.de\/blog\/2016\/02\/23\/threads-mit-php-tutorial\/#primaryimage","url":"http:\/\/frank-it-beratung.com\/blog\/wp-content\/uploads\/2016\/02\/Bild4.png","contentUrl":"http:\/\/frank-it-beratung.com\/blog\/wp-content\/uploads\/2016\/02\/Bild4.png"},{"@type":"BreadcrumbList","@id":"https:\/\/frank-it-projekte.de\/blog\/2016\/02\/23\/threads-mit-php-tutorial\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/frank-it-projekte.de\/blog\/"},{"@type":"ListItem","position":2,"name":"Threads mit PHP &#8211; ein kurzes Tutorial"}]},{"@type":"WebSite","@id":"https:\/\/frank-it-projekte.de\/blog\/#website","url":"https:\/\/frank-it-projekte.de\/blog\/","name":"Socialweb Dev-Blog \/\/ Frank-IT-Beratung","description":"Social-Media und Web-Entwicklung: Tutorials und Tipps von Simon A. Frank","publisher":{"@id":"https:\/\/frank-it-projekte.de\/blog\/#\/schema\/person\/e31d0c55b9277739ef6c87d5e7bb47a2"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/frank-it-projekte.de\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":["Person","Organization"],"@id":"https:\/\/frank-it-projekte.de\/blog\/#\/schema\/person\/e31d0c55b9277739ef6c87d5e7bb47a2","name":"Simon A. Frank","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/frank-it-beratung.de\/blog\/wp-content\/uploads\/2009\/09\/simon200x200.jpg","url":"https:\/\/frank-it-beratung.de\/blog\/wp-content\/uploads\/2009\/09\/simon200x200.jpg","contentUrl":"https:\/\/frank-it-beratung.de\/blog\/wp-content\/uploads\/2009\/09\/simon200x200.jpg","width":200,"height":200,"caption":"Simon A. Frank"},"logo":{"@id":"https:\/\/frank-it-beratung.de\/blog\/wp-content\/uploads\/2009\/09\/simon200x200.jpg"},"url":"https:\/\/frank-it-projekte.de\/blog\/author\/sfrank\/"}]}},"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p2dxcw-lF","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/frank-it-projekte.de\/blog\/wp-json\/wp\/v2\/posts\/1343","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/frank-it-projekte.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/frank-it-projekte.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/frank-it-projekte.de\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/frank-it-projekte.de\/blog\/wp-json\/wp\/v2\/comments?post=1343"}],"version-history":[{"count":8,"href":"https:\/\/frank-it-projekte.de\/blog\/wp-json\/wp\/v2\/posts\/1343\/revisions"}],"predecessor-version":[{"id":1354,"href":"https:\/\/frank-it-projekte.de\/blog\/wp-json\/wp\/v2\/posts\/1343\/revisions\/1354"}],"wp:attachment":[{"href":"https:\/\/frank-it-projekte.de\/blog\/wp-json\/wp\/v2\/media?parent=1343"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/frank-it-projekte.de\/blog\/wp-json\/wp\/v2\/categories?post=1343"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/frank-it-projekte.de\/blog\/wp-json\/wp\/v2\/tags?post=1343"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}