<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Arshid</title>
    <description>The latest articles on DEV Community by Arshid (@arshidkv12).</description>
    <link>https://dev.to/arshidkv12</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1075236%2F228ba0a7-927a-4f09-b460-c89c16e32d50.jpeg</url>
      <title>DEV Community: Arshid</title>
      <link>https://dev.to/arshidkv12</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/arshidkv12"/>
    <language>en</language>
    <item>
      <title>Direct Thermal Printing from Android Web Using PHP (ESC/POS Guide)</title>
      <dc:creator>Arshid</dc:creator>
      <pubDate>Thu, 02 Apr 2026 13:04:58 +0000</pubDate>
      <link>https://dev.to/arshidkv12/direct-thermal-printing-from-android-web-using-php-escpos-guide-9kl</link>
      <guid>https://dev.to/arshidkv12/direct-thermal-printing-from-android-web-using-php-escpos-guide-9kl</guid>
      <description>&lt;p&gt;Print receipts directly to any ESC/POS thermal printer from your web-based POS system — no SDK, no cloud, no hassle.&lt;/p&gt;

&lt;p&gt;
  &lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2Fmailmug%2Flaravel-easy-pos%2Fmain%2Fpublic%2Fimg%2Finvoice.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2Fmailmug%2Flaravel-easy-pos%2Fmain%2Fpublic%2Fimg%2Finvoice.png" alt="POS Invoice" width="600" height="840"&gt;&lt;/a&gt;
&lt;/p&gt; 

&lt;h2&gt;
  
  
  The Problem
&lt;/h2&gt;

&lt;p&gt;Browsers can't talk to thermal printers. Bluetooth SDKs are buggy. Cloud printing is slow.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Solution
&lt;/h2&gt;

&lt;p&gt;POSBridge – a free Android app that acts as a bridge between your PHP web app and USB/Bluetooth/Network thermal printers.&lt;/p&gt;

&lt;p&gt;
  &lt;a href="https://play.google.com/store/apps/details?id=com.phpbolt.posbridge" rel="noopener noreferrer"&gt;
    &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fplay.google.com%2Fintl%2Fen_us%2Fbadges%2Fstatic%2Fimages%2Fbadges%2Fen_badge_web_generic.png" width="646" height="250"&gt;
  &lt;/a&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  ⚡ How Direct Thermal Printing Works
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;PHP → Encode → Custom URL → Android → POSBridge → Printer&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This method uses Android deep linking to pass print data.&lt;/p&gt;

&lt;h2&gt;
  
  
  🧾 PHP ESC/POS Receipt Example
&lt;/h2&gt;

&lt;p&gt;Use this optimized PHP code:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;?php&lt;/span&gt; 

&lt;span class="nv"&gt;$data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"[C]&amp;lt;font size='big'&amp;gt;&amp;lt;b&amp;gt;POSBRIDGE STORE&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;
&lt;span class="s2"&gt;"[C]Calicut, Kerala&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;
&lt;span class="s2"&gt;"[C]Tel: +1 9605884551&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;
&lt;span class="s2"&gt;"[L]&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;
&lt;span class="s2"&gt;"[C]--------------------------------&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;
&lt;span class="s2"&gt;"[C]&amp;lt;b&amp;gt;INVOICE&amp;lt;/b&amp;gt;&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;
&lt;span class="s2"&gt;"[C]--------------------------------&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;
&lt;span class="s2"&gt;"[L]Order No : 045&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;
&lt;span class="s2"&gt;"[L]Date     : 19-03-2026&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;
&lt;span class="s2"&gt;"[L]&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;

&lt;span class="s2"&gt;"[L]&amp;lt;b&amp;gt;Item&amp;lt;/b&amp;gt;            [R]&amp;lt;b&amp;gt;Price&amp;lt;/b&amp;gt;&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;
&lt;span class="s2"&gt;"[C]--------------------------------&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;

&lt;span class="s2"&gt;"[L]Beautiful Shirt     [R]$9.99&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;
&lt;span class="s2"&gt;"[L]  Size: S&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;
&lt;span class="s2"&gt;"[L]&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;

&lt;span class="s2"&gt;"[L]Awesome Hat         [R]$24.99&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;
&lt;span class="s2"&gt;"[L]  Size: 57/58&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;
&lt;span class="s2"&gt;"[L]&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;
&lt;span class="s2"&gt;"[C]--------------------------------&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;
&lt;span class="s2"&gt;"[R]Subtotal           $34.98&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;
&lt;span class="s2"&gt;"[R]Tax (5%)           $1.75&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;
&lt;span class="s2"&gt;"[C]--------------------------------&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;
&lt;span class="s2"&gt;"[R]&amp;lt;b&amp;gt;TOTAL&amp;lt;/b&amp;gt;       &amp;lt;b&amp;gt;$36.73&amp;lt;/b&amp;gt;&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;
&lt;span class="s2"&gt;"[C]================================&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;
&lt;span class="s2"&gt;"[L]&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;
&lt;span class="s2"&gt;"[L]&amp;lt;b&amp;gt;Customer&amp;lt;/b&amp;gt;&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;
&lt;span class="s2"&gt;"[L]Arshid KV&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;
&lt;span class="s2"&gt;"[L]Calicut, Kerala&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;
&lt;span class="s2"&gt;"[L]Ph: +1-9605884551&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;
&lt;span class="s2"&gt;"[L]&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;
&lt;span class="s2"&gt;"[C]&amp;lt;qrcode size='25'&amp;gt;https://phpbolt.com&amp;lt;/qrcode&amp;gt;&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;
&lt;span class="s2"&gt;"[L]&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;
&lt;span class="s2"&gt;"[C]Thank you for your purchase!&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;
&lt;span class="s2"&gt;"[C]Visit again&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="c1"&gt;// Compress print data&lt;/span&gt;
&lt;span class="nv"&gt;$compressed&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;gzencode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$data&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;9&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="c1"&gt;// Encode for URL (important for Android intent)&lt;/span&gt;
&lt;span class="nv"&gt;$encoded&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;rtrim&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;strtr&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;base64_encode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$compressed&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="s1"&gt;'+/'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'-_'&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="s1"&gt;'='&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="c1"&gt;// Trigger print via deep link&lt;/span&gt;
&lt;span class="k"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"&amp;lt;a href='pos-bridge://print?print-data="&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;&lt;span class="nv"&gt;$encoded&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;&lt;span class="s2"&gt;"'&amp;gt;Print Receipt&amp;lt;/a&amp;gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Quick Start
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Install – &lt;a href="https://play.google.com/store/apps/details?id=com.phpbolt.posbridge" rel="noopener noreferrer"&gt;POSBridge on Google Play&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Connect – Pair your thermal printer (USB/Bluetooth)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Copy – Use the PHP code above&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Print – Click the link from any Android browser&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>php</category>
      <category>android</category>
    </item>
    <item>
      <title>Zentropy for Laravel: The High-Performance Redis Alternative for Scalable Apps</title>
      <dc:creator>Arshid</dc:creator>
      <pubDate>Mon, 20 Oct 2025 11:14:59 +0000</pubDate>
      <link>https://dev.to/arshidkv12/zentropy-for-laravel-the-high-performance-redis-alternative-for-scalable-apps-57n7</link>
      <guid>https://dev.to/arshidkv12/zentropy-for-laravel-the-high-performance-redis-alternative-for-scalable-apps-57n7</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F23e1so3t8w9n4o8xujxk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F23e1so3t8w9n4o8xujxk.png" alt="Zentropy Laravel Cache" width="427" height="136"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Boost your Laravel app's speed and simplicity with Zentropy, a lightweight Redis alternative. No more setup headaches.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Zentropy?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/mailmug/zentropy" rel="noopener noreferrer"&gt;Zentropy&lt;/a&gt;&lt;/strong&gt; is a high-performance key-value store that can be used as a replacement for Redis. It supports both TCP connections with optional authentication and Unix socket connections, providing maximum flexibility for developers.&lt;/p&gt;

&lt;p&gt;With the Zentropy Laravel wrapper, you can integrate it seamlessly into your Laravel applications, using familiar Facade syntax or dependency injection.&lt;/p&gt;

&lt;h2&gt;
  
  
  Install Zentropy
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Download the latest release&lt;/strong&gt; from the official GitHub repository:&lt;br&gt;
&lt;a href="https://github.com/mailmug/zentropy/releases" rel="noopener noreferrer"&gt;https://github.com/mailmug/zentropy/releases&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Extract the zip file&lt;/strong&gt; for your operating system.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Run the binary&lt;/strong&gt; from your terminal:&lt;br&gt;
&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;./zentropy
&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Run as a Service (Recommended for Production):&lt;/strong&gt; For a production environment, you should configure it to run as a system service (e.g., using &lt;code&gt;systemd&lt;/code&gt; on Linux) so it starts automatically on boot.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Getting Started with Zentropy Laravel
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Install the package&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="n"&gt;composer&lt;/span&gt; &lt;span class="k"&gt;require&lt;/span&gt; &lt;span class="n"&gt;mailmug&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;zentropy&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;laravel&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Publish the Configuration&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;php artisan vendor:publish &lt;span class="nt"&gt;--provider&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"MailMug&lt;/span&gt;&lt;span class="se"&gt;\Z&lt;/span&gt;&lt;span class="s2"&gt;entropyLaravel&lt;/span&gt;&lt;span class="se"&gt;\Z&lt;/span&gt;&lt;span class="s2"&gt;entropyWrapperServiceProvider"&lt;/span&gt; &lt;span class="nt"&gt;--tag&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"config"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Sample Controller&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;MailMug\ZentropyLaravel\Facades\Zentropy&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;UserController&lt;/span&gt; &lt;span class="kd"&gt;extends&lt;/span&gt; &lt;span class="nc"&gt;Controller&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;index&lt;/span&gt;&lt;span class="p"&gt;(){&lt;/span&gt;
        &lt;span class="nc"&gt;Zentropy&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;set&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'users'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nc"&gt;User&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
        &lt;span class="c1"&gt;// Set a value&lt;/span&gt;
        &lt;span class="nc"&gt;Zentropy&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;set&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'foo'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'bar'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

        &lt;span class="c1"&gt;// Get a value&lt;/span&gt;
        &lt;span class="nv"&gt;$value&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Zentropy&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'foo'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

       &lt;span class="c1"&gt;// Delete a key&lt;/span&gt;
       &lt;span class="nc"&gt;Zentropy&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nb"&gt;delete&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'foo'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;


    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>laravel</category>
      <category>web</category>
      <category>php</category>
      <category>webdev</category>
    </item>
    <item>
      <title>✨ Introducing data-request: A Cleaner Way to Handle Form Data in Laravel</title>
      <dc:creator>Arshid</dc:creator>
      <pubDate>Wed, 30 Jul 2025 09:20:58 +0000</pubDate>
      <link>https://dev.to/arshidkv12/introducing-data-request-a-cleaner-way-to-handle-form-data-in-laravel-1jjp</link>
      <guid>https://dev.to/arshidkv12/introducing-data-request-a-cleaner-way-to-handle-form-data-in-laravel-1jjp</guid>
      <description>&lt;p&gt;Laravel developers love &lt;code&gt;FormRequest&lt;/code&gt; classes for their clean validation approach. But if you've ever felt the boilerplate is too much—writing &lt;code&gt;$request-&amp;gt;validated()&lt;/code&gt; and manually assigning every input—you’re not alone.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://packagist.org/packages/arshidkv12/data-request" rel="noopener noreferrer"&gt;arshidkv12/data-request&lt;/a&gt; — a minimal Laravel package that lets you define validated fields as typed public properties and auto-fills them after validation.&lt;/p&gt;

&lt;h2&gt;
  
  
  ✅ What Problem Does It Solve?
&lt;/h2&gt;

&lt;p&gt;Normally, you'd do something like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;store&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;Request&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 class="nv"&gt;$validated&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="nf"&gt;validate&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;
        &lt;span class="s1"&gt;'name'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'required|string'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="s1"&gt;'email'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'required|email'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;]);&lt;/span&gt;

    &lt;span class="nv"&gt;$user&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;User&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;
        &lt;span class="s1"&gt;'name'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nv"&gt;$validated&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'name'&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
        &lt;span class="s1"&gt;'email'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nv"&gt;$validated&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'email'&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
    &lt;span class="p"&gt;]);&lt;/span&gt;
 &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Or using FormRequest:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;RegisterRequest&lt;/span&gt; &lt;span class="kd"&gt;extends&lt;/span&gt; &lt;span class="nc"&gt;FormRequest&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="kt"&gt;string&lt;/span&gt; &lt;span class="nv"&gt;$name&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="kt"&gt;string&lt;/span&gt; &lt;span class="nv"&gt;$email&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;rules&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt; &lt;span class="kt"&gt;array&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
            &lt;span class="s1"&gt;'name'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'required|string'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="s1"&gt;'email'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'required|email'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="p"&gt;];&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Then inside the controller:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;store&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;Request&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 class="nv"&gt;$user&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;User&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;
        &lt;span class="s1"&gt;'name'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nv"&gt;$validated&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="s1"&gt;'email'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nv"&gt;$validated&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;email&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;]);&lt;/span&gt;
 &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;No more &lt;code&gt;$request-&amp;gt;validated()&lt;/code&gt; and manual unpacking. Your public properties are automatically assigned from validated input.&lt;/p&gt;

&lt;h2&gt;
  
  
  🔧 Installation
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;composer require arshidkv12/data-request
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  🛡️ Safety Features
&lt;/h2&gt;

&lt;p&gt;✨ Uses Laravel’s native validation.&lt;/p&gt;

&lt;p&gt;🧪 Fails fast if validation rules are missing.&lt;/p&gt;

&lt;p&gt;✅ Type-safe properties prevent unexpected nulls or type mismatches.&lt;/p&gt;

&lt;h2&gt;
  
  
  📦 Use Cases
&lt;/h2&gt;

&lt;p&gt;Perfect for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;API request classes&lt;/li&gt;
&lt;li&gt;Form submissions&lt;/li&gt;
&lt;li&gt;Admin panel inputs&lt;/li&gt;
&lt;li&gt;Anywhere you want less repetitive validation-to-property code&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    <item>
      <title>🚀 Traitify – Native PHP Traits in C</title>
      <dc:creator>Arshid</dc:creator>
      <pubDate>Sun, 29 Jun 2025 13:27:50 +0000</pubDate>
      <link>https://dev.to/arshidkv12/traitify-native-php-traits-in-c-17e1</link>
      <guid>https://dev.to/arshidkv12/traitify-native-php-traits-in-c-17e1</guid>
      <description>&lt;p&gt;&lt;strong&gt;Traitify&lt;/strong&gt; is a PHP extension that brings native, high-performance traits, such as Singleton, to PHP using C. It’s faster, lighter, and designed for real-world use in modern PHP apps.&lt;/p&gt;

&lt;h2&gt;
  
  
  🔧 Features
&lt;/h2&gt;

&lt;p&gt;✅ Traitify\Singleton trait in C&lt;/p&gt;

&lt;p&gt;✅ Automatic getInstance() handling&lt;/p&gt;

&lt;p&gt;✅ Full __construct() support&lt;/p&gt;

&lt;p&gt;🚀 Skips PHP overhead&lt;/p&gt;

&lt;p&gt;🧠 Extensible: add Macroable, Singleton, etc.&lt;/p&gt;

&lt;h2&gt;
  
  
  📦 Install
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/arshidkv12/traitify.git
&lt;span class="nb"&gt;cd &lt;/span&gt;traitify
phpize
./configure &lt;span class="nt"&gt;--enable-traitify&lt;/span&gt;
make &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nb"&gt;sudo &lt;/span&gt;make &lt;span class="nb"&gt;install&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Enable in php.ini:
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;extension&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;traitify
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  ✅ Why Use It?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Faster than PHP traits&lt;/li&gt;
&lt;li&gt;Less memory usage&lt;/li&gt;
&lt;li&gt;Clean API&lt;/li&gt;
&lt;li&gt;Ideal&lt;/li&gt;
&lt;li&gt;for performance-critical apps&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🔗 &lt;strong&gt;GitHub&lt;/strong&gt;: &lt;a href="//github.com/arshidkv12/traitify"&gt;github.com/arshidkv12/traitify&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Fork it. Test it. Extend it.&lt;/p&gt;

</description>
      <category>php</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
    <item>
      <title>Saudi Riyal Font – Easily Display SAR Currency Symbol in HTML</title>
      <dc:creator>Arshid</dc:creator>
      <pubDate>Wed, 26 Feb 2025 15:48:53 +0000</pubDate>
      <link>https://dev.to/arshidkv12/saudi-riyal-font-easily-display-sar-currency-symbol-in-html-3n24</link>
      <guid>https://dev.to/arshidkv12/saudi-riyal-font-easily-display-sar-currency-symbol-in-html-3n24</guid>
      <description>&lt;p&gt;How to Use Saudi Riyal Font in HTML?&lt;br&gt;
1️⃣ Download the Font from GitHub &lt;a href="https://github.com/mailmug/saudi-riyal-font" rel="noopener noreferrer"&gt;https://github.com/mailmug/saudi-riyal-font&lt;/a&gt;&lt;br&gt;
2️⃣ Include it in your CSS:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="k"&gt;@font-face&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;font-family&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;'Arshid'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;src&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sx"&gt;url('arshid.ttf')&lt;/span&gt; &lt;span class="n"&gt;format&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;'truetype'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;3️⃣ Apply the font in HTML:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;p&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"text-green-600 font-semibold"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;span&lt;/span&gt; &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"font-family: 'Arshid';"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;$&lt;span class="nt"&gt;&amp;lt;/span&amp;gt;&lt;/span&gt;10.00
&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;🔹 Now, your $ sign will correctly display as Saudi Riyal (SAR) currency symbol!&lt;/p&gt;

&lt;p&gt;Check out the project on GitHub:&lt;br&gt;
👉 &lt;a href="https://github.com/mailmug/saudi-riyal-font" rel="noopener noreferrer"&gt;https://github.com/mailmug/saudi-riyal-font&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Would love to hear your feedback! 💬&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Build a Simple POS System with Laravel</title>
      <dc:creator>Arshid</dc:creator>
      <pubDate>Fri, 14 Feb 2025 09:01:53 +0000</pubDate>
      <link>https://dev.to/arshidkv12/build-a-simple-pos-system-with-laravel-1aal</link>
      <guid>https://dev.to/arshidkv12/build-a-simple-pos-system-with-laravel-1aal</guid>
      <description>&lt;p&gt;I built a POS system using Laravel! 🚀 It includes:&lt;br&gt;
✅ Product &amp;amp; inventory management&lt;br&gt;
✅ Sales tracking &amp;amp; receipts&lt;br&gt;
✅ Responsive dashboard&lt;/p&gt;

&lt;p&gt;Laravel’s Eloquent and Livewire make it easy! 💡&lt;/p&gt;

&lt;p&gt;Planning to add barcode scanning &amp;amp; multi-store support next.&lt;/p&gt;

&lt;p&gt;Check it out: &lt;a href="https://github.com/mailmug/laravel-easy-pos" rel="noopener noreferrer"&gt;https://github.com/mailmug/laravel-easy-pos&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Live Demo: &lt;a href="https://filament-pos.phpbolt.com/" rel="noopener noreferrer"&gt;https://filament-pos.phpbolt.com/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Username: &lt;a href="mailto:admin@admin.com"&gt;admin@admin.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Password: pass@123&lt;/p&gt;

&lt;p&gt;What features would you add? 🤔👇&lt;/p&gt;

</description>
      <category>laravel</category>
      <category>php</category>
      <category>webdev</category>
      <category>web</category>
    </item>
    <item>
      <title>MailMug.net: A Powerful Email Testing and Debugging Tool</title>
      <dc:creator>Arshid</dc:creator>
      <pubDate>Sat, 01 Jul 2023 08:55:00 +0000</pubDate>
      <link>https://dev.to/arshidkv12/mailmugnet-a-powerful-email-testing-and-debugging-tool-4n2</link>
      <guid>https://dev.to/arshidkv12/mailmugnet-a-powerful-email-testing-and-debugging-tool-4n2</guid>
      <description>&lt;p&gt;In today's digital age, email has become an indispensable tool for communication, particularly in professional settings. However, with the constant influx of messages and the need to juggle multiple accounts, managing emails efficiently can be a daunting task. This is where MailMug.net comes to the rescue. In this blog post, we will explore how MailMug.net is revolutionizing email management for busy professionals, offering a seamless experience and enhanced productivity.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://youtu.be/fAXevTJ0r8I"&gt;YouTube&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Streamlined Email Aggregation:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;One of the standout features of MailMug.net is its ability to aggregate multiple email accounts into one unified platform. Whether you have accounts with Gmail, Outlook, Yahoo, or any other popular email service provider, MailMug.net allows you to access and manage all your emails from a single dashboard. This streamlines the process and eliminates the need to switch between multiple applications or tabs, saving valuable time and effort.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Intuitive User Interface:&lt;/strong&gt;&lt;br&gt;
MailMug.net prides itself on its intuitive user interface, designed to make email management a breeze. The platform offers a clean and clutter-free layout, with well-organized folders, labels, and filters. Navigating through your inbox, composing emails, and searching for specific messages is incredibly straightforward. The user-friendly interface ensures that even those less tech-savvy can quickly adapt to the platform and maximize their productivity.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Advanced Email Organization:&lt;/strong&gt;&lt;br&gt;
With a multitude of emails flooding our inboxes daily, organizing them efficiently is crucial for staying on top of tasks. MailMug.net offers a range of advanced email organization features that simplify the process. Users can create custom folders, apply filters, and set up rules to automatically categorize incoming emails. Additionally, the platform supports tagging and labeling, allowing you to mark messages for easy retrieval or assign priority levels to specific conversations.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Powerful Search Capabilities:&lt;/strong&gt;&lt;br&gt;
Finding a specific email buried deep within your inbox can be like finding a needle in a haystack. However, MailMug.net's powerful search capabilities eliminate this hassle. The platform employs advanced search algorithms that swiftly locate emails based on keywords, sender, recipient, or other criteria. With MailMug.net, you can bid farewell to endless scrolling and focus on the emails that matter most.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Enhanced Security and Privacy:&lt;/strong&gt;&lt;br&gt;
MailMug.net takes the security and privacy of its users seriously. The platform implements robust encryption protocols to safeguard your sensitive information and prevent unauthorized access. Additionally, MailMug.net offers features like two-factor authentication, email verification, and spam filters to ensure a secure email environment.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Seamless Integration with Productivity Tools:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To further enhance productivity, MailMug.net seamlessly integrates with popular productivity tools and software. Whether you use project management platforms like Trello or communication tools like Slack, MailMug.net allows you to connect these services and streamline your workflow. By centralizing your emails and collaborating within the same interface, you can minimize context-switching and optimize your efficiency.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;Email management doesn't have to be an arduous task that consumes your valuable time and energy. MailMug.net offers a comprehensive solution for busy professionals seeking to streamline their email workflow. With its unified platform, intuitive interface, advanced organization features, and robust security measures, MailMug.net empowers users to regain control over their inboxes and focus on what matters most. Try MailMug.net today and experience the convenience and productivity it brings to your professional life.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>php</category>
      <category>javascript</category>
      <category>programming</category>
    </item>
    <item>
      <title>Mosquitto Auth Plugin - Rust</title>
      <dc:creator>Arshid</dc:creator>
      <pubDate>Tue, 02 May 2023 11:03:54 +0000</pubDate>
      <link>https://dev.to/arshidkv12/mosquitto-auth-plugin-rust-53kj</link>
      <guid>https://dev.to/arshidkv12/mosquitto-auth-plugin-rust-53kj</guid>
      <description>&lt;p&gt;We can easily configure the &lt;strong&gt;MySQL&lt;/strong&gt; &lt;a href="https://github.com/arshidkv12/mosquitto-plugin"&gt;Mosquitto-auth&lt;/a&gt; plugin. It is open source dynamic security plugin. Developed with rust programming language.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Install the Mosquitto (MQTT) to Server
Install the mosquitto from Ubuntu’s software repository.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Update the package information&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt update
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Install the mosquitto package.
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt install -y mosquitto
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Stop the mosquitto service
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo systemctl stop mosquitto
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Download &lt;a href="https://github.com/arshidkv12/mosquitto-plugin"&gt;mosquitto-auth.so&lt;/a&gt; file (&lt;a href="https://github.com/arshidkv12/mosquitto-plugin"&gt;Download&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Edit &lt;strong&gt;mosquitto.conf&lt;/strong&gt; file&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo vi /etc/mosquitto/mosquitto.conf
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;And add the following entries to the &lt;strong&gt;mosquitto.conf&lt;/strong&gt; file.
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;plugin /path/to/mosquitto_auth.so
#listener 1883
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Configure MySQL Database and Tables
&lt;/h2&gt;

&lt;p&gt;Download the &lt;a href="https://raw.githubusercontent.com/arshidkv12/mosquitto-plugin/main/mosquitto.sql"&gt;mosquitto.sql&lt;/a&gt; file and import it to your MySQL by PHPMyAdmin. Then create a .env file and add database credentials.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=mosquitto
DB_USERNAME=root
DB_PASSWORD="Pass"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Move .env file to /&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;mv /path/to/.env /.env
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Start the mosquitto server&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo systemctl start mosquitto
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now it is ready to check username with password and permission.&lt;/p&gt;

</description>
      <category>iot</category>
      <category>mqtt</category>
    </item>
    <item>
      <title>WordPress Safe Email Testing with Postbox Plugin (Email Log)</title>
      <dc:creator>Arshid</dc:creator>
      <pubDate>Tue, 02 May 2023 08:39:23 +0000</pubDate>
      <link>https://dev.to/arshidkv12/wordpress-safe-email-testing-with-postbox-plugin-email-log-4ppk</link>
      <guid>https://dev.to/arshidkv12/wordpress-safe-email-testing-with-postbox-plugin-email-log-4ppk</guid>
      <description>&lt;p&gt;WordPress email testing with PostBox plugin. It saves WordPress email logs. You can view email details like subject, To, cc, Bcc, etc.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--olkj9Syx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l400cljikhgj4j99m7tn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--olkj9Syx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l400cljikhgj4j99m7tn.png" alt="WordPress Email Log" width="800" height="305"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How to use the WordPress email log plugin?
&lt;/h2&gt;

&lt;p&gt;Step 1: Go to &lt;strong&gt;wp-admin &amp;gt; plugins &amp;gt;&lt;/strong&gt; then search PostBox &lt;a href="https://wpdebuglog.com/wordpress-email-logs/"&gt;Email Log&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--gcHJ67K5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x2mz6udzruf6gt0xr7jq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--gcHJ67K5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x2mz6udzruf6gt0xr7jq.png" alt="WordPress Email Logging" width="768" height="285"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Step 2: Then install and activate the plugin.&lt;/p&gt;

&lt;p&gt;Now it will automatically start to capture the email details that were sent from WordPress.&lt;/p&gt;

&lt;p&gt;It will work like, WooCommerce Email Log or any other WordPress plugin.&lt;/p&gt;

&lt;h2&gt;
  
  
  How WordPress Email Logging is Working?
&lt;/h2&gt;

&lt;p&gt;The WordPress email logging plugin is hooked to wp_mail. Then store information in the database. No need for any external fake SMTP server like Mailtrap.&lt;/p&gt;

&lt;h2&gt;
  
  
  Is it Work with SMTP WordPress Plugin?
&lt;/h2&gt;

&lt;p&gt;Yes, It will work with WordPress SMTP plugins like SMTP7. Most of web servers disable the PHP email function. We can enable the email option by SMTP.&lt;/p&gt;

</description>
      <category>wordpress</category>
      <category>webdev</category>
      <category>php</category>
    </item>
  </channel>
</rss>
