<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>PHP on Hari KT — Full Stack Developer</title>
    <link>https://harikt.com/tags/php/</link>
    <description>Recent content in PHP on Hari KT — Full Stack Developer</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-GB</language>
    <copyright>© 2026 Hari KT</copyright>
    <lastBuildDate>Fri, 29 Nov 2019 01:04:31 +0530</lastBuildDate><atom:link href="https://harikt.com/tags/php/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
      <title>Symfony Debug to Error Handler Component</title>
      <link>https://harikt.com/blog/symfony-debug-to-error-handler-component/</link>
      <pubDate>Fri, 29 Nov 2019 01:04:31 +0530</pubDate>
      
      <guid>https://harikt.com/blog/symfony-debug-to-error-handler-component/</guid>
      <description>&lt;p&gt;Since symfony 4.4 the &lt;code&gt;symfony/debug&lt;/code&gt; component is deprecated.&lt;/p&gt;&#xA;&lt;blockquote&gt;&lt;p&gt;The &amp;ldquo;\Symfony\Component\Debug\ErrorHandler&amp;rdquo; class is deprecated since Symfony 4.4, use &amp;ldquo;\Symfony\Component\ErrorHandler\ErrorHandler&amp;rdquo;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&lt;p&gt;Running unit tests on &lt;a href=&#34;https://github.com/MascotPhp/Mascot/blob/70b41240a5db8a84d0e8aa57995fded21052b9e4/src/ExceptionHandler.php#L37-L44&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Mascot&lt;/a&gt;,&#xA;I noticed lots of warnings.&lt;/p&gt;&#xA;&lt;p&gt;But it was not easy as changing &lt;code&gt;Symfony\Component\Debug\ExceptionHandler&lt;/code&gt; to &lt;code&gt;Symfony\Component\ErrorHandler\ErrorHandler&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Assume we have something as below&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;hl&#34;&gt;&lt;span class=&#34;lnt&#34;&gt;37&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;38&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;39&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;40&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;41&#xA;&lt;/span&gt;&lt;span class=&#34;hl&#34;&gt;&lt;span class=&#34;lnt&#34;&gt;42&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;43&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;44&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span class=&#34;line hl&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;&amp;lt;?&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;php&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$handler&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;\Symfony\Component\Debug\ExceptionHandler&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$debug&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$exception&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$event&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;getThrowable&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;!&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$exception&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;instanceof&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;FlattenException&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nv&#34;&gt;$exception&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;FlattenException&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;::&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;create&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$exception&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line hl&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$response&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Response&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;::&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;create&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$handler&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;getHtml&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$exception&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$exception&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;getStatusCode&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(),&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$exception&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;getHeaders&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;())&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;setCharset&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;ini_get&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;default_charset&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;));&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$event&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;setResponse&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$response&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;p&gt;The &lt;code&gt;Symfony\Component\ErrorHandler\ErrorHandler&lt;/code&gt; has no &lt;code&gt;getHtml&lt;/code&gt; method.&lt;/p&gt;&#xA;&lt;p&gt;From the symfony docs, if you are in development mode we can use below code.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Building Modular Applications With PSR-7</title>
      <link>https://harikt.com/blog/2017/03/24/building-modular-applications-with-psr-7/</link>
      <pubDate>Fri, 24 Mar 2017 00:00:00 +0000</pubDate>
      
      <guid>https://harikt.com/blog/2017/03/24/building-modular-applications-with-psr-7/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://www.php-fig.org/psr/psr-7/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;PSR-7, the HTTP message interfaces&lt;/a&gt; opened&#xA;a new door of creating modular applications.&lt;/p&gt;&#xA;&lt;p&gt;Sadly many of the PSR-7 implementations added many helper methods.&lt;/p&gt;&#xA;&lt;p&gt;So if someone is creating a library that needs a PSR-7 implementations they tie&#xA;the particular library with the PSR-7 implementation and use these convinient helper methods.&lt;/p&gt;&#xA;&lt;p&gt;So was &lt;a href=&#34;https://github.com/http-interop/http-middleware&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;PSR-15: interfaces for HTTP Middleware&lt;/a&gt;&#xA;and &lt;a href=&#34;https://github.com/http-interop/http-factory&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;PSR-17: interfaces for HTTP Factories&lt;/a&gt;&#xA;was proposed.&lt;/p&gt;&#xA;&lt;p&gt;When creating a module one of the most challenging part is how to serve the&#xA;javascript, css and images. We are going to use&#xA;&lt;a href=&#34;github.com/harikt/psr7-asset&#34; &gt;hkt/psr7-asset&lt;/a&gt; which is a fork of&#xA;&lt;a href=&#34;https://github.com/friendsofaura/Aura.Asset_Bundle/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Aura.Asset_Bundle&lt;/a&gt; .&#xA;What you want to do is only map the path to the assets folder.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Using CakePHP Migrations as a Standalone Library</title>
      <link>https://harikt.com/blog/2017/03/24/using-cakephp-migration-as-standalone/</link>
      <pubDate>Fri, 24 Mar 2017 00:00:00 +0000</pubDate>
      
      <guid>https://harikt.com/blog/2017/03/24/using-cakephp-migration-as-standalone/</guid>
      <description>&lt;p&gt;Cakephp version 3 have a nice ORM. When using the &lt;code&gt;cakephp/orm&lt;/code&gt;,&#xA;it may be nice to integrate &lt;code&gt;cakephp/migration&lt;/code&gt; than any other migration&#xA;libraries, even though it uses phinx under the hood.&lt;/p&gt;&#xA;&lt;p&gt;Lets see how we can install and integrate &lt;code&gt;cakephp/migration&lt;/code&gt; in our application.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;composer require cakephp/migrations:dev-master&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;blockquote&gt;&lt;p&gt;The dev-master is currently passed for we need the latest version of master branch.&#xA;Before &lt;a href=&#34;https://github.com/cakephp/migrations/pull/308&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;this pull request&lt;/a&gt;, it was&#xA;having dependency on &lt;code&gt;cakephp/cakephp&lt;/code&gt;, which is not needed.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Aura.Di 2.x to 3.x Upgrade Guide</title>
      <link>https://harikt.com/blog/2016/03/15/aura-dot-di-2-dot-x-to-3-dot-x-upgrade-guide/</link>
      <pubDate>Tue, 15 Mar 2016 00:00:00 +0000</pubDate>
      
      <guid>https://harikt.com/blog/2016/03/15/aura-dot-di-2-dot-x-to-3-dot-x-upgrade-guide/</guid>
      <description>&lt;p&gt;3.x has a very minimal BC break. But if you are not sure what are they, then you may feel the pain.&#xA;I am trying to document most of them, incase I missed please &lt;a href=&#34;https://github.com/harikt/harikt.github.com/edit/source/source/_posts/2016-03-15-aura-dot-di-2-dot-x-to-3-dot-x-upgrade-guide.markdown&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;edit and send a pull request&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;I will try to eventually pushed to the main Aura.Di repo.&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;BC Breaks&#xA;    &lt;div id=&#34;bc-breaks&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#bc-breaks&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&#xA;&lt;h3 class=&#34;relative group&#34;&gt;Instantiation&#xA;    &lt;div id=&#34;instantiation&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#instantiation&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h3&gt;&#xA;&lt;p&gt;The way di container is instantiated has been changed from&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>CakePHP ORM and Logging Queries</title>
      <link>https://harikt.com/blog/2016/01/16/cakephp-orm-and-logging-queries/</link>
      <pubDate>Sat, 16 Jan 2016 00:00:00 +0000</pubDate>
      
      <guid>https://harikt.com/blog/2016/01/16/cakephp-orm-and-logging-queries/</guid>
      <description>&lt;p&gt;Working with &lt;a href=&#34;http://packagist.org/packages/cakephp/orm&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;cakephp/orm&lt;/a&gt; library, I needed to log all the queries.&#xA;Cakephp provides a way to do it via &lt;a href=&#34;http://packagist.org/packages/cakephp/log&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;cakephp/log&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;9&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;&amp;lt;?&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;php&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;use&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Cake\Log\Log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;Log&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;::&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;config&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;queries&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#x9;&lt;span class=&#34;s1&#34;&gt;&amp;#39;className&amp;#39;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;File&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#x9;&lt;span class=&#34;s1&#34;&gt;&amp;#39;path&amp;#39;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;/my/log/path/&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#x9;&lt;span class=&#34;s1&#34;&gt;&amp;#39;file&amp;#39;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;app&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#x9;&lt;span class=&#34;s1&#34;&gt;&amp;#39;scopes&amp;#39;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;queriesLog&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;]);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;p&gt;But you are not limited, if you need to configure it to a PSR-3 logger like &lt;a href=&#34;http://packagist.org/packages/monolog/monolog&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;monolog/monolog&lt;/a&gt;&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;&amp;lt;?&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;php&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;use&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Cake\Log\Log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;use&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Monolog\Logger&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;use&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Monolog\Handler\StreamHandler&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;Log&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;::&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;config&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;default&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nv&#34;&gt;$log&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Logger&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;cli&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nv&#34;&gt;$log&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;pushHandler&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;StreamHandler&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;php://stdout&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;));&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;});&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;p&gt;That was pretty simple and it logs to cli.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>CakePHP ORM and Illuminate Pagination</title>
      <link>https://harikt.com/blog/2016/01/13/cakephp-orm-and-illuminate-pagination/</link>
      <pubDate>Wed, 13 Jan 2016 00:00:00 +0000</pubDate>
      
      <guid>https://harikt.com/blog/2016/01/13/cakephp-orm-and-illuminate-pagination/</guid>
      <description>&lt;p&gt;Do you know CakePHP version 3 has a lovely ORM which can be used as standalone?&lt;/p&gt;&#xA;&lt;p&gt;Thank you &lt;a href=&#34;https://github.com/lorenzo&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;José Lorenzo Rodríguez&lt;/a&gt; and every contributor, for your hard work.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;composer require cakephp/orm&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;p&gt;That&amp;rsquo;s it.&lt;/p&gt;&#xA;&lt;p&gt;Working on I noticed I need to do some pagination. Oh, remember we have &lt;code&gt;illuminate/pagination&lt;/code&gt;. Why not use it?&lt;/p&gt;&#xA;&lt;p&gt;Problem, there seems no one have implemented it. How could we achieve it?&#xA;Lets do it.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;composer require illuminate/pagination&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;p&gt;If you are using a psr-7 request / response here is the middleware for you.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Eloquent and Pagination Inside Zend Expressive</title>
      <link>https://harikt.com/blog/2015/11/13/eloquent-and-pagination-inside-zend-expressive/</link>
      <pubDate>Fri, 13 Nov 2015 00:00:00 +0000</pubDate>
      
      <guid>https://harikt.com/blog/2015/11/13/eloquent-and-pagination-inside-zend-expressive/</guid>
      <description>&lt;p&gt;Recently working with eloquent (Laravel&amp;rsquo;s orm), zend expressive and zend view,&#xA;I wanted to integrate pagination.&lt;/p&gt;&#xA;&lt;p&gt;It was simple as registering a &lt;code&gt;Paginator&lt;/code&gt; middleware.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;&amp;lt;?&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;php&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;use&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Illuminate\Pagination\Paginator&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;use&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Psr\Http\Message\ResponseInterface&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;use&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Psr\Http\Message\ServerRequestInterface&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;IlluminatePaginator&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;::&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;currentPageResolver&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$pageName&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;use&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$request&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nv&#34;&gt;$params&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$request&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;getQueryParams&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;empty&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$params&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$pageName&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;])&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;?&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$params&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$pageName&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;];&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;});&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;IlluminatePaginator&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;::&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;currentPathResolver&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;use&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$request&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$request&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;getUri&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;getPath&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;});&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;p&gt;and you can call paginate on the &lt;code&gt;Model&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Eg : Consider you have a &lt;code&gt;Post&lt;/code&gt; model.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Integrating Zend Form in Zend Expressive and Zend View</title>
      <link>https://harikt.com/blog/2015/11/13/integrating-zend-form-in-zend-expressive-and-view/</link>
      <pubDate>Fri, 13 Nov 2015 00:00:00 +0000</pubDate>
      
      <guid>https://harikt.com/blog/2015/11/13/integrating-zend-form-in-zend-expressive-and-view/</guid>
      <description>&lt;p&gt;Example is based using &lt;a href=&#34;https://github.com/auraphp/Aura.Di&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Aura.Di&lt;/a&gt;.&#xA;But the functionality will be same for any containers.&#xA;First register the service &lt;code&gt;Zend\View\HelperPluginManager&lt;/code&gt;, so that we&#xA;can access the same object.&lt;/p&gt;&#xA;&lt;p&gt;To register the form helpers, create the object of &lt;code&gt;Zend\Form\View\HelperConfig&lt;/code&gt;&#xA;and pass the &lt;code&gt;Zend\View\HelperPluginManager&lt;/code&gt; service.&lt;/p&gt;&#xA;&lt;p&gt;Example code with &lt;a href=&#34;https://github.com/auraphp/Aura.Di&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Aura.Di&lt;/a&gt; version 3 configuration.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;&amp;lt;?&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;php&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;use&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Aura\Di\ContainerConfig&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;use&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Aura\Di\Container&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;use&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Zend\Form\View\HelperConfig&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;class&lt;/span&gt; &lt;span class=&#34;nc&#34;&gt;ViewHelper&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;extends&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;ContainerConfig&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;public&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;define&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;Container&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$di&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nv&#34;&gt;$di&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;set&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;Zend\View\HelperPluginManager&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$di&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;lazyNew&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;Zend\View\HelperPluginManager&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;));&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;public&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;modify&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;Container&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$di&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nv&#34;&gt;$serviceManager&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$di&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;get&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;Zend\View\HelperPluginManager&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nv&#34;&gt;$helper&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;HelperConfig&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nv&#34;&gt;$helper&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;configureServiceManager&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$servicemanager&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;/div&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Creating your own zend-view helper&#xA;    &lt;div id=&#34;creating-your-own-zend-view-helper&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#creating-your-own-zend-view-helper&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Create your helper class&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;&amp;lt;?&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;php&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;namespace&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;App\View\Helper&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;use&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Zend\View\Helper\AbstractHelper&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;class&lt;/span&gt; &lt;span class=&#34;nc&#34;&gt;HasError&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;extends&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;AbstractHelper&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;// add as many parameters you want to pass from the view&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;public&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;fm&#34;&gt;__invoke&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;c1&#34;&gt;// some code&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;2&#34;&gt;&#xA;&lt;li&gt;Registering your helper class.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;First get the &lt;code&gt;Zend\View\HelperPluginManager&lt;/code&gt; service.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Custom Events in a Symfony2 Bundle</title>
      <link>https://harikt.com/blog/2015/10/11/custom-events-in-symfony2-bundle/</link>
      <pubDate>Sun, 11 Oct 2015 00:00:00 +0000</pubDate>
      
      <guid>https://harikt.com/blog/2015/10/11/custom-events-in-symfony2-bundle/</guid>
      <description>&lt;p&gt;In this tutorial we will create a custom event for symfony2 bundle.&lt;/p&gt;&#xA;&lt;blockquote&gt;&lt;p&gt;Assuming you have downloaded the symfony-standard distribution to play.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&lt;p&gt;Create &lt;code&gt;HktEventBundle&lt;/code&gt; via &lt;a href=&#34;http://symfony.com/doc/current/bundles/SensioGeneratorBundle/index.html&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;sensio generator bundle&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;&amp;lt;?&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;php&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;php&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;app&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;generate&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;bundle&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;--&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;namespace&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;Hkt&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;EventBundle&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;--&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;dir&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;src&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;--&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;no&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;interaction&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;p&gt;Create the event class.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;20&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;&amp;lt;?&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;php&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// src/Hkt/EventBundle/Event/PageViewed.php&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;namespace&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Hkt\EventBundle\Event&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;use&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Symfony\Component\EventDispatcher\Event&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;class&lt;/span&gt; &lt;span class=&#34;nc&#34;&gt;PageViewed&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;extends&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Event&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;protected&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;public&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;fm&#34;&gt;__construct&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nv&#34;&gt;$this&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;name&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;public&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;getName&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$this&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;p&gt;Add as many methods/properties which are needed from the listener. Instead of&#xA;creating an event class we can make use of &lt;a href=&#34;http://symfony.com/doc/current/components/event_dispatcher/generic_event.html&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;generic event&lt;/a&gt; also.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>20 Years of PHP</title>
      <link>https://harikt.com/blog/2015/06/17/20-years-of-php/</link>
      <pubDate>Wed, 17 Jun 2015 00:00:00 +0000</pubDate>
      
      <guid>https://harikt.com/blog/2015/06/17/20-years-of-php/</guid>
      <description>&lt;p&gt;First my apologies being late! I hope you all know PHP is celebrating its&#xA;20th years of existence in the web.&lt;/p&gt;&#xA;&lt;p&gt;There is something that makes PHP unique that helps to standout with&#xA;other languages.&lt;/p&gt;&#xA;&lt;p&gt;In this opporchunity I would like to thank the creator, the contributors,&#xA;the maintainers, and all the users (past/present) to make this&#xA;memorable.&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;My Story&#xA;    &lt;div id=&#34;my-story&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#my-story&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;I got an exposure to learn and use internet in my college days.&#xA;In those period I look html as a very complex language.&#xA;I wasn’t aware there exists editors which help you.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Zend Feed and Guzzle</title>
      <link>https://harikt.com/blog/2015/04/01/zend-feed-and-guzzle/</link>
      <pubDate>Wed, 01 Apr 2015 00:00:00 +0000</pubDate>
      
      <guid>https://harikt.com/blog/2015/04/01/zend-feed-and-guzzle/</guid>
      <description>&lt;p&gt;You may have worked with Zend Feed as a standalone component.&#xA;I don&amp;rsquo;t know whether you have integrated Zend framework Feed with Guzzle&#xA;as Http Client.&lt;/p&gt;&#xA;&lt;p&gt;This post is inspired by &lt;a href=&#34;http://mwop.net&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Matthew Weier O&amp;rsquo;Phinney&lt;/a&gt;,&#xA;who have mentioned the same on github.&lt;/p&gt;&#xA;&lt;p&gt;Our &lt;code&gt;composer.json&lt;/code&gt; looks&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;#34;require&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nt&#34;&gt;&amp;#34;guzzlehttp/guzzle&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;~5.2&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nt&#34;&gt;&amp;#34;zendframework/zend-feed&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;~2.3&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nt&#34;&gt;&amp;#34;zendframework/zend-servicemanager&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;~2.3&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;#34;autoload&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nt&#34;&gt;&amp;#34;psr-0&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;nt&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;src/&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;p&gt;&lt;code&gt;Zen\Feed\Reader\Reader&lt;/code&gt; have a method &lt;code&gt;importRemoteFeed&lt;/code&gt; which accepts&#xA;an instance of &lt;code&gt;Zend\Feed\Reader\Http\ClientInterface&lt;/code&gt;.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Conduit: Middleware for PHP</title>
      <link>https://harikt.com/blog/2015/01/21/conduit-middleware-for-php/</link>
      <pubDate>Wed, 21 Jan 2015 00:00:00 +0000</pubDate>
      
      <guid>https://harikt.com/blog/2015/01/21/conduit-middleware-for-php/</guid>
      <description>&lt;p&gt;Long back, I happened to talk with &lt;a href=&#34;https://beau.io/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Beau Simensen&lt;/a&gt; about &lt;a href=&#34;http://stackphp.com/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;stackphp&lt;/a&gt; on #auraphp channel. It was hard for me to digest when I noticed it need &lt;code&gt;symfony/http-kernel&lt;/code&gt; and its dependencies.&lt;/p&gt;&#xA;&lt;p&gt;After a few months, I started to like the middleware approach of slim framework and wanted to push it to aura. But nothing happened  there.&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Conduit to rescue&#xA;    &lt;div id=&#34;conduit-to-rescue&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#conduit-to-rescue&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Conduit is a Middleware for PHP built by &lt;a href=&#34;http://mwop.net/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Matthew Weier O&amp;rsquo;Phinney&lt;/a&gt; lead of Zend framework. Conduit supports the current &lt;a href=&#34;https://github.com/php-fig/fig-standards/blob/master/proposed/http-message.md&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;PSR-7 proposal&lt;/a&gt;. I believe like the many PSR&amp;rsquo;s, PSR-7 will be a revolution in the PHP world. Conduit is really a micro framework and can grow with your project.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Experimenting With Different PHP Frameworks</title>
      <link>https://harikt.com/blog/2015/01/13/experimenting-on-different-framework/</link>
      <pubDate>Tue, 13 Jan 2015 00:00:00 +0000</pubDate>
      
      <guid>https://harikt.com/blog/2015/01/13/experimenting-on-different-framework/</guid>
      <description>&lt;p&gt;Whenever I get some time, I try to learn and experiment on different frameworks. I would like to stay away from pin pointing to the frameworks I have looked, so they don&amp;rsquo;t feel bad.&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Long live components&#xA;    &lt;div id=&#34;long-live-components&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#long-live-components&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Components are awesome!. You can plug your favourite components to any system. Thank you composer.&#xA;One strong preference choosing a framework was&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Improving Environment Values in Aura v2</title>
      <link>https://harikt.com/blog/2014/12/12/improving-environment-value-in-aura-v2/</link>
      <pubDate>Fri, 12 Dec 2014 00:00:00 +0000</pubDate>
      
      <guid>https://harikt.com/blog/2014/12/12/improving-environment-value-in-aura-v2/</guid>
      <description>&lt;p&gt;Aura v2 framework probably have missed a better way to handle environment variables. But that doesn&amp;rsquo;t make you stall. Things can be improved ;-).&lt;/p&gt;&#xA;&lt;blockquote&gt;&lt;p&gt;Assume you are already using aura framework and is at root of the project.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&lt;p&gt;We are going to make use of &lt;a href=&#34;https://github.com/vlucas/phpdotenv&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;vlucas/phpdotenv&lt;/a&gt; , alternatives are there if you are interested to experiment.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;composer require vlucas/phpdotenv&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;p&gt;Edit the file &lt;code&gt;config/_env.php&lt;/code&gt; and add &lt;code&gt;Dotenv::load(/path/to/.env);&lt;/code&gt; to the first line. If you have not modified anything it will look as below&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Speed Up Configuration in Aura v2</title>
      <link>https://harikt.com/blog/2014/12/06/speedup-configuration-aura-v2/</link>
      <pubDate>Sat, 06 Dec 2014 00:00:00 +0000</pubDate>
      
      <guid>https://harikt.com/blog/2014/12/06/speedup-configuration-aura-v2/</guid>
      <description>&lt;p&gt;Aura v2 added auto resolution in-order to help lazy people writing configuration manually. Even though it was introduced to help, &lt;a href=&#34;https://github.com/auraphp/Aura.Di/blob/2.1.0/README.md#auto-resolution-of-parameter-values&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;it introduced a few issues&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;So auto resolution will be disabled in the future. Some of the complains/suggestions are how to easily write the di configuration.&lt;/p&gt;&#xA;&lt;p&gt;So introducing you &lt;a href=&#34;https://github.com/friendsofaura/FOA.DiConfig&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;FOA.DiConfig&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Installation&#xA;    &lt;div id=&#34;installation&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#installation&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;composer require foa/di-config&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;/div&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Usage&#xA;    &lt;div id=&#34;usage&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#usage&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;vendor/bin/di-config-dump&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Usage : vendor/bin/di-config-dump /real/path/to/file.php&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Usage : vendor/bin/di-config-dump /real/path/to/directory&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;/div&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Example 1&#xA;    &lt;div id=&#34;example-1&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#example-1&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Let&amp;rsquo;s assume you have&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Getting Started With Aura v2</title>
      <link>https://harikt.com/blog/2014/10/06/getting-started-with-aura-v2/</link>
      <pubDate>Mon, 06 Oct 2014 00:00:00 +0000</pubDate>
      
      <guid>https://harikt.com/blog/2014/10/06/getting-started-with-aura-v2/</guid>
      <description>&lt;p&gt;Yesterday &lt;a href=&#34;http://auraphp.com/blog/2014/10/05/stable-project-releases/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;aura framework v2 stable released&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Lots of complains about documentation or missing documentation. So this is a quick start. Probably a five minutes walk through. Learn and change to make it better.&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Creating your project&#xA;    &lt;div id=&#34;creating-your-project&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#creating-your-project&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Create the project using composer.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;composer create-project aura/web-project quick-start&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; quick-start&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;p&gt;The minimal framework don&amp;rsquo;t come with any sort of view integrated. Let us use &lt;code&gt;aura/view&lt;/code&gt;, the two step templating with the help of &lt;code&gt;foa/html-view-bundle&lt;/code&gt;.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Using Aura.Input Forms Inside Slim Framework</title>
      <link>https://harikt.com/blog/2014/09/02/aura-input-form-inside-slim-framework/</link>
      <pubDate>Tue, 02 Sep 2014 00:00:00 +0000</pubDate>
      
      <guid>https://harikt.com/blog/2014/09/02/aura-input-form-inside-slim-framework/</guid>
      <description>&lt;p&gt;Rob Allen wrote about &lt;a href=&#34;http://akrabat.com/zend-framework-2/integrating-zf2-forms-into-slim/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Integrating ZF2 forms into Slim&lt;/a&gt;.&#xA;I did write how you can use &lt;a href=&#34;https://github.com/auraphp/Aura.Input/tree/develop&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Aura.Input&lt;/a&gt; and &lt;a href=&#34;https://github.com/auraphp/Aura.Html&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Aura.Html&lt;/a&gt; to create &lt;a href=&#34;http://harikt.com/phpform/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;standalone form for PHP&lt;/a&gt;.&#xA;This time I felt I should write about integrating aura input inside &lt;a href=&#34;http://slimframework.com/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Slim&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Let us install a few dependencies &lt;code&gt;aura/input&lt;/code&gt; for building the form and&#xA;&lt;code&gt;aura/html&lt;/code&gt; for the html helpers. You of-course can skip not to use &lt;code&gt;aura/html&lt;/code&gt;&#xA;and build your own helper. I also purposefully left not integrating the powerful&#xA;&lt;a href=&#34;https://github.com/auraphp/Aura.Filter/tree/develop&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Aura.Filter&lt;/a&gt; , but you&#xA;are not limited to integrate any validator you love inside Aura.Input .&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Aura Framework v2: The Missing Manual</title>
      <link>https://harikt.com/blog/2014/07/15/aura-framework-v2-the-missing-manual/</link>
      <pubDate>Tue, 15 Jul 2014 00:00:00 +0000</pubDate>
      
      <guid>https://harikt.com/blog/2014/07/15/aura-framework-v2-the-missing-manual/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://auraphp.com&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Aura&lt;/a&gt; has an awesome collection of&#xA;&lt;a href=&#34;https://github.com/auraphp&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;libraries&lt;/a&gt; for different purpose.&lt;/p&gt;&#xA;&lt;p&gt;It has components for&#xA;&lt;a href=&#34;https://github.com/auraphp/Aura.Auth&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;authentication&lt;/a&gt;,&#xA;&lt;a href=&#34;https://github.com/auraphp/Aura.Cli&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;cli&lt;/a&gt;,&#xA;&lt;a href=&#34;https://github.com/auraphp/Aura.Web&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;request and response&lt;/a&gt;,&#xA;&lt;a href=&#34;https://github.com/auraphp/Aura.Router&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;router&lt;/a&gt;,&#xA;&lt;a href=&#34;https://github.com/auraphp/Aura.Router&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;dependency injection container&lt;/a&gt;,&#xA;&lt;a href=&#34;https://github.com/auraphp/Aura.Dispatcher&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;dispatcher&lt;/a&gt;,&#xA;&lt;a href=&#34;https://github.com/auraphp/Aura.Html&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;html&lt;/a&gt;,&#xA;&lt;a href=&#34;https://github.com/auraphp/Aura.View&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;view&lt;/a&gt;,&#xA;&lt;a href=&#34;https://github.com/auraphp/Aura.Signal&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;event handlers&lt;/a&gt;,&#xA;&lt;a href=&#34;https://github.com/auraphp/Aura.Filter&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;validation&lt;/a&gt;,&#xA;&lt;a href=&#34;https://github.com/auraphp/Aura.Sql&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;extended pdo&lt;/a&gt;,&#xA;&lt;a href=&#34;https://github.com/auraphp/Aura.SqlQuery&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;query builders&lt;/a&gt;,&#xA;&lt;a href=&#34;https://github.com/auraphp/Aura.SqlSchema&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;sql schema&lt;/a&gt;,&#xA;&lt;a href=&#34;https://github.com/auraphp/Aura.Marshal&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;marshal&lt;/a&gt;,&#xA;&lt;a href=&#34;https://github.com/auraphp/Aura.Uri&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;build and modify uri&lt;/a&gt;,&#xA;&lt;a href=&#34;https://github.com/auraphp/Aura.Http&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;http&lt;/a&gt;,&#xA;&lt;a href=&#34;https://github.com/auraphp/Aura.Intl&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;internationalization&lt;/a&gt;,&#xA;&lt;a href=&#34;https://github.com/auraphp/Aura.Session&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;session&lt;/a&gt;,&#xA;&lt;a href=&#34;https://github.com/auraphp/Aura.Input&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;forms&lt;/a&gt;,&#xA;&lt;a href=&#34;https://github.com/auraphp/Aura.Include&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;includer&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;If you are new to aura, there is probably something you&#xA;may want to figure out yourself.&lt;/p&gt;&#xA;&lt;p&gt;Some of the components have &lt;a href=&#34;http://auraphp.com/packages/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;version 1&lt;/a&gt; and&#xA;&lt;a href=&#34;http://auraphp.com/packages/v2&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;version 2&lt;/a&gt; releases.&#xA;There is a question of which branch corresponds to which version.&lt;/p&gt;&#xA;&lt;p&gt;The v1 packages are in &lt;code&gt;develop&lt;/code&gt; branch and v2 over &lt;code&gt;develop-2&lt;/code&gt; branch.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Hidden Gems of Composer</title>
      <link>https://harikt.com/blog/2014/05/29/hidden-gems-of-composer/</link>
      <pubDate>Thu, 29 May 2014 00:00:00 +0000</pubDate>
      
      <guid>https://harikt.com/blog/2014/05/29/hidden-gems-of-composer/</guid>
      <description>&lt;p&gt;I hope everyone in the PHP world is aware of &lt;a href=&#34;https://getcomposer.org&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;composer&lt;/a&gt;&#xA;the dependency management tool that gives an end to Pear.&lt;/p&gt;&#xA;&lt;p&gt;We can look into some of the hidden gems of composer. Some of them are&#xA;already documented in the composer docs.&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Bug Fixing :&#xA;    &lt;div id=&#34;bug-fixing-&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#bug-fixing-&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Documented over &lt;a href=&#34;https://getcomposer.org/doc/05-repositories.md#loading-a-package-from-a-vcs-repository&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Loading a package from a VCS repository&lt;/a&gt;&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;#34;repositories&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;nt&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;vcs&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;nt&#34;&gt;&amp;#34;url&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;https://github.com/igorw/monolog&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;],&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;#34;require&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nt&#34;&gt;&amp;#34;monolog/monolog&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;dev-bugfix&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;p&gt;The above example assume you have pushed your code to github. But you can&#xA;also make use of the local directory.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Extending Plates With Aura.Html Helpers</title>
      <link>https://harikt.com/blog/2014/05/13/extending-plates-with-aura-html-helpers/</link>
      <pubDate>Tue, 13 May 2014 00:00:00 +0000</pubDate>
      
      <guid>https://harikt.com/blog/2014/05/13/extending-plates-with-aura-html-helpers/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://github.com/auraphp/Aura.Html&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Aura.Html&lt;/a&gt; provides HTML escapers and helpers, including form input helpers,&#xA;that can be used in any template, view, or presentation system.&lt;/p&gt;&#xA;&lt;p&gt;In this post I would like to give you a short introduction to Aura.Html&#xA;and how you could use with &lt;a href=&#34;http://platesphp.com&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Plates&lt;/a&gt; a native php templating system like &lt;a href=&#34;https://github.com/auraphp/Aura.View&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Aura.View&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/auraphp/Aura.Html&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Aura.Html&lt;/a&gt; was extracted from &lt;a href=&#34;https://github.com/auraphp/Aura.View&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Aura.View&lt;/a&gt; helper functions of version 1,&#xA;when we at aura noticed that people who uses &lt;a href=&#34;https://github.com/auraphp/Aura.Input&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Aura.Input&lt;/a&gt; may need some html helper&#xA;functions and they may not be using a templating like &lt;a href=&#34;https://github.com/auraphp/Aura.View&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Aura.View&lt;/a&gt;,&#xA;but some other templating system.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Installing an Aura Framework Project via Composer</title>
      <link>https://harikt.com/blog/2014/04/29/installing-aura-framework-project-via-composer/</link>
      <pubDate>Tue, 29 Apr 2014 00:00:00 +0000</pubDate>
      
      <guid>https://harikt.com/blog/2014/04/29/installing-aura-framework-project-via-composer/</guid>
      <description>&lt;p&gt;In this tutorial I am showing how to install aura framework project v2&#xA;via composer.&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;composer create-project -s beta aura/framework-project path-to-project&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/auraphp/Aura.Framework_Project&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Aura.Framework_Project&lt;/a&gt; helps&#xA;you to build web and cli applications.&lt;/p&gt;&#xA;&lt;p&gt;If you need only web based application then&#xA;&lt;a href=&#34;https://github.com/auraphp/Aura.Web_Project&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Aura.Web_Project&lt;/a&gt;&#xA;is what you need.&lt;/p&gt;&#xA;&lt;p&gt;{% showterm b971330ea7fd28d22e2f3 %}&lt;/p&gt;&#xA;&lt;p&gt;If you need only cli, then &lt;a href=&#34;https://github.com/auraphp/Aura.Cli_Project&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Aura.Cli_Project&lt;/a&gt; helps you.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Frameworks Are Good</title>
      <link>https://harikt.com/blog/2014/01/09/frameworks-are-good/</link>
      <pubDate>Thu, 09 Jan 2014 00:00:00 +0000</pubDate>
      
      <guid>https://harikt.com/blog/2014/01/09/frameworks-are-good/</guid>
      <description>&lt;p&gt;Some of the recent discussions in the PHP world are&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://philsturgeon.co.uk/blog/2014/01/the-tribal-framework-mindset&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;The Tribal Framework Mindset&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://adamwathan.me/2014/01/05/decoupling-your-packages-from-your-framework&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Decoupling your packages from your framework&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://www.brandonsavage.net/you-dont-need-a-framework/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;You don’t need a framework&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://afilina.com/frameworks-for-everyone/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Frameworks for everyone&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Framework is not a bad idea&#xA;    &lt;div id=&#34;framework-is-not-a-bad-idea&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#framework-is-not-a-bad-idea&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;If you don&amp;rsquo;t use a framework, probably you will be using a bunch&#xA;of independent libraries glued together or some code which&#xA;help you to achieve your task.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Composer Support for ProcessWire, Part 2</title>
      <link>https://harikt.com/blog/2013/11/19/composer-support-for-processwire-part-2/</link>
      <pubDate>Tue, 19 Nov 2013 00:00:00 +0000</pubDate>
      
      <guid>https://harikt.com/blog/2013/11/19/composer-support-for-processwire-part-2/</guid>
      <description>&lt;p&gt;In my &lt;a href=&#34;http://harikt.com/blog/2013/11/16/composer-support-for-processwire-modules/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;earlier post&lt;/a&gt;&#xA;I mentioned about adding a &lt;code&gt;composer.json&lt;/code&gt; in the root of the github repo.&lt;/p&gt;&#xA;&lt;p&gt;Sometimes you may see a non &lt;code&gt;composer.json&lt;/code&gt; repo or some times people reject&#xA;it, you still can do like the below.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;20&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;21&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;22&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;23&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;24&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;25&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;&amp;lt;?&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;php&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;s2&#34;&gt;&amp;#34;minimum-stability&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;dev&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;s2&#34;&gt;&amp;#34;repositories&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;s2&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;package&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;s2&#34;&gt;&amp;#34;package&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;s2&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;ryancramerdesign/process-export-profile&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;s2&#34;&gt;&amp;#34;version&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;1.0.0&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;s2&#34;&gt;&amp;#34;source&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                    &lt;span class=&#34;s2&#34;&gt;&amp;#34;url&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;https://github.com/ryancramerdesign/ProcessExportProfile&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                    &lt;span class=&#34;s2&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;git&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                    &lt;span class=&#34;s2&#34;&gt;&amp;#34;reference&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;master&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;s2&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;pw-module&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;s2&#34;&gt;&amp;#34;require&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                    &lt;span class=&#34;s2&#34;&gt;&amp;#34;hari/pw-module&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;~1.0&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;],&lt;/span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;s2&#34;&gt;&amp;#34;require&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;s2&#34;&gt;&amp;#34;ryancramerdesign/process-export-profile&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;1.0.0&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;p&gt;And run&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Composer Support for ProcessWire Modules</title>
      <link>https://harikt.com/blog/2013/11/16/composer-support-for-processwire-modules/</link>
      <pubDate>Sat, 16 Nov 2013 00:00:00 +0000</pubDate>
      
      <guid>https://harikt.com/blog/2013/11/16/composer-support-for-processwire-modules/</guid>
      <description>&lt;p&gt;I am a huge fan of &lt;a href=&#34;http://getcomposer.org/&#34; title=&#34;External link&#34; target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;composer&lt;/a&gt;. &lt;a href=&#34;http://processwire.com/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;PW&lt;/a&gt; ( ProcessWire) is missing one of the good parts of &lt;a href=&#34;http://getcomposer.org/&#34; title=&#34;External link&#34; target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;composer&lt;/a&gt;.&#xA;So here is a &lt;a href=&#34;https://github.com/harikt/pwmoduleinstaller&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;new installer&lt;/a&gt;&#xA;to install the 3rd party modules of &lt;a href=&#34;http://processwire.com/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;PW&lt;/a&gt; via &lt;a href=&#34;http://getcomposer.org/&#34; title=&#34;External link&#34; target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;composer&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;If you have created a module for PW, what you need to do is add a&#xA;&lt;code&gt;composer.json&lt;/code&gt; file in your &lt;a href=&#34;https://github.com/harikt/Assets/blob/master/composer.json&#34; title=&#34;External link&#34; target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;github repo&lt;/a&gt; and add it to &lt;a href=&#34;https://packagist.org&#34; title=&#34;External link&#34; target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;packagist&lt;/a&gt;.&#xA;An example &lt;a href=&#34;https://github.com/harikt/Assets/blob/master/composer.json&#34; title=&#34;External link&#34; target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;composer.json&lt;/a&gt; is&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;vendor/package-name&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;pw-module&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;#34;description&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Your module what it does&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;#34;keywords&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;keywords&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;comma&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;seprated&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;],&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;#34;homepage&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;https://github.com/harikt/Assets&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;#34;license&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;BSD-2-Clause&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;#34;authors&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;nt&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Assets Contributors&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;nt&#34;&gt;&amp;#34;homepage&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;https://github.com/harikt/Assets/contributors&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;],&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;#34;require&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nt&#34;&gt;&amp;#34;php&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;gt;=5.3.0&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nt&#34;&gt;&amp;#34;hari/pw-module&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;~1.0&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;p&gt;Note the minimum requirement is PHP 5.3 for composer is 5.3 .&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Assets for ProcessWire</title>
      <link>https://harikt.com/blog/2013/11/08/assets-for-processwire/</link>
      <pubDate>Fri, 08 Nov 2013 00:00:00 +0000</pubDate>
      
      <guid>https://harikt.com/blog/2013/11/08/assets-for-processwire/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://processwire.com/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Processwire&lt;/a&gt; is a content management framework.&lt;/p&gt;&#xA;&lt;p&gt;I was looking to change the directory structure of the Processwire.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;-- index.php&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;-- installer.php&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;-- README.md&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;-- site&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt;-- wire&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;p&gt;I am not the first person to talk on the subject. There are other threads&#xA;like&#xA;&lt;a href=&#34;http://processwire.com/talk/topic/876-installation-paths-and-moving-folders/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Installation paths and moving folders&lt;/a&gt;,&#xA;&lt;a href=&#34;http://processwire.com/talk/topic/3445-common-practices/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Common practices&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Anyway I thought of trying the same and for serving the &lt;code&gt;js&lt;/code&gt;, &lt;code&gt;css&lt;/code&gt;, &lt;code&gt;images&lt;/code&gt;&#xA;I wrote my first processwire module &lt;a href=&#34;https://github.com/harikt/Assets&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Assets&lt;/a&gt;&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Using Aura.Dispatcher in Silex</title>
      <link>https://harikt.com/blog/2013/11/06/using-aura-dispatcher-in-silex/</link>
      <pubDate>Wed, 06 Nov 2013 00:00:00 +0000</pubDate>
      
      <guid>https://harikt.com/blog/2013/11/06/using-aura-dispatcher-in-silex/</guid>
      <description>&lt;p&gt;2 days back &lt;a href=&#34;http://paul-m-jones.com/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Paul M Jones&lt;/a&gt; wrote an awesome post&#xA;&lt;a href=&#34;http://auraphp.com/blog/2013/11/04/aura-v2-dispatcher/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;A Peek At Aura v2 &amp;ndash; Aura.Dispatcher&lt;/a&gt;&#xA;the idea behind &lt;a href=&#34;http://github.com/auraphp/Aura.Dispatcher/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Aura.Dispatcher&lt;/a&gt;&#xA;and how it was born.&lt;/p&gt;&#xA;&lt;p&gt;So today, let us try to integrate&#xA;&lt;a href=&#34;http://github.com/auraphp/Aura.Dispatcher&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Aura.Dispatcher&lt;/a&gt; with&#xA;&lt;a href=&#34;https://github.com/silexphp/Silex&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Silex&lt;/a&gt;. This post is inspired by the&#xA;&lt;a href=&#34;http://auraphp.com/blog/2013/11/04/aura-v2-dispatcher/#comment-1109657910&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;comment&lt;/a&gt;&#xA;made by &lt;a href=&#34;https://twitter.com/cordoval&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Luis Cordova&lt;/a&gt;. Thank you.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;composer create-project silex/silex --no-dev silexproject&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; silexproject&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;composer require aura/dispatcher dev-develop-2&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;blockquote&gt;&lt;p&gt;I hope you have composer installed else &lt;a href=&#34;http://getcomposer.org/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;get composer&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&lt;p&gt;I am not going to explain each and everything, the code is self explanatory.&#xA;You can move the classes according to your wish (may be to another folder).&#xA;I am trying to show a simple use case.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Looking at Aura v2</title>
      <link>https://harikt.com/blog/2013/09/28/looking-at-aura-v2/</link>
      <pubDate>Sat, 28 Sep 2013 00:00:00 +0000</pubDate>
      
      <guid>https://harikt.com/blog/2013/09/28/looking-at-aura-v2/</guid>
      <description>&lt;p&gt;If you have noticed recently, there have been tons of commits from&#xA;&lt;a href=&#34;https://github.com/pmjones&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Paul M Jones&lt;/a&gt;﻿ for aura version 2.&lt;/p&gt;&#xA;&lt;p&gt;More standalone repos born. Everyone should try and give feedback as much as possible.&lt;/p&gt;&#xA;&lt;p&gt;Interesting stuffs split from Aura.Sql v 1.3 are&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/auraphp/Aura.Sql/tree/develop-2&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Extended PDO&lt;/a&gt;,&lt;/p&gt;&#xA;&lt;p&gt;As the name says, it is an extended version of PDO. Good thing is it is&#xA;PHP 5.3 compatible.&lt;/p&gt;&#xA;&lt;p&gt;If you have worked with PDO you know the good and bad.&#xA;One of the difficulty is, it cannot use an array for an in clause.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Aura Framework Released</title>
      <link>https://harikt.com/blog/2013/09/19/aura-framework-released/</link>
      <pubDate>Thu, 19 Sep 2013 00:00:00 +0000</pubDate>
      
      <guid>https://harikt.com/blog/2013/09/19/aura-framework-released/</guid>
      <description>&lt;p&gt;It is a great feeling, and one of the happiest moment in my life when&#xA;&lt;a href=&#34;http://auraphp.com/blog/2013/09/18/aura-framework-stable-system-release/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;aura releases its stable framework&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Aura is one of my first framework, which helped me to learn the inner&#xA;working of a framework, how to create a framework, rather than playing&#xA;with full stack framework.&lt;/p&gt;&#xA;&lt;p&gt;If you are interested to learn or contribute in the next version of Aura&#xA;&lt;a href=&#34;http://groups.google.com/group/auraphp&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;join the group&lt;/a&gt;.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>The Book on Aura Moves to the Manual</title>
      <link>https://harikt.com/blog/2013/09/07/book-on-aura-moved-to-manual/</link>
      <pubDate>Sat, 07 Sep 2013 00:00:00 +0000</pubDate>
      
      <guid>https://harikt.com/blog/2013/09/07/book-on-aura-moved-to-manual/</guid>
      <description>&lt;p&gt;Some days back I wrote about a WIP of&#xA;&lt;a href=&#34;http://harikt.com/blog/2013/07/09/the-book-on-aura/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;The Book on Aura&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;It got some attention and pull requests.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/koriym/the-book-on-aura-ja&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Akihito Koriyama&lt;/a&gt;&#xA;have already started to convert the documentation to Japanese.&lt;/p&gt;&#xA;&lt;p&gt;And today I am happy to announce that it is officially going to the&#xA;manuals.&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Contributing&#xA;    &lt;div id=&#34;contributing&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#contributing&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Fork&#xA;&lt;a href=&#34;https://github.com/auraphp/auraphp.github.com&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;https://github.com/auraphp/auraphp.github.com&lt;/a&gt;&#xA;and contribute to the manuals.&lt;/p&gt;&#xA;&lt;p&gt;The manuals are in different languages. Currently&lt;br&gt;&#xA;&lt;a href=&#34;https://github.com/koriym/the-book-on-aura-ja&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Akihito Koriyama&lt;/a&gt;&#xA;is working on Japanese translation.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Connecting to Magento via SOAP</title>
      <link>https://harikt.com/blog/2013/07/12/connecting-to-magento-via-soap/</link>
      <pubDate>Fri, 12 Jul 2013 00:00:00 +0000</pubDate>
      
      <guid>https://harikt.com/blog/2013/07/12/connecting-to-magento-via-soap/</guid>
      <description>&lt;p&gt;In my earlier post I have shown how you can connect to Magento&#xA;with REST api. In this post let us connect via SOAP.&lt;/p&gt;&#xA;&lt;p&gt;The below class acts like a proxy to call the magento soap api.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;  1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;  2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;  3&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;  4&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;  5&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;  6&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;  7&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;  8&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;  9&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 10&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 11&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 12&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 13&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 14&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 15&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 16&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 17&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 18&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 19&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 20&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 21&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 22&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 23&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 24&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 25&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 26&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 27&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 28&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 29&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 30&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 31&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 32&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 33&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 34&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 35&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 36&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 37&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 38&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 39&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 40&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 41&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 42&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 43&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 44&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 45&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 46&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 47&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 48&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 49&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 50&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 51&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 52&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 53&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 54&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 55&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 56&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 57&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 58&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 59&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 60&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 61&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 62&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 63&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 64&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 65&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 66&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 67&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 68&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 69&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 70&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 71&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 72&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 73&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 74&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 75&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 76&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 77&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 78&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 79&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 80&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 81&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 82&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 83&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 84&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 85&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 86&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 87&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 88&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 89&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 90&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 91&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 92&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 93&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 94&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 95&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 96&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 97&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 98&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 99&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;100&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;101&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;102&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;103&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;104&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;105&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;106&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;107&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;108&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;109&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;110&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;111&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;112&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;113&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;114&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;115&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;116&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;117&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;118&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;119&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;120&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;121&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;122&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;123&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;124&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;125&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;126&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;127&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;128&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;129&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;130&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;131&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;132&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;133&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;134&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;135&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;136&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;137&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;138&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;139&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;140&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;141&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;142&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;143&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;144&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;145&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;146&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;147&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;&amp;lt;?&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;php&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;/**&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt; * &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt; * @author Hari K T&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt; * &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt; */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;class&lt;/span&gt; &lt;span class=&#34;nc&#34;&gt;My_Soap_Magento&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;sd&#34;&gt;/**&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     * &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     * Host name to connect&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     * &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     * @var string&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     * &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;protected&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$hostname&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;sd&#34;&gt;/**&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     * &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     * User name&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     * &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     * @var string&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     * &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;protected&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$username&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;sd&#34;&gt;/**&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     * &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     * API Key&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     * &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     * @var string&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     * &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;protected&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$apikey&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;sd&#34;&gt;/**&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     * &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     * Zend_Soap_Client&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     * &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     * @var Zend_Soap_Client&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     * &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;protected&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$client&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;protected&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$session&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;sd&#34;&gt;/**&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     * &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     * Constructor&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     * &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     * @param string $hostname The host name&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     * &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     * @param string $username The user name of the host&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     * &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     * @param string $apikey The apikey of the host&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     * &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;public&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;fm&#34;&gt;__construct&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$hostname&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$username&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$apikey&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;        &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nv&#34;&gt;$this&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;hostname&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$hostname&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nv&#34;&gt;$this&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;username&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$username&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nv&#34;&gt;$this&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;apikey&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$apikey&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;        &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;sd&#34;&gt;/**&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     * &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     * Magic method, the methods are named on the basis of Magento SOAP api&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     * You don&amp;#39;t need to pass the session as the first argument, for convience.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     * &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     * @link http://www.magentocommerce.com/api/soap/introduction.html&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     * &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     * @param string $function&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     * &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     * @param mixed $args&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     * &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     * @return string | null&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     * &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;public&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;fm&#34;&gt;__call&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$function&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$args&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nv&#34;&gt;$session&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$this&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;getSession&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nv&#34;&gt;$params&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;array_merge&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;array&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$this&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;getSession&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()),&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$args&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nv&#34;&gt;$result&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;call_user_func_array&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;array&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$this&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;getClient&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(),&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$function&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$params&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$result&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;c1&#34;&gt;// I need to get as json&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Zend_Json_Encoder&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;::&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;encode&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$result&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;null&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;        &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;sd&#34;&gt;/**&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     * &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     * Get the session from logging in to the Magento server&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     * &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     * @return string&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     * &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;public&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;getSession&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;!&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$this&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;session&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;try&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;nv&#34;&gt;$this&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;session&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$this&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;getClient&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;login&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$this&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;username&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$this&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;apikey&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;catch&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;Exception&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$e&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$this&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;session&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;sd&#34;&gt;/**&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     * &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     * If we already have a session, we can set the session so it don&amp;#39;t &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     * need to login again and get the session. This helps to reduce the &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     * call for login . &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     * &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     * @see getSession()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     * &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     * @param string $session&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     * &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     * @return IM_Soap_Magento&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     * &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;public&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;setSession&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$session&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nv&#34;&gt;$this&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;session&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$session&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$this&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;sd&#34;&gt;/**&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     * &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     * Get the Zend_Soap_Client object&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     * &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     * @return Zend_Soap_Client&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     * &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt;     */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;public&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;getClient&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;!&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$this&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;client&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;nv&#34;&gt;$endpoint&lt;/span&gt;  &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;trim&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$this&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;hostname&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;/&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;.&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;/api/v2_soap/?wsdl&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;nv&#34;&gt;$this&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;client&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Zend_Soap_Client&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;            &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;nv&#34;&gt;$endpoint&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;     &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$this&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;client&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;   &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;p&gt;In order to connect you want to create an object of the above&#xA;class &lt;code&gt;My_Soap_Magento&lt;/code&gt;. You need to get the username and api key&#xA;from the magento host.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>The Book on Aura</title>
      <link>https://harikt.com/blog/2013/07/09/the-book-on-aura/</link>
      <pubDate>Tue, 09 Jul 2013 00:00:00 +0000</pubDate>
      
      <guid>https://harikt.com/blog/2013/07/09/the-book-on-aura/</guid>
      <description>&lt;p&gt;There has been lot of requests to show how the individual packages&#xA;in aura, can be made use inside the framework.&lt;/p&gt;&#xA;&lt;p&gt;So today I am happy to announce that there is a work in progress&#xA;to make the framework documentation better. I have already started&#xA;the work on the same.&lt;/p&gt;&#xA;&lt;p&gt;You can &lt;a href=&#34;http://auraphp.com/manuals/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;read the chapters online&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;The examples used in the book are also online at&lt;br&gt;&#xA;&lt;a href=&#34;https://github.com/harikt/Example.Package&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;https://github.com/harikt/Example.Package&lt;/a&gt;&lt;/p&gt;&#xA;&lt;blockquote&gt;&lt;p&gt;I hope Something is better than nothing.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Magento and the REST API</title>
      <link>https://harikt.com/blog/2013/07/05/magento-and-rest-api/</link>
      <pubDate>Fri, 05 Jul 2013 00:00:00 +0000</pubDate>
      
      <guid>https://harikt.com/blog/2013/07/05/magento-and-rest-api/</guid>
      <description>&lt;p&gt;Magento provides both REST and SOAP api. In this post I would like to&#xA;concentrate on REST api to connect and get the products from magento shop.&lt;/p&gt;&#xA;&lt;p&gt;First we want to register an Oauth consumer to get the consumer key and secret key.&lt;/p&gt;&#xA;&lt;p&gt;Login to the admin of the magento shop and from the menu&#xA;&lt;code&gt;System-&amp;gt;Web Services-&amp;gt;REST - Oauth Consumers&lt;/code&gt; and add a new Ouath consumer.&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure&gt;&lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;low&#34;&#xA;    alt=&#34;REST - Oauth Consumers&#34;&#xA;    src=&#34;http://harikt.com/images/oauth-consumer.png&#34;&#xA;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Aura.Web: A Page Controller for MVC</title>
      <link>https://harikt.com/blog/2013/06/04/aura-dot-web/</link>
      <pubDate>Tue, 04 Jun 2013 00:00:00 +0000</pubDate>
      
      <guid>https://harikt.com/blog/2013/06/04/aura-dot-web/</guid>
      <description>&lt;p&gt;If you are new to the concept of MVC, or if you are planning to build your&#xA;own framework, probably Aura.Web help you to do the same.&lt;/p&gt;&#xA;&lt;p&gt;Here is the article in phpmaster.com &lt;a href=&#34;http://phpmaster.com/aura-web-auras-page-controller-for-mvc/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Aura.Web: Aura’s Page Controller for MVC&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Probably you may also like the article &lt;a href=&#34;http://phpmaster.com/web-routing-in-php-with-aura-router/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Web Routing in PHP with Aura.Router&lt;/a&gt;.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Aura System Released Beta 5</title>
      <link>https://harikt.com/blog/2013/05/25/aura-system-released-beta5/</link>
      <pubDate>Sat, 25 May 2013 00:00:00 +0000</pubDate>
      
      <guid>https://harikt.com/blog/2013/05/25/aura-system-released-beta5/</guid>
      <description>&lt;p&gt;Yesterday Paul M Jones tagged the beta5 for the system repo.&lt;/p&gt;&#xA;&lt;p&gt;So you can download the system from &lt;a href=&#34;http://auraphp.com/system/downloads&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;http://auraphp.com/system/downloads/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;via composer&#xA;    &lt;div id=&#34;via-composer&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#via-composer&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Creating aura framework based projects has been made easy with composer. You can run&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;php composer.phar create-project -s dev aura/system your-directory&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;What it does is almost similar to git clone and installing via git as below&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Standalone Forms for PHP</title>
      <link>https://harikt.com/blog/2013/05/23/standalone-form-for-php/</link>
      <pubDate>Thu, 23 May 2013 00:00:00 +0000</pubDate>
      
      <guid>https://harikt.com/blog/2013/05/23/standalone-form-for-php/</guid>
      <description>&lt;p&gt;Yesterday I wrote about &lt;a href=&#34;http://harikt.com/blog/2013/05/21/standalone-forms-and-validation/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Standalone Forms and Validation&lt;/a&gt;. It may need&#xA;a little bit knowledge on how the &lt;a href=&#34;http://auraphp.com/packages&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Aura.Filter&lt;/a&gt; works. But that is&#xA;a good start if you want to know how you can integrate the pieces of Aura.&lt;/p&gt;&#xA;&lt;p&gt;Today I think I need to show you the very minimal approach you can take&#xA;to build the form and validate your form. If you want to&#xA;use a powerful validation and filtering use something like &lt;a href=&#34;http://auraphp.com/packages&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Aura.Filter&lt;/a&gt;&#xA;or bind your favourite components which does the validation &lt;a href=&#34;https://github.com/Respect/Validation&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Respect&lt;/a&gt;, &lt;a href=&#34;https://github.com/symfony/validator&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Symfony2 Validator&lt;/a&gt;,&#xA;&lt;a href=&#34;https://github.com/vlucas/valitron&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;valitron&lt;/a&gt; and filtering with something like &lt;a href=&#34;https://github.com/rdohms/DMS-Filter&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;DMS-Filter&lt;/a&gt;.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Standalone Forms and Validation in PHP</title>
      <link>https://harikt.com/blog/2013/05/21/standalone-forms-and-validation/</link>
      <pubDate>Tue, 21 May 2013 00:00:00 +0000</pubDate>
      
      <guid>https://harikt.com/blog/2013/05/21/standalone-forms-and-validation/</guid>
      <description>&lt;p&gt;Update : I wrote a very minimal approach &lt;a href=&#34;http://harikt.com/blog/2013/05/23/standalone-form-for-php/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;here&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Recently &lt;a href=&#34;http://auraphp.com/Aura.Input/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Aura.Input&lt;/a&gt; was tagged Beta1. I would like to show you how you&#xA;can use &lt;a href=&#34;http://auraphp.com/Aura.Input/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Aura.Input&lt;/a&gt;, &lt;a href=&#34;http://auraphp.com/Aura.Filter/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Aura.Filter&lt;/a&gt; and &lt;a href=&#34;http://auraphp.com/Aura.View/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Aura.View&lt;/a&gt; to create form.&lt;/p&gt;&#xA;&lt;p&gt;The &lt;a href=&#34;http://auraphp.com/Aura.Input/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Aura.Input&lt;/a&gt; itself contains a basic filter implementation. As shown&#xA;in earlier post &lt;a href=&#34;http://harikt.com/blog/2013/02/22/aura-turns-2/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Aura Turns 2&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;But in this post let us use the power of &lt;a href=&#34;http://auraphp.com/Aura.Filter/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Aura.Filter&lt;/a&gt;. As &lt;a href=&#34;http://auraphp.com/Aura.Input/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Aura.Input&lt;/a&gt;&#xA;doesn&amp;rsquo;t have a rendering capability you may need to use &lt;a href=&#34;http://auraphp.com/Aura.View/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Aura.View&lt;/a&gt; as&#xA;templating system ( see Using Aura.View ) or use the helper classes provided by &lt;a href=&#34;http://auraphp.com/Aura.View/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Aura.View&lt;/a&gt;&#xA;( see below Without using Aura.View completely )&#xA;or create your own helper classes to render the same from the hints&#xA;( see Hints for the view ).&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Aura Turns 2</title>
      <link>https://harikt.com/blog/2013/02/22/aura-turns-2/</link>
      <pubDate>Fri, 22 Feb 2013 00:00:00 +0000</pubDate>
      
      <guid>https://harikt.com/blog/2013/02/22/aura-turns-2/</guid>
      <description>&lt;p&gt;Looking over &lt;a href=&#34;https://github.com/auraphp/Aura.Router/commit/8de403dc49bf803a1fd641f55726079853716ab7&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;the commits on Aura.Router&lt;/a&gt;, &lt;a href=&#34;https://github.com/auraphp/Aura.Signal&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Aura.Signal&lt;/a&gt; etc you will&#xA;notice, &lt;a href=&#34;https://github.com/auraphp&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;aura project&lt;/a&gt; has turned 2.&lt;/p&gt;&#xA;&lt;p&gt;And today, I would like to introduce you, the new born baby still under active&#xA;development and refactoring based on user feedback, the&#xA;&lt;a href=&#34;https://github.com/auraphp/Aura.Input&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;form library for php, Aura.Input&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;The &lt;a href=&#34;https://github.com/auraphp/Aura.Input&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Aura.Input&lt;/a&gt;, doesn&amp;rsquo;t have a rendering functionality. But you can always&#xA;use Aura.View or create your own helpers.&lt;/p&gt;&#xA;&lt;p&gt;A basic filtering based on closure exists in &lt;a href=&#34;https://github.com/auraphp/Aura.Input&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Aura.Input&lt;/a&gt;. But you are&#xA;not limited, you can use your own filtering components or&#xA;integrate &lt;a href=&#34;https://github.com/auraphp/Aura.Filter&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Aura.Filter&lt;/a&gt;.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Aura.Http Request and Response</title>
      <link>https://harikt.com/blog/2013/02/16/aura-dot-http-request-and-response/</link>
      <pubDate>Sat, 16 Feb 2013 00:00:00 +0000</pubDate>
      
      <guid>https://harikt.com/blog/2013/02/16/aura-dot-http-request-and-response/</guid>
      <description>&lt;p&gt;The &lt;code&gt;Aura.Http&lt;/code&gt; package provide you the tool to build and send request and response.&lt;/p&gt;&#xA;&#xA;&lt;h1 class=&#34;relative group&#34;&gt;Instantiation:&#xA;    &lt;div id=&#34;instantiation&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#instantiation&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h1&gt;&#xA;&lt;p&gt;The easiest way is&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;&amp;lt;?&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;php&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$http&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;require&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;path/to/Aura.Http/scripts/instance.php&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;p&gt;What it gives you is an object of &lt;code&gt;Aura\Http\Manager&lt;/code&gt;. If you want to create&#xA;manually you can look into the &lt;code&gt;instance.php&lt;/code&gt;&lt;/p&gt;&#xA;&#xA;&lt;h1 class=&#34;relative group&#34;&gt;Building your Response&#xA;    &lt;div id=&#34;building-your-response&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#building-your-response&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h1&gt;&#xA;&lt;p&gt;Probably you may not have bothered too much on building the http response&#xA;either the framework does it for you, or until you need to send the correct&#xA;response.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Our Awesome PHP People</title>
      <link>https://harikt.com/blog/2013/01/09/our-awesome-php-people/</link>
      <pubDate>Wed, 09 Jan 2013 00:00:00 +0000</pubDate>
      
      <guid>https://harikt.com/blog/2013/01/09/our-awesome-php-people/</guid>
      <description>&lt;p&gt;Recently github introduces contributions chart. So I peeped into some of the people of our php community. It seems &lt;a href=&#34;https://github.com/fabpot&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;@fabpot&lt;/a&gt; is the one who contributes almost every day. Just 21 days without any contribution.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/fabpot&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/fabpot.png 687 299 &amp;lsquo;Contributions by fabpot&amp;rsquo; &amp;lsquo;Contributions by fabpot&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/weierophinney&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/weierophinney.png 687 299 &amp;lsquo;Contributions by weierophinney&amp;rsquo; &amp;lsquo;Contributions by weierophinney&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/pmjones&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/pmjones.png 687 299 &amp;lsquo;Contributions by pmjones&amp;rsquo; &amp;lsquo;Contributions by pmjones&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/willdurand&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/willdurand.png 687 299 &amp;lsquo;Contributions by willdurand&amp;rsquo; &amp;lsquo;Contributions by willdurand&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/Seldaek&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/Seldaek.png 687 299 &amp;lsquo;Contributions by Seldaek&amp;rsquo; &amp;lsquo;Contributions by Seldaek&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/markstory&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/markstory.png 687 299 &amp;lsquo;Contributions by markstory&amp;rsquo; &amp;lsquo;Contributions by markstory&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/taylorotwell&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/taylorotwell.png 687 299 &amp;lsquo;Contributions by taylorotwell&amp;rsquo; &amp;lsquo;Contributions by taylorotwell&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/WanWizard&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/WanWizard.png 687 299 &amp;lsquo;Contributions by WanWizard&amp;rsquo; &amp;lsquo;Contributions by WanWizard&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/drak&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/drak.png 687 299 &amp;lsquo;Contributions by drak&amp;rsquo; &amp;lsquo;Contributions by drak&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/nikic&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/nikic.png 687 299 &amp;lsquo;Contributions by nikic&amp;rsquo; &amp;lsquo;Contributions by nikic&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/avalanche123&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/avalanche123.png 687 299 &amp;lsquo;Contributions by avalanche123&amp;rsquo; &amp;lsquo;Contributions by avalanche123&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/shama&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/shama.png 687 299 &amp;lsquo;Contributions by shama&amp;rsquo; &amp;lsquo;Contributions by shama&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/vrana&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/vrana.png 687 299 &amp;lsquo;Contributions by vrana&amp;rsquo; &amp;lsquo;Contributions by vrana&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/philsturgeon&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/philsturgeon.png 687 299 &amp;lsquo;Contributions by philsturgeon&amp;rsquo; &amp;lsquo;Contributions by philsturgeon&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/DASPRiD&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/DASPRiD.png 687 299 &amp;lsquo;Contributions by DASPRiD&amp;rsquo; &amp;lsquo;Contributions by DASPRiD&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/mvriel&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/mvriel.png 687 299 &amp;lsquo;Contributions by mvriel&amp;rsquo; &amp;lsquo;Contributions by mvriel&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/c9s&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/c9s.png 687 299 &amp;lsquo;Contributions by c9s&amp;rsquo; &amp;lsquo;Contributions by c9s&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/weaverryan&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/weaverryan.png 687 299 &amp;lsquo;Contributions by weaverryan&amp;rsquo; &amp;lsquo;Contributions by weaverryan&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/bschussek&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/bschussek.png 687 299 &amp;lsquo;Contributions by bschussek&amp;rsquo; &amp;lsquo;Contributions by bschussek&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/vicb&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/vicb.png 687 299 &amp;lsquo;Contributions by vicb&amp;rsquo; &amp;lsquo;Contributions by nateabele&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/garak&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/garak.png 687 299 &amp;lsquo;Contributions by garak&amp;rsquo; &amp;lsquo;Contributions by garak&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/beberlei&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/beberlei.png 687 299 &amp;lsquo;Contributions by beberlei&amp;rsquo; &amp;lsquo;Contributions by beberlei&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/codeguy&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/codeguy.png 687 299 &amp;lsquo;Contributions by codeguy&amp;rsquo; &amp;lsquo;Contributions by codeguy&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/lsmith77&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/lsmith77.png 687 299 &amp;lsquo;Contributions by lsmith77&amp;rsquo; &amp;lsquo;Contributions by lsmith77&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/stof&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/stof.png 687 299 &amp;lsquo;Contributions by stof&amp;rsquo; &amp;lsquo;Contributions by stof&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/EavnDotPro&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/EavnDotPro.png 687 299 &amp;lsquo;Contributions by EavnDotPro&amp;rsquo; &amp;lsquo;Contributions by EavnDotPro&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/nateabele&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/nateabele.png 687 299 &amp;lsquo;Contributions by nateabele&amp;rsquo; &amp;lsquo;Contributions by nateabele&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/kriswallsmith&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/kriswallsmith.png 687 299 &amp;lsquo;Contributions by kriswallsmith&amp;rsquo; &amp;lsquo;Contributions by kriswallsmith&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/nrk&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/nrk.png 687 299 &amp;lsquo;Contributions by nrk&amp;rsquo; &amp;lsquo;Contributions by nrk&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/naderman&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/naderman.png 687 299 &amp;lsquo;Contributions by naderman&amp;rsquo; &amp;lsquo;Contributions by naderman&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/gwoo&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/gwoo.png 687 299 &amp;lsquo;Contributions by gwoo&amp;rsquo; &amp;lsquo;Contributions by gwoo&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/jwage&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/jwage.png 687 299 &amp;lsquo;Contributions by jwage&amp;rsquo; &amp;lsquo;Contributions by jwage&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/chartjes&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/chartjes.png 687 299 &amp;lsquo;Contributions by chartjes&amp;rsquo; &amp;lsquo;Contributions by chartjes&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/Tocacar&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/Tocacar.png 687 299 &amp;lsquo;Contributions by Tocacar&amp;rsquo; &amp;lsquo;Contributions by Tocacar&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/FrenkyNet&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/FrenkyNet.png 687 299 &amp;lsquo;Contributions by FrenkyNet&amp;rsquo; &amp;lsquo;Contributions by FrenkyNet&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/till&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/till.png 687 299 &amp;lsquo;Contributions by till&amp;rsquo; &amp;lsquo;Contributions by till&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/Ocramius&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/Ocramius.png 687 299 &amp;lsquo;Contributions by Ocramius&amp;rsquo; &amp;lsquo;Contributions by Ocramius&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/odino&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/odino.png 687 299 &amp;lsquo;Contributions by odino&amp;rsquo; &amp;lsquo;Contributions by odino&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/josegonzalez&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/josegonzalez.png 687 299 &amp;lsquo;Contributions by josegonzalez&amp;rsquo; &amp;lsquo;Contributions by josegonzalez&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/dereuromark&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/dereuromark.png 687 299 &amp;lsquo;Contributions by dereuromark&amp;rsquo; &amp;lsquo;Contributions by dereuromark&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/HosipLan&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/HosipLan.png 687 299 &amp;lsquo;Contributions by HosipLan&amp;rsquo; &amp;lsquo;Contributions by HosipLan&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/alganet&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/alganet.png 687 299 &amp;lsquo;Contributions by alganet&amp;rsquo; &amp;lsquo;Contributions by alganet&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/ezimuel&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/ezimuel.png 687 299 &amp;lsquo;Contributions by ezimuel&amp;rsquo; &amp;lsquo;Contributions by ezimuel&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/auroraeosrose&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/auroraeosrose.png 687 299 &amp;lsquo;Contributions by auroraeosrose&amp;rsquo; &amp;lsquo;Contributions by auroraeosrose&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/enygma&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/enygma.png 687 299 &amp;lsquo;Contributions by enygma&amp;rsquo; &amp;lsquo;Contributions by enygma&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/ralphschindler&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/ralphschindler.png 687 299 &amp;lsquo;Contributions by ralphschindler&amp;rsquo; &amp;lsquo;Contributions by ralphschindler&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/AD7six&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/AD7six.png 687 299 &amp;lsquo;Contributions by AD7six&amp;rsquo; &amp;lsquo;Contributions by AD7six&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/ADmad&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/ADmad.png 687 299 &amp;lsquo;Contributions by ADmad&amp;rsquo; &amp;lsquo;Contributions by ADmad&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/augustohp&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/augustohp.png 687 299 &amp;lsquo;Contributions by augustohp&amp;rsquo; &amp;lsquo;Contributions by augustohp&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/BlaineSch&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/BlaineSch.png 687 299 &amp;lsquo;Contributions by BlaineSch&amp;rsquo; &amp;lsquo;Contributions by BlaineSch&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/alexbilbie&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/alexbilbie.png 687 299 &amp;lsquo;Contributions by alexbilbie&amp;rsquo; &amp;lsquo;Contributions by alexbilbie&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/narfbg&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/narfbg.png 687 299 &amp;lsquo;Contributions by narfbg&amp;rsquo; &amp;lsquo;Contributions by narfbg&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/dg&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/dg.png 687 299 &amp;lsquo;Contributions by dg&amp;rsquo; &amp;lsquo;Contributions by dg&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/schmittjoh&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/schmittjoh.png 687 299 &amp;lsquo;Contributions by schmittjoh&amp;rsquo; &amp;lsquo;Contributions by schmittjoh&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/jschreuder&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/jschreuder.png 687 299 &amp;lsquo;Contributions by jschreuder&amp;rsquo; &amp;lsquo;Contributions by jschreuder&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/Geczy&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/Geczy.png 687 299 &amp;lsquo;Contributions by Geczy&amp;rsquo; &amp;lsquo;Contributions by Geczy&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/dzuelke&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/dzuelke.png 687 299 &amp;lsquo;Contributions by dzuelke&amp;rsquo; &amp;lsquo;Contributions by dzuelke&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/evert&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/evert.png 687 299 &amp;lsquo;Contributions by evert&amp;rsquo; &amp;lsquo;Contributions by evert&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/akrabat&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/akrabat.png 687 299 &amp;lsquo;Contributions by akrabat&amp;rsquo; &amp;lsquo;Contributions by akrabat&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/seejohnrun&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/seejohnrun.png 687 299 &amp;lsquo;Contributions by seejohnrun&amp;rsquo; &amp;lsquo;Contributions by seejohnrun&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/guilhermeblanco&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/guilhermeblanco.png 687 299 &amp;lsquo;Contributions by guilhermeblanco&amp;rsquo; &amp;lsquo;Contributions by guilhermeblanco&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/Maks3w&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/Maks3w.png 687 299 &amp;lsquo;Contributions by Maks3w&amp;rsquo; &amp;lsquo;Contributions by Maks3w&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/kore&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/kore.png 687 299 &amp;lsquo;Contributions by kore&amp;rsquo; &amp;lsquo;Contributions by kore&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/dragoonis&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/dragoonis.png 687 299 &amp;lsquo;Contributions by dragoonis&amp;rsquo; &amp;lsquo;Contributions by dragoonis&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/daschl&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/daschl.png 687 299 &amp;lsquo;Contributions by daschl&amp;rsquo; &amp;lsquo;Contributions by daschl&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/wilmoore&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/wilmoore.png 687 299 &amp;lsquo;Contributions by wilmoore&amp;rsquo; &amp;lsquo;Contributions by wilmoore&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/TheFrozenFire&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/TheFrozenFire.png 687 299 &amp;lsquo;Contributions by TheFrozenFire&amp;rsquo; &amp;lsquo;Contributions by TheFrozenFire&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/nickl-&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/nickl-.png 687 299 &amp;lsquo;Contributions by nickl-&amp;rsquo; &amp;lsquo;Contributions by nickl-&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/lorenzo&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/lorenzo.png 687 299 &amp;lsquo;Contributions by lorenzo&amp;rsquo; &amp;lsquo;Contributions by lorenzo&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/rchavik&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/rchavik.png 687 299 &amp;lsquo;Contributions by rchavik&amp;rsquo; &amp;lsquo;Contributions by rchavik&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/davidpersson&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/davidpersson.png 687 299 &amp;lsquo;Contributions by davidpersson&amp;rsquo; &amp;lsquo;Contributions by davidpersson&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/henriquemoody&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/henriquemoody.png 687 299 &amp;lsquo;Contributions by henriquemoody&amp;rsquo; &amp;lsquo;Contributions by henriquemoody&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/Freeaqingme&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/Freeaqingme.png 687 299 &amp;lsquo;Contributions by Freeaqingme&amp;rsquo; &amp;lsquo;Contributions by Freeaqingme&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/dbu&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/dbu.png 687 299 &amp;lsquo;Contributions by dbu&amp;rsquo; &amp;lsquo;Contributions by dbu&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/dshafik&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/dshafik.png 687 299 &amp;lsquo;Contributions by dshafik&amp;rsquo; &amp;lsquo;Contributions by dshafik&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/Vrtak-CZ&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/Vrtak-CZ.png 687 299 &amp;lsquo;Contributions by Vrtak-CZ&amp;rsquo; &amp;lsquo;Contributions by Vrtak-CZ&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/padraic&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/padraic.png 687 299 &amp;lsquo;Contributions by padraic&amp;rsquo; &amp;lsquo;Contributions by padraic&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/saltybeagle&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/saltybeagle.png 687 299 &amp;lsquo;Contributions by saltybeagle&amp;rsquo; &amp;lsquo;Contributions by saltybeagle&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/Hounddog&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/Hounddog.png 687 299 &amp;lsquo;Contributions by Hounddog&amp;rsquo; &amp;lsquo;Contributions by Hounddog&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/ceeram&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/ceeram.png 687 299 &amp;lsquo;Contributions by ceeram&amp;rsquo; &amp;lsquo;Contributions by ceeram&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/jmikola&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/jmikola.png 687 299 &amp;lsquo;Contributions by jmikola&amp;rsquo; &amp;lsquo;Contributions by jmikola&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/cweiske&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/cweiske.png 687 299 &amp;lsquo;Contributions by cweiske&amp;rsquo; &amp;lsquo;Contributions by cweiske&amp;rsquo; %}&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/rdohms&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;{% img center /assets/images/github/rdohms.png 687 299 &amp;lsquo;Contributions by rdohms&amp;rsquo; &amp;lsquo;Contributions by rdohms&amp;rsquo; %}&lt;/a&gt;&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Thoughts on Packages and Components</title>
      <link>https://harikt.com/blog/2013/01/04/thoughts-on-package-or-component/</link>
      <pubDate>Fri, 04 Jan 2013 00:00:00 +0000</pubDate>
      
      <guid>https://harikt.com/blog/2013/01/04/thoughts-on-package-or-component/</guid>
      <description>&lt;p&gt;Comparing a software X with Y will not make anything worst, but makes it better. But many of them will think it as a promotional stuff. It is not anyones&amp;rsquo;s problem. Some like to build it that way, some like the other way.&lt;/p&gt;&#xA;&lt;p&gt;So I am not comparing X with Y here.&lt;/p&gt;&#xA;&lt;p&gt;Not talking about package like Guzzle:&lt;/p&gt;&#xA;&lt;p&gt;I am not mentioning building something like Guzzle, which is a framework that includes the tools needed to create a robust web service client.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Aura Framework Releases Beta 4</title>
      <link>https://harikt.com/blog/2012/12/18/aura-framework-releases-beta4/</link>
      <pubDate>Tue, 18 Dec 2012 00:00:00 +0000</pubDate>
      
      <guid>https://harikt.com/blog/2012/12/18/aura-framework-releases-beta4/</guid>
      <description>&lt;p&gt;Aura.Framework released Beta4. In this release &lt;a href=&#34;http://auraphp.github.com/Aura.Framework&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Aura.Framework&lt;/a&gt; has extracted the Hello Word package and renamed it as &lt;a href=&#34;http://auraphp.github.com/Aura.Demo&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Aura.Demo&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;You can get the system as a whole from &lt;a href=&#34;http://auraphp.github.com/system/downloads/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;http://auraphp.github.com/system/downloads/&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Read about the release from &lt;a href=&#34;http://auraphp.github.com/2012/12/18/new-system-release/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;blog post&lt;/a&gt; and join discussion at &lt;a href=&#34;https://groups.google.com/d/topic/auraphp/uPsSK7OqOoI/discussion&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;auraphp group&lt;/a&gt;&lt;/p&gt;</description>
      
    </item>
    
  </channel>
</rss>
