<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" version="2.0">
  <channel>
    <title>Blogs on Hari KT</title>
    <link>https://harikt.com/blog/</link>
    <description>Recent content in Blogs on Hari KT</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/blog/index.xml" rel="self" type="application/rss+xml"/>
    
    <itunes:explicit>no</itunes:explicit><itunes:subtitle>Recent content in Blogs on Hari KT</itunes:subtitle><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;
&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;
&lt;/blockquote&gt;&lt;p&gt;Running unit tests on &lt;a href="https://github.com/MascotPhp/Mascot/blob/70b41240a5db8a84d0e8aa57995fded21052b9e4/src/ExceptionHandler.php#L37-L44"  target="_blank" rel="noreferrer"&gt;Mascot&lt;/a&gt;,
I noticed lots of warnings.&lt;/p&gt;
&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;
&lt;p&gt;Assume we have something as below&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="hl"&gt;&lt;span class="lnt"&gt;37
&lt;/span&gt;&lt;/span&gt;&lt;span class="lnt"&gt;38
&lt;/span&gt;&lt;span class="lnt"&gt;39
&lt;/span&gt;&lt;span class="lnt"&gt;40
&lt;/span&gt;&lt;span class="lnt"&gt;41
&lt;/span&gt;&lt;span class="hl"&gt;&lt;span class="lnt"&gt;42
&lt;/span&gt;&lt;/span&gt;&lt;span class="lnt"&gt;43
&lt;/span&gt;&lt;span class="lnt"&gt;44
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span class="line hl"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;lt;?&lt;/span&gt;&lt;span class="nx"&gt;php&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$handler&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nx"&gt;\Symfony\Component\Debug\ExceptionHandler&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$debug&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$exception&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$event&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;getThrowable&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nv"&gt;$exception&lt;/span&gt; &lt;span class="nx"&gt;instanceof&lt;/span&gt; &lt;span class="nx"&gt;FlattenException&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="nv"&gt;$exception&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;FlattenException&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="na"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$exception&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line hl"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;Response&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="na"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$handler&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;getHtml&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$exception&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="nv"&gt;$exception&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;getStatusCode&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt; &lt;span class="nv"&gt;$exception&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;getHeaders&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;setCharset&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;ini_get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;default_charset&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$event&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;setResponse&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$response&lt;/span&gt;&lt;span class="p"&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;
&lt;/div&gt;
&lt;/div&gt;&lt;/div&gt;
&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;
&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="http://www.php-fig.org/psr/psr-7/"  target="_blank" rel="noreferrer"&gt;PSR-7, the HTTP message interfaces&lt;/a&gt; opened
a new door of creating modular applications.&lt;/p&gt;
&lt;p&gt;Sadly many of the PSR-7 implementations added many helper methods.&lt;/p&gt;
&lt;p&gt;So if someone is creating a library that needs a PSR-7 implementations they tie
the particular library with the PSR-7 implementation and use these convinient helper methods.&lt;/p&gt;
&lt;p&gt;So was &lt;a href="https://github.com/http-interop/http-middleware"  target="_blank" rel="noreferrer"&gt;PSR-15: interfaces for HTTP Middleware&lt;/a&gt;
and &lt;a href="https://github.com/http-interop/http-factory"  target="_blank" rel="noreferrer"&gt;PSR-17: interfaces for HTTP Factories&lt;/a&gt;
was proposed.&lt;/p&gt;
&lt;p&gt;When creating a module one of the most challenging part is how to serve the
javascript, css and images. We are going to use
&lt;a href="github.com/harikt/psr7-asset" &gt;hkt/psr7-asset&lt;/a&gt; which is a fork of
&lt;a href="https://github.com/friendsofaura/Aura.Asset_Bundle/"  target="_blank" rel="noreferrer"&gt;Aura.Asset_Bundle&lt;/a&gt; .
What you want to do is only map the path to the assets folder.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>using cakephp migration as standalone</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;,
it may be nice to integrate &lt;code&gt;cakephp/migration&lt;/code&gt; than any other migration
libraries, even though it uses phinx under the hood.&lt;/p&gt;
&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;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&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;
&lt;/div&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;blockquote&gt;&lt;p&gt;The dev-master is currently passed for we need the latest version of master branch.
Before &lt;a href="https://github.com/cakephp/migrations/pull/308"  target="_blank" rel="noreferrer"&gt;this pull request&lt;/a&gt;, it was
having dependency on &lt;code&gt;cakephp/cakephp&lt;/code&gt;, which is not needed.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>aura dot di 2 dot x to 3 dot 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.
I am trying to document most of them, incase I missed please &lt;a href="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"  target="_blank" rel="noreferrer"&gt;edit and send a pull request&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I will try to eventually pushed to the main Aura.Di repo.&lt;/p&gt;

&lt;h2 class="relative group"&gt;BC Breaks
    &lt;div id="bc-breaks" class="anchor"&gt;&lt;/div&gt;
    
    &lt;span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
        &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#bc-breaks" aria-label="Anchor"&gt;#&lt;/a&gt;
    &lt;/span&gt;
    
&lt;/h2&gt;

&lt;h3 class="relative group"&gt;Instantiation
    &lt;div id="instantiation" class="anchor"&gt;&lt;/div&gt;
    
    &lt;span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
        &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#instantiation" aria-label="Anchor"&gt;#&lt;/a&gt;
    &lt;/span&gt;
    
&lt;/h3&gt;
&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="http://packagist.org/packages/cakephp/orm"  target="_blank" rel="noreferrer"&gt;cakephp/orm&lt;/a&gt; library, I needed to log all the queries.
Cakephp provides a way to do it via &lt;a href="http://packagist.org/packages/cakephp/log"  target="_blank" rel="noreferrer"&gt;cakephp/log&lt;/a&gt;.&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;span class="lnt"&gt;7
&lt;/span&gt;&lt;span class="lnt"&gt;8
&lt;/span&gt;&lt;span class="lnt"&gt;9
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;lt;?&lt;/span&gt;&lt;span class="nx"&gt;php&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;use&lt;/span&gt; &lt;span class="nx"&gt;Cake\Log\Log&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;Log&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="na"&gt;config&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;queries&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	&lt;span class="s1"&gt;&amp;#39;className&amp;#39;&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;File&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	&lt;span class="s1"&gt;&amp;#39;path&amp;#39;&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;/my/log/path/&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	&lt;span class="s1"&gt;&amp;#39;file&amp;#39;&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;app&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	&lt;span class="s1"&gt;&amp;#39;scopes&amp;#39;&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;queriesLog&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&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;
&lt;/div&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;But you are not limited, if you need to configure it to a PSR-3 logger like &lt;a href="http://packagist.org/packages/monolog/monolog"  target="_blank" rel="noreferrer"&gt;monolog/monolog&lt;/a&gt;&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;lt;?&lt;/span&gt;&lt;span class="nx"&gt;php&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;use&lt;/span&gt; &lt;span class="nx"&gt;Cake\Log\Log&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;use&lt;/span&gt; &lt;span class="nx"&gt;Monolog\Logger&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;use&lt;/span&gt; &lt;span class="nx"&gt;Monolog\Handler\StreamHandler&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;Log&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="na"&gt;config&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;default&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="nv"&gt;$log&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nx"&gt;Logger&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;cli&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="nv"&gt;$log&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;pushHandler&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nx"&gt;StreamHandler&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;php://stdout&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nv"&gt;$log&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&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;
&lt;/div&gt;
&lt;/div&gt;&lt;/div&gt;
&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;
&lt;p&gt;Thank you &lt;a href="https://github.com/lorenzo"  target="_blank" rel="noreferrer"&gt;José Lorenzo Rodríguez&lt;/a&gt; and every contributor, for your hard work.&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&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;
&lt;/div&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;That&amp;rsquo;s it.&lt;/p&gt;
&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;
&lt;p&gt;Problem, there seems no one have implemented it. How could we achieve it?
Lets do it.&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&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;
&lt;/div&gt;
&lt;/div&gt;&lt;/div&gt;
&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,
I wanted to integrate pagination.&lt;/p&gt;
&lt;p&gt;It was simple as registering a &lt;code&gt;Paginator&lt;/code&gt; middleware.&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;span class="lnt"&gt;11
&lt;/span&gt;&lt;span class="lnt"&gt;12
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;lt;?&lt;/span&gt;&lt;span class="nx"&gt;php&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;use&lt;/span&gt; &lt;span class="nx"&gt;Illuminate\Pagination\Paginator&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;use&lt;/span&gt; &lt;span class="nx"&gt;Psr\Http\Message\ResponseInterface&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;use&lt;/span&gt; &lt;span class="nx"&gt;Psr\Http\Message\ServerRequestInterface&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;IlluminatePaginator&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="na"&gt;currentPageResolver&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$pageName&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;use&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$request&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="nv"&gt;$params&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$request&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;getQueryParams&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="k"&gt;empty&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$params&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;$pageName&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt; &lt;span class="o"&gt;?&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nv"&gt;$params&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;$pageName&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;IlluminatePaginator&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="na"&gt;currentPathResolver&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="k"&gt;use&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$request&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nv"&gt;$request&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;getUri&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;getPath&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&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;
&lt;/div&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;and you can call paginate on the &lt;code&gt;Model&lt;/code&gt;.&lt;/p&gt;
&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 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="https://github.com/auraphp/Aura.Di"  target="_blank" rel="noreferrer"&gt;Aura.Di&lt;/a&gt;.
But the functionality will be same for any containers.
First register the service &lt;code&gt;Zend\View\HelperPluginManager&lt;/code&gt;, so that we
can access the same object.&lt;/p&gt;
&lt;p&gt;To register the form helpers, create the object of &lt;code&gt;Zend\Form\View\HelperConfig&lt;/code&gt;
and pass the &lt;code&gt;Zend\View\HelperPluginManager&lt;/code&gt; service.&lt;/p&gt;
&lt;p&gt;Example code with &lt;a href="https://github.com/auraphp/Aura.Di"  target="_blank" rel="noreferrer"&gt;Aura.Di&lt;/a&gt; version 3 configuration.&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;span class="lnt"&gt;11
&lt;/span&gt;&lt;span class="lnt"&gt;12
&lt;/span&gt;&lt;span class="lnt"&gt;13
&lt;/span&gt;&lt;span class="lnt"&gt;14
&lt;/span&gt;&lt;span class="lnt"&gt;15
&lt;/span&gt;&lt;span class="lnt"&gt;16
&lt;/span&gt;&lt;span class="lnt"&gt;17
&lt;/span&gt;&lt;span class="lnt"&gt;18
&lt;/span&gt;&lt;span class="lnt"&gt;19
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;lt;?&lt;/span&gt;&lt;span class="nx"&gt;php&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;use&lt;/span&gt; &lt;span class="nx"&gt;Aura\Di\ContainerConfig&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;use&lt;/span&gt; &lt;span class="nx"&gt;Aura\Di\Container&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;use&lt;/span&gt; &lt;span class="nx"&gt;Zend\Form\View\HelperConfig&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;ViewHelper&lt;/span&gt; &lt;span class="k"&gt;extends&lt;/span&gt; &lt;span class="nx"&gt;ContainerConfig&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;define&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;Container&lt;/span&gt; &lt;span class="nv"&gt;$di&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;        &lt;span class="nv"&gt;$di&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;set&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;Zend\View\HelperPluginManager&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$di&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;lazyNew&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;Zend\View\HelperPluginManager&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;modify&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;Container&lt;/span&gt; &lt;span class="nv"&gt;$di&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;        &lt;span class="nv"&gt;$serviceManager&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$di&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;Zend\View\HelperPluginManager&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;        &lt;span class="nv"&gt;$helper&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nx"&gt;HelperConfig&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;        &lt;span class="nv"&gt;$helper&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;configureServiceManager&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$servicemanager&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&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;
&lt;/div&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;h2 class="relative group"&gt;Creating your own zend-view helper
    &lt;div id="creating-your-own-zend-view-helper" class="anchor"&gt;&lt;/div&gt;
    
    &lt;span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
        &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#creating-your-own-zend-view-helper" aria-label="Anchor"&gt;#&lt;/a&gt;
    &lt;/span&gt;
    
&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Create your helper class&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;span class="lnt"&gt;11
&lt;/span&gt;&lt;span class="lnt"&gt;12
&lt;/span&gt;&lt;span class="lnt"&gt;13
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;lt;?&lt;/span&gt;&lt;span class="nx"&gt;php&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;namespace&lt;/span&gt; &lt;span class="nx"&gt;App\View\Helper&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;use&lt;/span&gt; &lt;span class="nx"&gt;Zend\View\Helper\AbstractHelper&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;HasError&lt;/span&gt; &lt;span class="k"&gt;extends&lt;/span&gt; &lt;span class="nx"&gt;AbstractHelper&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="c1"&gt;// add as many parameters you want to pass from the view
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="fm"&gt;__invoke&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;        &lt;span class="c1"&gt;// some code
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&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;
&lt;/div&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;ol start="2"&gt;
&lt;li&gt;Registering your helper class.&lt;/li&gt;
&lt;/ol&gt;
&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 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;
&lt;blockquote&gt;&lt;p&gt;Assuming you have downloaded the symfony-standard distribution to play.&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;Create &lt;code&gt;HktEventBundle&lt;/code&gt; via &lt;a href="http://symfony.com/doc/current/bundles/SensioGeneratorBundle/index.html"  target="_blank" rel="noreferrer"&gt;sensio generator bundle&lt;/a&gt;.&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;lt;?&lt;/span&gt;&lt;span class="nx"&gt;php&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;php&lt;/span&gt; &lt;span class="nx"&gt;app&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;console&lt;/span&gt; &lt;span class="nx"&gt;generate&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="nx"&gt;bundle&lt;/span&gt; &lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="k"&gt;namespace&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nx"&gt;Hkt&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;EventBundle&lt;/span&gt; &lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="nx"&gt;dir&lt;/span&gt; &lt;span class="nx"&gt;src&lt;/span&gt; &lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="nx"&gt;no&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&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;
&lt;/div&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Create the event class.&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;span class="lnt"&gt;11
&lt;/span&gt;&lt;span class="lnt"&gt;12
&lt;/span&gt;&lt;span class="lnt"&gt;13
&lt;/span&gt;&lt;span class="lnt"&gt;14
&lt;/span&gt;&lt;span class="lnt"&gt;15
&lt;/span&gt;&lt;span class="lnt"&gt;16
&lt;/span&gt;&lt;span class="lnt"&gt;17
&lt;/span&gt;&lt;span class="lnt"&gt;18
&lt;/span&gt;&lt;span class="lnt"&gt;19
&lt;/span&gt;&lt;span class="lnt"&gt;20
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;lt;?&lt;/span&gt;&lt;span class="nx"&gt;php&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// src/Hkt/EventBundle/Event/PageViewed.php
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;namespace&lt;/span&gt; &lt;span class="nx"&gt;Hkt\EventBundle\Event&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;use&lt;/span&gt; &lt;span class="nx"&gt;Symfony\Component\EventDispatcher\Event&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;PageViewed&lt;/span&gt; &lt;span class="k"&gt;extends&lt;/span&gt; &lt;span class="nx"&gt;Event&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="k"&gt;protected&lt;/span&gt; &lt;span class="nv"&gt;$name&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="fm"&gt;__construct&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$name&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;        &lt;span class="nv"&gt;$this&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$name&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;getName&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nv"&gt;$this&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&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;
&lt;/div&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Add as many methods/properties which are needed from the listener. Instead of
creating an event class we can make use of &lt;a href="http://symfony.com/doc/current/components/event_dispatcher/generic_event.html"  target="_blank" rel="noreferrer"&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
20th years of existence in the web.&lt;/p&gt;
&lt;p&gt;There is something that makes PHP unique that helps to standout with
other languages.&lt;/p&gt;
&lt;p&gt;In this opporchunity I would like to thank the creator, the contributors,
the maintainers, and all the users (past/present) to make this
memorable.&lt;/p&gt;

&lt;h2 class="relative group"&gt;My Story
    &lt;div id="my-story" class="anchor"&gt;&lt;/div&gt;
    
    &lt;span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
        &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#my-story" aria-label="Anchor"&gt;#&lt;/a&gt;
    &lt;/span&gt;
    
&lt;/h2&gt;
&lt;p&gt;I got an exposure to learn and use internet in my college days.
In those period I look html as a very complex language.
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.
I don&amp;rsquo;t know whether you have integrated Zend framework Feed with Guzzle
as Http Client.&lt;/p&gt;
&lt;p&gt;This post is inspired by &lt;a href="http://mwop.net"  target="_blank" rel="noreferrer"&gt;Matthew Weier O&amp;rsquo;Phinney&lt;/a&gt;,
who have mentioned the same on github.&lt;/p&gt;
&lt;p&gt;Our &lt;code&gt;composer.json&lt;/code&gt; looks&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;span class="lnt"&gt;11
&lt;/span&gt;&lt;span class="lnt"&gt;12
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="nt"&gt;&amp;#34;require&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;        &lt;span class="nt"&gt;&amp;#34;guzzlehttp/guzzle&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;~5.2&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;        &lt;span class="nt"&gt;&amp;#34;zendframework/zend-feed&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;~2.3&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;        &lt;span class="nt"&gt;&amp;#34;zendframework/zend-servicemanager&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;~2.3&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="p"&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="nt"&gt;&amp;#34;autoload&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;        &lt;span class="nt"&gt;&amp;#34;psr-0&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;            &lt;span class="nt"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;src/&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;        &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&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;
&lt;/div&gt;
&lt;/div&gt;&lt;/div&gt;
&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
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="https://beau.io/"  target="_blank" rel="noreferrer"&gt;Beau Simensen&lt;/a&gt; about &lt;a href="http://stackphp.com/"  target="_blank" rel="noreferrer"&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;
&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;

&lt;h2 class="relative group"&gt;Conduit to rescue
    &lt;div id="conduit-to-rescue" class="anchor"&gt;&lt;/div&gt;
    
    &lt;span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
        &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#conduit-to-rescue" aria-label="Anchor"&gt;#&lt;/a&gt;
    &lt;/span&gt;
    
&lt;/h2&gt;
&lt;p&gt;Conduit is a Middleware for PHP built by &lt;a href="http://mwop.net/"  target="_blank" rel="noreferrer"&gt;Matthew Weier O&amp;rsquo;Phinney&lt;/a&gt; lead of Zend framework. Conduit supports the current &lt;a href="https://github.com/php-fig/fig-standards/blob/master/proposed/http-message.md"  target="_blank" rel="noreferrer"&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 on different framework</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;

&lt;h2 class="relative group"&gt;Long live components
    &lt;div id="long-live-components" class="anchor"&gt;&lt;/div&gt;
    
    &lt;span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
        &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#long-live-components" aria-label="Anchor"&gt;#&lt;/a&gt;
    &lt;/span&gt;
    
&lt;/h2&gt;
&lt;p&gt;Components are awesome!. You can plug your favourite components to any system. Thank you composer.
One strong preference choosing a framework was&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>improving environment value 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;
&lt;blockquote&gt;&lt;p&gt;Assume you are already using aura framework and is at root of the project.&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;We are going to make use of &lt;a href="https://github.com/vlucas/phpdotenv"  target="_blank" rel="noreferrer"&gt;vlucas/phpdotenv&lt;/a&gt; , alternatives are there if you are interested to experiment.&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&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;
&lt;/div&gt;
&lt;/div&gt;&lt;/div&gt;
&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>speedup configuration 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="https://github.com/auraphp/Aura.Di/blob/2.1.0/README.md#auto-resolution-of-parameter-values"  target="_blank" rel="noreferrer"&gt;it introduced a few issues&lt;/a&gt;.&lt;/p&gt;
&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;
&lt;p&gt;So introducing you &lt;a href="https://github.com/friendsofaura/FOA.DiConfig"  target="_blank" rel="noreferrer"&gt;FOA.DiConfig&lt;/a&gt;&lt;/p&gt;

&lt;h2 class="relative group"&gt;Installation
    &lt;div id="installation" class="anchor"&gt;&lt;/div&gt;
    
    &lt;span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
        &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#installation" aria-label="Anchor"&gt;#&lt;/a&gt;
    &lt;/span&gt;
    
&lt;/h2&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&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;
&lt;/div&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;h2 class="relative group"&gt;Usage
    &lt;div id="usage" class="anchor"&gt;&lt;/div&gt;
    
    &lt;span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
        &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#usage" aria-label="Anchor"&gt;#&lt;/a&gt;
    &lt;/span&gt;
    
&lt;/h2&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;vendor/bin/di-config-dump
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Usage : vendor/bin/di-config-dump /real/path/to/file.php
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&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;
&lt;/div&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;h2 class="relative group"&gt;Example 1
    &lt;div id="example-1" class="anchor"&gt;&lt;/div&gt;
    
    &lt;span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
        &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#example-1" aria-label="Anchor"&gt;#&lt;/a&gt;
    &lt;/span&gt;
    
&lt;/h2&gt;
&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="http://auraphp.com/blog/2014/10/05/stable-project-releases/"  target="_blank" rel="noreferrer"&gt;aura framework v2 stable released&lt;/a&gt;.&lt;/p&gt;
&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;

&lt;h2 class="relative group"&gt;Creating your project
    &lt;div id="creating-your-project" class="anchor"&gt;&lt;/div&gt;
    
    &lt;span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
        &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#creating-your-project" aria-label="Anchor"&gt;#&lt;/a&gt;
    &lt;/span&gt;
    
&lt;/h2&gt;
&lt;p&gt;Create the project using composer.&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;composer create-project aura/web-project quick-start
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&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;
&lt;/div&gt;
&lt;/div&gt;&lt;/div&gt;
&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>aura input form 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="http://akrabat.com/zend-framework-2/integrating-zf2-forms-into-slim/"  target="_blank" rel="noreferrer"&gt;Integrating ZF2 forms into Slim&lt;/a&gt;.
I did write how you can use &lt;a href="https://github.com/auraphp/Aura.Input/tree/develop"  target="_blank" rel="noreferrer"&gt;Aura.Input&lt;/a&gt; and &lt;a href="https://github.com/auraphp/Aura.Html"  target="_blank" rel="noreferrer"&gt;Aura.Html&lt;/a&gt; to create &lt;a href="http://harikt.com/phpform/"  target="_blank" rel="noreferrer"&gt;standalone form for PHP&lt;/a&gt;.
This time I felt I should write about integrating aura input inside &lt;a href="http://slimframework.com/"  target="_blank" rel="noreferrer"&gt;Slim&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Let us install a few dependencies &lt;code&gt;aura/input&lt;/code&gt; for building the form and
&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;
and build your own helper. I also purposefully left not integrating the powerful
&lt;a href="https://github.com/auraphp/Aura.Filter/tree/develop"  target="_blank" rel="noreferrer"&gt;Aura.Filter&lt;/a&gt; , but you
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="http://auraphp.com"  target="_blank" rel="noreferrer"&gt;Aura&lt;/a&gt; has an awesome collection of
&lt;a href="https://github.com/auraphp"  target="_blank" rel="noreferrer"&gt;libraries&lt;/a&gt; for different purpose.&lt;/p&gt;
&lt;p&gt;It has components for
&lt;a href="https://github.com/auraphp/Aura.Auth"  target="_blank" rel="noreferrer"&gt;authentication&lt;/a&gt;,
&lt;a href="https://github.com/auraphp/Aura.Cli"  target="_blank" rel="noreferrer"&gt;cli&lt;/a&gt;,
&lt;a href="https://github.com/auraphp/Aura.Web"  target="_blank" rel="noreferrer"&gt;request and response&lt;/a&gt;,
&lt;a href="https://github.com/auraphp/Aura.Router"  target="_blank" rel="noreferrer"&gt;router&lt;/a&gt;,
&lt;a href="https://github.com/auraphp/Aura.Router"  target="_blank" rel="noreferrer"&gt;dependency injection container&lt;/a&gt;,
&lt;a href="https://github.com/auraphp/Aura.Dispatcher"  target="_blank" rel="noreferrer"&gt;dispatcher&lt;/a&gt;,
&lt;a href="https://github.com/auraphp/Aura.Html"  target="_blank" rel="noreferrer"&gt;html&lt;/a&gt;,
&lt;a href="https://github.com/auraphp/Aura.View"  target="_blank" rel="noreferrer"&gt;view&lt;/a&gt;,
&lt;a href="https://github.com/auraphp/Aura.Signal"  target="_blank" rel="noreferrer"&gt;event handlers&lt;/a&gt;,
&lt;a href="https://github.com/auraphp/Aura.Filter"  target="_blank" rel="noreferrer"&gt;validation&lt;/a&gt;,
&lt;a href="https://github.com/auraphp/Aura.Sql"  target="_blank" rel="noreferrer"&gt;extended pdo&lt;/a&gt;,
&lt;a href="https://github.com/auraphp/Aura.SqlQuery"  target="_blank" rel="noreferrer"&gt;query builders&lt;/a&gt;,
&lt;a href="https://github.com/auraphp/Aura.SqlSchema"  target="_blank" rel="noreferrer"&gt;sql schema&lt;/a&gt;,
&lt;a href="https://github.com/auraphp/Aura.Marshal"  target="_blank" rel="noreferrer"&gt;marshal&lt;/a&gt;,
&lt;a href="https://github.com/auraphp/Aura.Uri"  target="_blank" rel="noreferrer"&gt;build and modify uri&lt;/a&gt;,
&lt;a href="https://github.com/auraphp/Aura.Http"  target="_blank" rel="noreferrer"&gt;http&lt;/a&gt;,
&lt;a href="https://github.com/auraphp/Aura.Intl"  target="_blank" rel="noreferrer"&gt;internationalization&lt;/a&gt;,
&lt;a href="https://github.com/auraphp/Aura.Session"  target="_blank" rel="noreferrer"&gt;session&lt;/a&gt;,
&lt;a href="https://github.com/auraphp/Aura.Input"  target="_blank" rel="noreferrer"&gt;forms&lt;/a&gt;,
&lt;a href="https://github.com/auraphp/Aura.Include"  target="_blank" rel="noreferrer"&gt;includer&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you are new to aura, there is probably something you
may want to figure out yourself.&lt;/p&gt;
&lt;p&gt;Some of the components have &lt;a href="http://auraphp.com/packages/"  target="_blank" rel="noreferrer"&gt;version 1&lt;/a&gt; and
&lt;a href="http://auraphp.com/packages/v2"  target="_blank" rel="noreferrer"&gt;version 2&lt;/a&gt; releases.
There is a question of which branch corresponds to which version.&lt;/p&gt;
&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="https://getcomposer.org"  target="_blank" rel="noreferrer"&gt;composer&lt;/a&gt;
the dependency management tool that gives an end to Pear.&lt;/p&gt;
&lt;p&gt;We can look into some of the hidden gems of composer. Some of them are
already documented in the composer docs.&lt;/p&gt;

&lt;h2 class="relative group"&gt;Bug Fixing :
    &lt;div id="bug-fixing-" class="anchor"&gt;&lt;/div&gt;
    
    &lt;span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
        &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#bug-fixing-" aria-label="Anchor"&gt;#&lt;/a&gt;
    &lt;/span&gt;
    
&lt;/h2&gt;
&lt;p&gt;Documented over &lt;a href="https://getcomposer.org/doc/05-repositories.md#loading-a-package-from-a-vcs-repository"  target="_blank" rel="noreferrer"&gt;Loading a package from a VCS repository&lt;/a&gt;&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;span class="lnt"&gt;11
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="nt"&gt;&amp;#34;repositories&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;        &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;            &lt;span class="nt"&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;vcs&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;            &lt;span class="nt"&gt;&amp;#34;url&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;https://github.com/igorw/monolog&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;        &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="p"&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="nt"&gt;&amp;#34;require&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;        &lt;span class="nt"&gt;&amp;#34;monolog/monolog&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;dev-bugfix&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&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;
&lt;/div&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;The above example assume you have pushed your code to github. But you can
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="https://github.com/auraphp/Aura.Html"  target="_blank" rel="noreferrer"&gt;Aura.Html&lt;/a&gt; provides HTML escapers and helpers, including form input helpers,
that can be used in any template, view, or presentation system.&lt;/p&gt;
&lt;p&gt;In this post I would like to give you a short introduction to Aura.Html
and how you could use with &lt;a href="http://platesphp.com"  target="_blank" rel="noreferrer"&gt;Plates&lt;/a&gt; a native php templating system like &lt;a href="https://github.com/auraphp/Aura.View"  target="_blank" rel="noreferrer"&gt;Aura.View&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/auraphp/Aura.Html"  target="_blank" rel="noreferrer"&gt;Aura.Html&lt;/a&gt; was extracted from &lt;a href="https://github.com/auraphp/Aura.View"  target="_blank" rel="noreferrer"&gt;Aura.View&lt;/a&gt; helper functions of version 1,
when we at aura noticed that people who uses &lt;a href="https://github.com/auraphp/Aura.Input"  target="_blank" rel="noreferrer"&gt;Aura.Input&lt;/a&gt; may need some html helper
functions and they may not be using a templating like &lt;a href="https://github.com/auraphp/Aura.View"  target="_blank" rel="noreferrer"&gt;Aura.View&lt;/a&gt;,
but some other templating system.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>installing 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
via composer.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;composer create-project -s beta aura/framework-project path-to-project
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;a href="https://github.com/auraphp/Aura.Framework_Project"  target="_blank" rel="noreferrer"&gt;Aura.Framework_Project&lt;/a&gt; helps
you to build web and cli applications.&lt;/p&gt;
&lt;p&gt;If you need only web based application then
&lt;a href="https://github.com/auraphp/Aura.Web_Project"  target="_blank" rel="noreferrer"&gt;Aura.Web_Project&lt;/a&gt;
is what you need.&lt;/p&gt;
&lt;p&gt;{% showterm b971330ea7fd28d22e2f3 %}&lt;/p&gt;
&lt;p&gt;If you need only cli, then &lt;a href="https://github.com/auraphp/Aura.Cli_Project"  target="_blank" rel="noreferrer"&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;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://philsturgeon.co.uk/blog/2014/01/the-tribal-framework-mindset"  target="_blank" rel="noreferrer"&gt;The Tribal Framework Mindset&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://adamwathan.me/2014/01/05/decoupling-your-packages-from-your-framework"  target="_blank" rel="noreferrer"&gt;Decoupling your packages from your framework&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://www.brandonsavage.net/you-dont-need-a-framework/"  target="_blank" rel="noreferrer"&gt;You don’t need a framework&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://afilina.com/frameworks-for-everyone/"  target="_blank" rel="noreferrer"&gt;Frameworks for everyone&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;Framework is not a bad idea
    &lt;div id="framework-is-not-a-bad-idea" class="anchor"&gt;&lt;/div&gt;
    
    &lt;span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
        &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#framework-is-not-a-bad-idea" aria-label="Anchor"&gt;#&lt;/a&gt;
    &lt;/span&gt;
    
&lt;/h2&gt;
&lt;p&gt;If you don&amp;rsquo;t use a framework, probably you will be using a bunch
of independent libraries glued together or some code which
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="http://harikt.com/blog/2013/11/16/composer-support-for-processwire-modules/"  target="_blank" rel="noreferrer"&gt;earlier post&lt;/a&gt;
I mentioned about adding a &lt;code&gt;composer.json&lt;/code&gt; in the root of the github repo.&lt;/p&gt;
&lt;p&gt;Sometimes you may see a non &lt;code&gt;composer.json&lt;/code&gt; repo or some times people reject
it, you still can do like the below.&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;span class="lnt"&gt;11
&lt;/span&gt;&lt;span class="lnt"&gt;12
&lt;/span&gt;&lt;span class="lnt"&gt;13
&lt;/span&gt;&lt;span class="lnt"&gt;14
&lt;/span&gt;&lt;span class="lnt"&gt;15
&lt;/span&gt;&lt;span class="lnt"&gt;16
&lt;/span&gt;&lt;span class="lnt"&gt;17
&lt;/span&gt;&lt;span class="lnt"&gt;18
&lt;/span&gt;&lt;span class="lnt"&gt;19
&lt;/span&gt;&lt;span class="lnt"&gt;20
&lt;/span&gt;&lt;span class="lnt"&gt;21
&lt;/span&gt;&lt;span class="lnt"&gt;22
&lt;/span&gt;&lt;span class="lnt"&gt;23
&lt;/span&gt;&lt;span class="lnt"&gt;24
&lt;/span&gt;&lt;span class="lnt"&gt;25
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;lt;?&lt;/span&gt;&lt;span class="nx"&gt;php&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="s2"&gt;&amp;#34;minimum-stability&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;dev&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="s2"&gt;&amp;#34;repositories&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;        &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;            &lt;span class="s2"&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;package&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;            &lt;span class="s2"&gt;&amp;#34;package&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;                &lt;span class="s2"&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;ryancramerdesign/process-export-profile&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;                &lt;span class="s2"&gt;&amp;#34;version&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;1.0.0&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;                &lt;span class="s2"&gt;&amp;#34;source&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;                    &lt;span class="s2"&gt;&amp;#34;url&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;https://github.com/ryancramerdesign/ProcessExportProfile&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;                    &lt;span class="s2"&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;git&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;                    &lt;span class="s2"&gt;&amp;#34;reference&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;master&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;                &lt;span class="p"&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;                &lt;span class="s2"&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;pw-module&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;                &lt;span class="s2"&gt;&amp;#34;require&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;                    &lt;span class="s2"&gt;&amp;#34;hari/pw-module&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;~1.0&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;                &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;            &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;        &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="p"&gt;],&lt;/span&gt;    
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="s2"&gt;&amp;#34;require&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;        &lt;span class="s2"&gt;&amp;#34;ryancramerdesign/process-export-profile&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;1.0.0&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&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;
&lt;/div&gt;
&lt;/div&gt;&lt;/div&gt;
&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="http://getcomposer.org/" title="External link" target="_blank" rel="noreferrer"&gt;composer&lt;/a&gt;. &lt;a href="http://processwire.com/"  target="_blank" rel="noreferrer"&gt;PW&lt;/a&gt; ( ProcessWire) is missing one of the good parts of &lt;a href="http://getcomposer.org/" title="External link" target="_blank" rel="noreferrer"&gt;composer&lt;/a&gt;.
So here is a &lt;a href="https://github.com/harikt/pwmoduleinstaller"  target="_blank" rel="noreferrer"&gt;new installer&lt;/a&gt;
to install the 3rd party modules of &lt;a href="http://processwire.com/"  target="_blank" rel="noreferrer"&gt;PW&lt;/a&gt; via &lt;a href="http://getcomposer.org/" title="External link" target="_blank" rel="noreferrer"&gt;composer&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you have created a module for PW, what you need to do is add a
&lt;code&gt;composer.json&lt;/code&gt; file in your &lt;a href="https://github.com/harikt/Assets/blob/master/composer.json" title="External link" target="_blank" rel="noreferrer"&gt;github repo&lt;/a&gt; and add it to &lt;a href="https://packagist.org" title="External link" target="_blank" rel="noreferrer"&gt;packagist&lt;/a&gt;.
An example &lt;a href="https://github.com/harikt/Assets/blob/master/composer.json" title="External link" target="_blank" rel="noreferrer"&gt;composer.json&lt;/a&gt; is&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;span class="lnt"&gt;11
&lt;/span&gt;&lt;span class="lnt"&gt;12
&lt;/span&gt;&lt;span class="lnt"&gt;13
&lt;/span&gt;&lt;span class="lnt"&gt;14
&lt;/span&gt;&lt;span class="lnt"&gt;15
&lt;/span&gt;&lt;span class="lnt"&gt;16
&lt;/span&gt;&lt;span class="lnt"&gt;17
&lt;/span&gt;&lt;span class="lnt"&gt;18
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="nt"&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;vendor/package-name&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="nt"&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;pw-module&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="nt"&gt;&amp;#34;description&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Your module what it does&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="nt"&gt;&amp;#34;keywords&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;keywords&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;comma&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;seprated&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="nt"&gt;&amp;#34;homepage&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;https://github.com/harikt/Assets&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="nt"&gt;&amp;#34;license&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;BSD-2-Clause&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="nt"&gt;&amp;#34;authors&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;        &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;            &lt;span class="nt"&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Assets Contributors&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;            &lt;span class="nt"&gt;&amp;#34;homepage&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;https://github.com/harikt/Assets/contributors&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;        &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="p"&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="nt"&gt;&amp;#34;require&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;        &lt;span class="nt"&gt;&amp;#34;php&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;gt;=5.3.0&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;        &lt;span class="nt"&gt;&amp;#34;hari/pw-module&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;~1.0&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&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;
&lt;/div&gt;
&lt;/div&gt;&lt;/div&gt;
&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="http://processwire.com/"  target="_blank" rel="noreferrer"&gt;Processwire&lt;/a&gt; is a content management framework.&lt;/p&gt;
&lt;p&gt;I was looking to change the directory structure of the Processwire.&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;-- index.php
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;-- installer.php
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;-- README.md
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;-- site
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sb"&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;
&lt;/div&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;I am not the first person to talk on the subject. There are other threads
like
&lt;a href="http://processwire.com/talk/topic/876-installation-paths-and-moving-folders/"  target="_blank" rel="noreferrer"&gt;Installation paths and moving folders&lt;/a&gt;,
&lt;a href="http://processwire.com/talk/topic/3445-common-practices/"  target="_blank" rel="noreferrer"&gt;Common practices&lt;/a&gt;&lt;/p&gt;
&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;
I wrote my first processwire module &lt;a href="https://github.com/harikt/Assets"  target="_blank" rel="noreferrer"&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="http://paul-m-jones.com/"  target="_blank" rel="noreferrer"&gt;Paul M Jones&lt;/a&gt; wrote an awesome post
&lt;a href="http://auraphp.com/blog/2013/11/04/aura-v2-dispatcher/"  target="_blank" rel="noreferrer"&gt;A Peek At Aura v2 &amp;ndash; Aura.Dispatcher&lt;/a&gt;
the idea behind &lt;a href="http://github.com/auraphp/Aura.Dispatcher/"  target="_blank" rel="noreferrer"&gt;Aura.Dispatcher&lt;/a&gt;
and how it was born.&lt;/p&gt;
&lt;p&gt;So today, let us try to integrate
&lt;a href="http://github.com/auraphp/Aura.Dispatcher"  target="_blank" rel="noreferrer"&gt;Aura.Dispatcher&lt;/a&gt; with
&lt;a href="https://github.com/silexphp/Silex"  target="_blank" rel="noreferrer"&gt;Silex&lt;/a&gt;. This post is inspired by the
&lt;a href="http://auraphp.com/blog/2013/11/04/aura-v2-dispatcher/#comment-1109657910"  target="_blank" rel="noreferrer"&gt;comment&lt;/a&gt;
made by &lt;a href="https://twitter.com/cordoval"  target="_blank" rel="noreferrer"&gt;Luis Cordova&lt;/a&gt;. Thank you.&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;composer create-project silex/silex --no-dev silexproject
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; silexproject
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&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;
&lt;/div&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;blockquote&gt;&lt;p&gt;I hope you have composer installed else &lt;a href="http://getcomposer.org/"  target="_blank" rel="noreferrer"&gt;get composer&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;I am not going to explain each and everything, the code is self explanatory.
You can move the classes according to your wish (may be to another folder).
I am trying to show a simple use case.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>rest is delete idempotent</title>
      <link>https://harikt.com/blog/2013/11/01/rest-is-delete-idempotent/</link>
      <pubDate>Fri, 01 Nov 2013 00:00:00 +0000</pubDate>
      
      <guid>https://harikt.com/blog/2013/11/01/rest-is-delete-idempotent/</guid>
      <description>&lt;p&gt;This post is a thrive to learn, and not to show anyone is incorrect.
Feel free to share your thoughts.&lt;/p&gt;
&lt;p&gt;Lukas Kahwe Smith was having a nice post
&lt;a href="https://blog.liip.ch/archive/2013/10/28/resting-with-symfony2.html"  target="_blank" rel="noreferrer"&gt;RESTing with Symfony2&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Quoting a few words from the post on REST&lt;/p&gt;

&lt;h2 class="relative group"&gt;DELETE and 404
    &lt;div id="delete-and-404" class="anchor"&gt;&lt;/div&gt;
    
    &lt;span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
        &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#delete-and-404" aria-label="Anchor"&gt;#&lt;/a&gt;
    &lt;/span&gt;
    
&lt;/h2&gt;
&lt;blockquote&gt;&lt;p&gt;I started my talk on RESTing with Symfony2 with an introduction to REST itself.
On slide 7 of my talk I explained the concept of &amp;ldquo;safe&amp;rdquo; and
&amp;ldquo;idempotent&amp;rdquo; HTTP methods. Many people were surprised when I explained
that DELETE should be idempotent, meaning that sending a DELETE request
to a resource that has been removed should infact not return a 404.&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
&lt;a href="https://github.com/pmjones"  target="_blank" rel="noreferrer"&gt;Paul M Jones&lt;/a&gt;﻿ for aura version 2.&lt;/p&gt;
&lt;p&gt;More standalone repos born. Everyone should try and give feedback as much as possible.&lt;/p&gt;
&lt;p&gt;Interesting stuffs split from Aura.Sql v 1.3 are&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/auraphp/Aura.Sql/tree/develop-2"  target="_blank" rel="noreferrer"&gt;Extended PDO&lt;/a&gt;,&lt;/p&gt;
&lt;p&gt;As the name says, it is an extended version of PDO. Good thing is it is
PHP 5.3 compatible.&lt;/p&gt;
&lt;p&gt;If you have worked with PDO you know the good and bad.
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
&lt;a href="http://auraphp.com/blog/2013/09/18/aura-framework-stable-system-release/"  target="_blank" rel="noreferrer"&gt;aura releases its stable framework&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Aura is one of my first framework, which helped me to learn the inner
working of a framework, how to create a framework, rather than playing
with full stack framework.&lt;/p&gt;
&lt;p&gt;If you are interested to learn or contribute in the next version of Aura
&lt;a href="http://groups.google.com/group/auraphp"  target="_blank" rel="noreferrer"&gt;join the group&lt;/a&gt;.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>book on aura moved to 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
&lt;a href="http://harikt.com/blog/2013/07/09/the-book-on-aura/"  target="_blank" rel="noreferrer"&gt;The Book on Aura&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;It got some attention and pull requests.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/koriym/the-book-on-aura-ja"  target="_blank" rel="noreferrer"&gt;Akihito Koriyama&lt;/a&gt;
have already started to convert the documentation to Japanese.&lt;/p&gt;
&lt;p&gt;And today I am happy to announce that it is officially going to the
manuals.&lt;/p&gt;

&lt;h2 class="relative group"&gt;Contributing
    &lt;div id="contributing" class="anchor"&gt;&lt;/div&gt;
    
    &lt;span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
        &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#contributing" aria-label="Anchor"&gt;#&lt;/a&gt;
    &lt;/span&gt;
    
&lt;/h2&gt;
&lt;p&gt;Fork
&lt;a href="https://github.com/auraphp/auraphp.github.com"  target="_blank" rel="noreferrer"&gt;https://github.com/auraphp/auraphp.github.com&lt;/a&gt;
and contribute to the manuals.&lt;/p&gt;
&lt;p&gt;The manuals are in different languages. Currently&lt;br&gt;
&lt;a href="https://github.com/koriym/the-book-on-aura-ja"  target="_blank" rel="noreferrer"&gt;Akihito Koriyama&lt;/a&gt;
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
with REST api. In this post let us connect via SOAP.&lt;/p&gt;
&lt;p&gt;The below class acts like a proxy to call the magento soap api.&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;  1
&lt;/span&gt;&lt;span class="lnt"&gt;  2
&lt;/span&gt;&lt;span class="lnt"&gt;  3
&lt;/span&gt;&lt;span class="lnt"&gt;  4
&lt;/span&gt;&lt;span class="lnt"&gt;  5
&lt;/span&gt;&lt;span class="lnt"&gt;  6
&lt;/span&gt;&lt;span class="lnt"&gt;  7
&lt;/span&gt;&lt;span class="lnt"&gt;  8
&lt;/span&gt;&lt;span class="lnt"&gt;  9
&lt;/span&gt;&lt;span class="lnt"&gt; 10
&lt;/span&gt;&lt;span class="lnt"&gt; 11
&lt;/span&gt;&lt;span class="lnt"&gt; 12
&lt;/span&gt;&lt;span class="lnt"&gt; 13
&lt;/span&gt;&lt;span class="lnt"&gt; 14
&lt;/span&gt;&lt;span class="lnt"&gt; 15
&lt;/span&gt;&lt;span class="lnt"&gt; 16
&lt;/span&gt;&lt;span class="lnt"&gt; 17
&lt;/span&gt;&lt;span class="lnt"&gt; 18
&lt;/span&gt;&lt;span class="lnt"&gt; 19
&lt;/span&gt;&lt;span class="lnt"&gt; 20
&lt;/span&gt;&lt;span class="lnt"&gt; 21
&lt;/span&gt;&lt;span class="lnt"&gt; 22
&lt;/span&gt;&lt;span class="lnt"&gt; 23
&lt;/span&gt;&lt;span class="lnt"&gt; 24
&lt;/span&gt;&lt;span class="lnt"&gt; 25
&lt;/span&gt;&lt;span class="lnt"&gt; 26
&lt;/span&gt;&lt;span class="lnt"&gt; 27
&lt;/span&gt;&lt;span class="lnt"&gt; 28
&lt;/span&gt;&lt;span class="lnt"&gt; 29
&lt;/span&gt;&lt;span class="lnt"&gt; 30
&lt;/span&gt;&lt;span class="lnt"&gt; 31
&lt;/span&gt;&lt;span class="lnt"&gt; 32
&lt;/span&gt;&lt;span class="lnt"&gt; 33
&lt;/span&gt;&lt;span class="lnt"&gt; 34
&lt;/span&gt;&lt;span class="lnt"&gt; 35
&lt;/span&gt;&lt;span class="lnt"&gt; 36
&lt;/span&gt;&lt;span class="lnt"&gt; 37
&lt;/span&gt;&lt;span class="lnt"&gt; 38
&lt;/span&gt;&lt;span class="lnt"&gt; 39
&lt;/span&gt;&lt;span class="lnt"&gt; 40
&lt;/span&gt;&lt;span class="lnt"&gt; 41
&lt;/span&gt;&lt;span class="lnt"&gt; 42
&lt;/span&gt;&lt;span class="lnt"&gt; 43
&lt;/span&gt;&lt;span class="lnt"&gt; 44
&lt;/span&gt;&lt;span class="lnt"&gt; 45
&lt;/span&gt;&lt;span class="lnt"&gt; 46
&lt;/span&gt;&lt;span class="lnt"&gt; 47
&lt;/span&gt;&lt;span class="lnt"&gt; 48
&lt;/span&gt;&lt;span class="lnt"&gt; 49
&lt;/span&gt;&lt;span class="lnt"&gt; 50
&lt;/span&gt;&lt;span class="lnt"&gt; 51
&lt;/span&gt;&lt;span class="lnt"&gt; 52
&lt;/span&gt;&lt;span class="lnt"&gt; 53
&lt;/span&gt;&lt;span class="lnt"&gt; 54
&lt;/span&gt;&lt;span class="lnt"&gt; 55
&lt;/span&gt;&lt;span class="lnt"&gt; 56
&lt;/span&gt;&lt;span class="lnt"&gt; 57
&lt;/span&gt;&lt;span class="lnt"&gt; 58
&lt;/span&gt;&lt;span class="lnt"&gt; 59
&lt;/span&gt;&lt;span class="lnt"&gt; 60
&lt;/span&gt;&lt;span class="lnt"&gt; 61
&lt;/span&gt;&lt;span class="lnt"&gt; 62
&lt;/span&gt;&lt;span class="lnt"&gt; 63
&lt;/span&gt;&lt;span class="lnt"&gt; 64
&lt;/span&gt;&lt;span class="lnt"&gt; 65
&lt;/span&gt;&lt;span class="lnt"&gt; 66
&lt;/span&gt;&lt;span class="lnt"&gt; 67
&lt;/span&gt;&lt;span class="lnt"&gt; 68
&lt;/span&gt;&lt;span class="lnt"&gt; 69
&lt;/span&gt;&lt;span class="lnt"&gt; 70
&lt;/span&gt;&lt;span class="lnt"&gt; 71
&lt;/span&gt;&lt;span class="lnt"&gt; 72
&lt;/span&gt;&lt;span class="lnt"&gt; 73
&lt;/span&gt;&lt;span class="lnt"&gt; 74
&lt;/span&gt;&lt;span class="lnt"&gt; 75
&lt;/span&gt;&lt;span class="lnt"&gt; 76
&lt;/span&gt;&lt;span class="lnt"&gt; 77
&lt;/span&gt;&lt;span class="lnt"&gt; 78
&lt;/span&gt;&lt;span class="lnt"&gt; 79
&lt;/span&gt;&lt;span class="lnt"&gt; 80
&lt;/span&gt;&lt;span class="lnt"&gt; 81
&lt;/span&gt;&lt;span class="lnt"&gt; 82
&lt;/span&gt;&lt;span class="lnt"&gt; 83
&lt;/span&gt;&lt;span class="lnt"&gt; 84
&lt;/span&gt;&lt;span class="lnt"&gt; 85
&lt;/span&gt;&lt;span class="lnt"&gt; 86
&lt;/span&gt;&lt;span class="lnt"&gt; 87
&lt;/span&gt;&lt;span class="lnt"&gt; 88
&lt;/span&gt;&lt;span class="lnt"&gt; 89
&lt;/span&gt;&lt;span class="lnt"&gt; 90
&lt;/span&gt;&lt;span class="lnt"&gt; 91
&lt;/span&gt;&lt;span class="lnt"&gt; 92
&lt;/span&gt;&lt;span class="lnt"&gt; 93
&lt;/span&gt;&lt;span class="lnt"&gt; 94
&lt;/span&gt;&lt;span class="lnt"&gt; 95
&lt;/span&gt;&lt;span class="lnt"&gt; 96
&lt;/span&gt;&lt;span class="lnt"&gt; 97
&lt;/span&gt;&lt;span class="lnt"&gt; 98
&lt;/span&gt;&lt;span class="lnt"&gt; 99
&lt;/span&gt;&lt;span class="lnt"&gt;100
&lt;/span&gt;&lt;span class="lnt"&gt;101
&lt;/span&gt;&lt;span class="lnt"&gt;102
&lt;/span&gt;&lt;span class="lnt"&gt;103
&lt;/span&gt;&lt;span class="lnt"&gt;104
&lt;/span&gt;&lt;span class="lnt"&gt;105
&lt;/span&gt;&lt;span class="lnt"&gt;106
&lt;/span&gt;&lt;span class="lnt"&gt;107
&lt;/span&gt;&lt;span class="lnt"&gt;108
&lt;/span&gt;&lt;span class="lnt"&gt;109
&lt;/span&gt;&lt;span class="lnt"&gt;110
&lt;/span&gt;&lt;span class="lnt"&gt;111
&lt;/span&gt;&lt;span class="lnt"&gt;112
&lt;/span&gt;&lt;span class="lnt"&gt;113
&lt;/span&gt;&lt;span class="lnt"&gt;114
&lt;/span&gt;&lt;span class="lnt"&gt;115
&lt;/span&gt;&lt;span class="lnt"&gt;116
&lt;/span&gt;&lt;span class="lnt"&gt;117
&lt;/span&gt;&lt;span class="lnt"&gt;118
&lt;/span&gt;&lt;span class="lnt"&gt;119
&lt;/span&gt;&lt;span class="lnt"&gt;120
&lt;/span&gt;&lt;span class="lnt"&gt;121
&lt;/span&gt;&lt;span class="lnt"&gt;122
&lt;/span&gt;&lt;span class="lnt"&gt;123
&lt;/span&gt;&lt;span class="lnt"&gt;124
&lt;/span&gt;&lt;span class="lnt"&gt;125
&lt;/span&gt;&lt;span class="lnt"&gt;126
&lt;/span&gt;&lt;span class="lnt"&gt;127
&lt;/span&gt;&lt;span class="lnt"&gt;128
&lt;/span&gt;&lt;span class="lnt"&gt;129
&lt;/span&gt;&lt;span class="lnt"&gt;130
&lt;/span&gt;&lt;span class="lnt"&gt;131
&lt;/span&gt;&lt;span class="lnt"&gt;132
&lt;/span&gt;&lt;span class="lnt"&gt;133
&lt;/span&gt;&lt;span class="lnt"&gt;134
&lt;/span&gt;&lt;span class="lnt"&gt;135
&lt;/span&gt;&lt;span class="lnt"&gt;136
&lt;/span&gt;&lt;span class="lnt"&gt;137
&lt;/span&gt;&lt;span class="lnt"&gt;138
&lt;/span&gt;&lt;span class="lnt"&gt;139
&lt;/span&gt;&lt;span class="lnt"&gt;140
&lt;/span&gt;&lt;span class="lnt"&gt;141
&lt;/span&gt;&lt;span class="lnt"&gt;142
&lt;/span&gt;&lt;span class="lnt"&gt;143
&lt;/span&gt;&lt;span class="lnt"&gt;144
&lt;/span&gt;&lt;span class="lnt"&gt;145
&lt;/span&gt;&lt;span class="lnt"&gt;146
&lt;/span&gt;&lt;span class="lnt"&gt;147
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;lt;?&lt;/span&gt;&lt;span class="nx"&gt;php&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;/**
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; * 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; * @author Hari K T
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; * 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;My_Soap_Magento&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="sd"&gt;/**
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     * 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     * Host name to connect
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     * 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     * @var string
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     * 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="k"&gt;protected&lt;/span&gt; &lt;span class="nv"&gt;$hostname&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="sd"&gt;/**
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     * 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     * User name
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     * 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     * @var string
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     * 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="k"&gt;protected&lt;/span&gt; &lt;span class="nv"&gt;$username&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="sd"&gt;/**
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     * 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     * API Key
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     * 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     * @var string
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     * 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="k"&gt;protected&lt;/span&gt; &lt;span class="nv"&gt;$apikey&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="sd"&gt;/**
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     * 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     * Zend_Soap_Client
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     * 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     * @var Zend_Soap_Client
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     * 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="k"&gt;protected&lt;/span&gt; &lt;span class="nv"&gt;$client&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="k"&gt;protected&lt;/span&gt; &lt;span class="nv"&gt;$session&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="sd"&gt;/**
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     * 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     * Constructor
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     * 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     * @param string $hostname The host name
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     * 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     * @param string $username The user name of the host
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     * 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     * @param string $apikey The apikey of the host
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     * 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="fm"&gt;__construct&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$hostname&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$username&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$apikey&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="p"&gt;{&lt;/span&gt;        
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;        &lt;span class="nv"&gt;$this&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;hostname&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$hostname&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;        &lt;span class="nv"&gt;$this&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;username&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$username&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;        &lt;span class="nv"&gt;$this&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;apikey&lt;/span&gt;   &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$apikey&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;        
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="sd"&gt;/**
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     * 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     * Magic method, the methods are named on the basis of Magento SOAP api
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     * You don&amp;#39;t need to pass the session as the first argument, for convience.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     * 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     * @link http://www.magentocommerce.com/api/soap/introduction.html
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     * 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     * @param string $function
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     * 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     * @param mixed $args
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     * 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     * @return string | null
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     * 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="fm"&gt;__call&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$function&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$args&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;        &lt;span class="nv"&gt;$session&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$this&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;getSession&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;        &lt;span class="nv"&gt;$params&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;array_merge&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;array&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$this&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;getSession&lt;/span&gt;&lt;span class="p"&gt;()),&lt;/span&gt; &lt;span class="nv"&gt;$args&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;        &lt;span class="nv"&gt;$result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;call_user_func_array&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;array&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$this&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;getClient&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt; &lt;span class="nv"&gt;$function&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="nv"&gt;$params&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$result&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;            &lt;span class="c1"&gt;// I need to get as json
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;            &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;Zend_Json_Encoder&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="na"&gt;encode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$result&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;        &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="k"&gt;null&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="p"&gt;}&lt;/span&gt;        
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="sd"&gt;/**
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     * 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     * Get the session from logging in to the Magento server
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     * 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     * @return string
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     * 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;getSession&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt; &lt;span class="nv"&gt;$this&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;session&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;            &lt;span class="k"&gt;try&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;                &lt;span class="nv"&gt;$this&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;session&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$this&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;getClient&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;login&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$this&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;username&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$this&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;apikey&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;            &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;catch&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;Exception&lt;/span&gt; &lt;span class="nv"&gt;$e&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;                
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;            &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;        &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nv"&gt;$this&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;session&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="sd"&gt;/**
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     * 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     * If we already have a session, we can set the session so it don&amp;#39;t 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     * need to login again and get the session. This helps to reduce the 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     * call for login . 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     * 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     * @see getSession()
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     * 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     * @param string $session
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     * 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     * @return IM_Soap_Magento
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     * 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;setSession&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$session&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;        &lt;span class="nv"&gt;$this&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;session&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$session&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nv"&gt;$this&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="sd"&gt;/**
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     * 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     * Get the Zend_Soap_Client object
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     * 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     * @return Zend_Soap_Client
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     * 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;     */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;getClient&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt; &lt;span class="nv"&gt;$this&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;client&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;            &lt;span class="nv"&gt;$endpoint&lt;/span&gt;  &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;trim&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$this&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;hostname&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;/&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;.&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;/api/v2_soap/?wsdl&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;            &lt;span class="nv"&gt;$this&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nx"&gt;Zend_Soap_Client&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;            
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;                &lt;span class="nv"&gt;$endpoint&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;            &lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;        &lt;span class="p"&gt;}&lt;/span&gt;     
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nv"&gt;$this&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;client&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;   
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&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;
&lt;/div&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;In order to connect you want to create an object of the above
class &lt;code&gt;My_Soap_Magento&lt;/code&gt;. You need to get the username and api key
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
in aura, can be made use inside the framework.&lt;/p&gt;
&lt;p&gt;So today I am happy to announce that there is a work in progress
to make the framework documentation better. I have already started
the work on the same.&lt;/p&gt;
&lt;p&gt;You can &lt;a href="http://auraphp.com/manuals/"  target="_blank" rel="noreferrer"&gt;read the chapters online&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The examples used in the book are also online at&lt;br&gt;
&lt;a href="https://github.com/harikt/Example.Package"  target="_blank" rel="noreferrer"&gt;https://github.com/harikt/Example.Package&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;I hope Something is better than nothing.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>magento and 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
concentrate on REST api to connect and get the products from magento shop.&lt;/p&gt;
&lt;p&gt;First we want to register an Oauth consumer to get the consumer key and secret key.&lt;/p&gt;
&lt;p&gt;Login to the admin of the magento shop and from the menu
&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;
&lt;p&gt;&lt;figure&gt;&lt;img
    class="my-0 rounded-md"
    loading="lazy"
    decoding="async"
    fetchpriority="low"
    alt="REST - Oauth Consumers"
    src="http://harikt.com/images/oauth-consumer.png"
    &gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>aura dot web</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
own framework, probably Aura.Web help you to do the same.&lt;/p&gt;
&lt;p&gt;Here is the article in phpmaster.com &lt;a href="http://phpmaster.com/aura-web-auras-page-controller-for-mvc/"  target="_blank" rel="noreferrer"&gt;Aura.Web: Aura’s Page Controller for MVC&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Probably you may also like the article &lt;a href="http://phpmaster.com/web-routing-in-php-with-aura-router/"  target="_blank" rel="noreferrer"&gt;Web Routing in PHP with Aura.Router&lt;/a&gt;.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>aura system released beta5</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;
&lt;p&gt;So you can download the system from &lt;a href="http://auraphp.com/system/downloads"  target="_blank" rel="noreferrer"&gt;http://auraphp.com/system/downloads/&lt;/a&gt;&lt;/p&gt;

&lt;h2 class="relative group"&gt;via composer
    &lt;div id="via-composer" class="anchor"&gt;&lt;/div&gt;
    
    &lt;span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
        &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#via-composer" aria-label="Anchor"&gt;#&lt;/a&gt;
    &lt;/span&gt;
    
&lt;/h2&gt;
&lt;p&gt;Creating aura framework based projects has been made easy with composer. You can run&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;php composer.phar create-project -s dev aura/system your-directory
&lt;/code&gt;&lt;/pre&gt;
&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 form 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="http://harikt.com/blog/2013/05/21/standalone-forms-and-validation/"  target="_blank" rel="noreferrer"&gt;Standalone Forms and Validation&lt;/a&gt;. It may need
a little bit knowledge on how the &lt;a href="http://auraphp.com/packages"  target="_blank" rel="noreferrer"&gt;Aura.Filter&lt;/a&gt; works. But that is
a good start if you want to know how you can integrate the pieces of Aura.&lt;/p&gt;
&lt;p&gt;Today I think I need to show you the very minimal approach you can take
to build the form and validate your form. If you want to
use a powerful validation and filtering use something like &lt;a href="http://auraphp.com/packages"  target="_blank" rel="noreferrer"&gt;Aura.Filter&lt;/a&gt;
or bind your favourite components which does the validation &lt;a href="https://github.com/Respect/Validation"  target="_blank" rel="noreferrer"&gt;Respect&lt;/a&gt;, &lt;a href="https://github.com/symfony/validator"  target="_blank" rel="noreferrer"&gt;Symfony2 Validator&lt;/a&gt;,
&lt;a href="https://github.com/vlucas/valitron"  target="_blank" rel="noreferrer"&gt;valitron&lt;/a&gt; and filtering with something like &lt;a href="https://github.com/rdohms/DMS-Filter"  target="_blank" rel="noreferrer"&gt;DMS-Filter&lt;/a&gt;.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>standalone forms and validation</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="http://harikt.com/blog/2013/05/23/standalone-form-for-php/"  target="_blank" rel="noreferrer"&gt;here&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Recently &lt;a href="http://auraphp.com/Aura.Input/"  target="_blank" rel="noreferrer"&gt;Aura.Input&lt;/a&gt; was tagged Beta1. I would like to show you how you
can use &lt;a href="http://auraphp.com/Aura.Input/"  target="_blank" rel="noreferrer"&gt;Aura.Input&lt;/a&gt;, &lt;a href="http://auraphp.com/Aura.Filter/"  target="_blank" rel="noreferrer"&gt;Aura.Filter&lt;/a&gt; and &lt;a href="http://auraphp.com/Aura.View/"  target="_blank" rel="noreferrer"&gt;Aura.View&lt;/a&gt; to create form.&lt;/p&gt;
&lt;p&gt;The &lt;a href="http://auraphp.com/Aura.Input/"  target="_blank" rel="noreferrer"&gt;Aura.Input&lt;/a&gt; itself contains a basic filter implementation. As shown
in earlier post &lt;a href="http://harikt.com/blog/2013/02/22/aura-turns-2/"  target="_blank" rel="noreferrer"&gt;Aura Turns 2&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;But in this post let us use the power of &lt;a href="http://auraphp.com/Aura.Filter/"  target="_blank" rel="noreferrer"&gt;Aura.Filter&lt;/a&gt;. As &lt;a href="http://auraphp.com/Aura.Input/"  target="_blank" rel="noreferrer"&gt;Aura.Input&lt;/a&gt;
doesn&amp;rsquo;t have a rendering capability you may need to use &lt;a href="http://auraphp.com/Aura.View/"  target="_blank" rel="noreferrer"&gt;Aura.View&lt;/a&gt; as
templating system ( see Using Aura.View ) or use the helper classes provided by &lt;a href="http://auraphp.com/Aura.View/"  target="_blank" rel="noreferrer"&gt;Aura.View&lt;/a&gt;
( see below Without using Aura.View completely )
or create your own helper classes to render the same from the hints
( 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="https://github.com/auraphp/Aura.Router/commit/8de403dc49bf803a1fd641f55726079853716ab7"  target="_blank" rel="noreferrer"&gt;the commits on Aura.Router&lt;/a&gt;, &lt;a href="https://github.com/auraphp/Aura.Signal"  target="_blank" rel="noreferrer"&gt;Aura.Signal&lt;/a&gt; etc you will
notice, &lt;a href="https://github.com/auraphp"  target="_blank" rel="noreferrer"&gt;aura project&lt;/a&gt; has turned 2.&lt;/p&gt;
&lt;p&gt;And today, I would like to introduce you, the new born baby still under active
development and refactoring based on user feedback, the
&lt;a href="https://github.com/auraphp/Aura.Input"  target="_blank" rel="noreferrer"&gt;form library for php, Aura.Input&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The &lt;a href="https://github.com/auraphp/Aura.Input"  target="_blank" rel="noreferrer"&gt;Aura.Input&lt;/a&gt;, doesn&amp;rsquo;t have a rendering functionality. But you can always
use Aura.View or create your own helpers.&lt;/p&gt;
&lt;p&gt;A basic filtering based on closure exists in &lt;a href="https://github.com/auraphp/Aura.Input"  target="_blank" rel="noreferrer"&gt;Aura.Input&lt;/a&gt;. But you are
not limited, you can use your own filtering components or
integrate &lt;a href="https://github.com/auraphp/Aura.Filter"  target="_blank" rel="noreferrer"&gt;Aura.Filter&lt;/a&gt;.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>aura dot 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;

&lt;h1 class="relative group"&gt;Instantiation:
    &lt;div id="instantiation" class="anchor"&gt;&lt;/div&gt;
    
    &lt;span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
        &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#instantiation" aria-label="Anchor"&gt;#&lt;/a&gt;
    &lt;/span&gt;
    
&lt;/h1&gt;
&lt;p&gt;The easiest way is&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;lt;?&lt;/span&gt;&lt;span class="nx"&gt;php&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$http&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;require&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;path/to/Aura.Http/scripts/instance.php&amp;#39;&lt;/span&gt;&lt;span class="p"&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;
&lt;/div&gt;
&lt;/div&gt;&lt;/div&gt;
&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
manually you can look into the &lt;code&gt;instance.php&lt;/code&gt;&lt;/p&gt;

&lt;h1 class="relative group"&gt;Building your Response
    &lt;div id="building-your-response" class="anchor"&gt;&lt;/div&gt;
    
    &lt;span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
        &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#building-your-response" aria-label="Anchor"&gt;#&lt;/a&gt;
    &lt;/span&gt;
    
&lt;/h1&gt;
&lt;p&gt;Probably you may not have bothered too much on building the http response
either the framework does it for you, or until you need to send the correct
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="https://github.com/fabpot"  target="_blank" rel="noreferrer"&gt;@fabpot&lt;/a&gt; is the one who contributes almost every day. Just 21 days without any contribution.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/fabpot"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/weierophinney"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/pmjones"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/willdurand"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/Seldaek"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/markstory"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/taylorotwell"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/WanWizard"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/drak"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/nikic"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/avalanche123"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/shama"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/vrana"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/philsturgeon"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/DASPRiD"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/mvriel"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/c9s"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/weaverryan"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/bschussek"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/vicb"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/garak"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/beberlei"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/codeguy"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/lsmith77"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/stof"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/EavnDotPro"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/nateabele"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/kriswallsmith"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/nrk"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/naderman"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/gwoo"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/jwage"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/chartjes"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/Tocacar"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/FrenkyNet"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/till"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/Ocramius"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/odino"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/josegonzalez"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/dereuromark"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/HosipLan"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/alganet"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/ezimuel"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/auroraeosrose"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/enygma"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/ralphschindler"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/AD7six"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/ADmad"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/augustohp"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/BlaineSch"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/alexbilbie"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/narfbg"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/dg"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/schmittjoh"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/jschreuder"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/Geczy"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/dzuelke"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/evert"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/akrabat"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/seejohnrun"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/guilhermeblanco"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/Maks3w"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/kore"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/dragoonis"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/daschl"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/wilmoore"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/TheFrozenFire"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/nickl-"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/lorenzo"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/rchavik"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/davidpersson"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/henriquemoody"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/Freeaqingme"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/dbu"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/dshafik"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/Vrtak-CZ"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/padraic"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/saltybeagle"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/Hounddog"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/ceeram"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/jmikola"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/cweiske"  target="_blank" rel="noreferrer"&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;
&lt;a href="https://github.com/rdohms"  target="_blank" rel="noreferrer"&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 package or component</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;
&lt;p&gt;So I am not comparing X with Y here.&lt;/p&gt;
&lt;p&gt;Not talking about package like Guzzle:&lt;/p&gt;
&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 beta4</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="http://auraphp.github.com/Aura.Framework"  target="_blank" rel="noreferrer"&gt;Aura.Framework&lt;/a&gt; has extracted the Hello Word package and renamed it as &lt;a href="http://auraphp.github.com/Aura.Demo"  target="_blank" rel="noreferrer"&gt;Aura.Demo&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;You can get the system as a whole from &lt;a href="http://auraphp.github.com/system/downloads/"  target="_blank" rel="noreferrer"&gt;http://auraphp.github.com/system/downloads/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Read about the release from &lt;a href="http://auraphp.github.com/2012/12/18/new-system-release/"  target="_blank" rel="noreferrer"&gt;blog post&lt;/a&gt; and join discussion at &lt;a href="https://groups.google.com/d/topic/auraphp/uPsSK7OqOoI/discussion"  target="_blank" rel="noreferrer"&gt;auraphp group&lt;/a&gt;&lt;/p&gt;</description>
      
    </item>
    
  </channel>
</rss>