<?xml version="1.0"?>
<oembed><version>1.0</version><provider_name>life michael blog</provider_name><provider_url>https://lifemichael.com/en</provider_url><author_name>Haim Michael</author_name><author_url>https://lifemichael.com/en/author/lifemichaelblog/</author_url><title>The Abstract Factory Design Pattern in PHP PRO - life michael blog</title><type>rich</type><width>600</width><height>338</height><html>&lt;blockquote class="wp-embedded-content" data-secret="OPI6Nj4ib3"&gt;&lt;a href="https://lifemichael.com/en/the-strategy-design-pattern-in-php-pro-2/"&gt;The Abstract Factory Design Pattern in PHP &lt;font size=-2&gt;&lt;a href=http://www.lifemichael.com/en/?page_id=73 target=_blank&gt;PRO&lt;/a&gt;&lt;/font&gt;&lt;/a&gt;&lt;/blockquote&gt;&lt;iframe sandbox="allow-scripts" security="restricted" src="https://lifemichael.com/en/the-strategy-design-pattern-in-php-pro-2/embed/#?secret=OPI6Nj4ib3" width="600" height="338" title="&#x201C;The Abstract Factory Design Pattern in PHP &lt;font size=-2&gt;&lt;a href=http://www.lifemichael.com/en/?page_id=73 target=_blank&gt;PRO&lt;/a&gt;&lt;/font&gt;&#x201D; &#x2014; life michael blog" data-secret="OPI6Nj4ib3" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" class="wp-embedded-content"&gt;&lt;/iframe&gt;&lt;script type="text/javascript"&gt;
/*! This file is auto-generated */
!function(c,l){"use strict";var e=!1,o=!1;if(l.querySelector)if(c.addEventListener)e=!0;if(c.wp=c.wp||{},c.wp.receiveEmbedMessage);else if(c.wp.receiveEmbedMessage=function(e){var t=e.data;if(!t);else if(!(t.secret||t.message||t.value));else if(/[^a-zA-Z0-9]/.test(t.secret));else{for(var r,s,a,i=l.querySelectorAll('iframe[data-secret="'+t.secret+'"]'),n=l.querySelectorAll('blockquote[data-secret="'+t.secret+'"]'),o=0;o&lt;n.length;o++)n[o].style.display="none";for(o=0;o&lt;i.length;o++)if(r=i[o],e.source!==r.contentWindow);else{if(r.removeAttribute("style"),"height"===t.message){if(1e3&lt;(s=parseInt(t.value,10)))s=1e3;else if(~~s&lt;200)s=200;r.height=s}if("link"===t.message)if(s=l.createElement("a"),a=l.createElement("a"),s.href=r.getAttribute("src"),a.href=t.value,a.host===s.host)if(l.activeElement===r)c.top.location.href=t.value}}},e)c.addEventListener("message",c.wp.receiveEmbedMessage,!1),l.addEventListener("DOMContentLoaded",t,!1),c.addEventListener("load",t,!1);function t(){if(o);else{o=!0;for(var e,t,r,s=-1!==navigator.appVersion.indexOf("MSIE 10"),a=!!navigator.userAgent.match(/Trident.*rv:11\./),i=l.querySelectorAll("iframe.wp-embedded-content"),n=0;n&lt;i.length;n++){if(!(r=(t=i[n]).getAttribute("data-secret")))r=Math.random().toString(36).substr(2,10),t.src+="#?secret="+r,t.setAttribute("data-secret",r);if(s||a)(e=t.cloneNode(!0)).removeAttribute("security"),t.parentNode.replaceChild(e,t);t.contentWindow.postMessage({message:"ready",secret:r},"*")}}}}(window,document);
&lt;/script&gt;
</html><description>The abstract factory design pattern allows us to work with multiple factories that each one of them is been used to create another family of objects. The following video overviews its implementation in PHP. You can find the source code available for free download in my &#x2018;PHP Design Patterns&#x2019; course, which is available for free [&hellip;]</description></oembed>
