Iyngaran Iyathurai / Software Engineer
Web, Mobile, PHP, Java and Emerging Technology Application Developer.
Park Road, Colombo 05, Sri Lanka.
A few words about me

I am Iyngaran. I am an enthusiastic and professional Software engineer, who enjoys being part of, as well as leading, a successful and productive team and, I've been working in the software industry since 2009.

I possess extensive knowledge and interest in many distinctive domains from low level algorithms and structure optimisation to high level web application frameworks.

Specialties : PHP, Java, Zend Framework, CodeIgniter, Laravel, Magento, Wordpress, OOP, MySQL,Oracle, System design, Android, Multimedia programming & design and Linux systems administration.

Success is the only option for me, and I hope to use my hard-working and attitude to succeed in everything that I do. This includes putting my best effort forward at all times, and never settling for less than perfection.

Laravel SMS gateway

It is a Laravel package which will serve as gateway to send SMS through various providers. It supports multiple sms gateways, and easily extendable to support new gateways. Installing the SMS gateway After install follow one of these steps: Run the command php artisan vendor:publish to publish the extension. It will also copy the sms_gateway.php into the config folder of your laravel application. If the sms_gateway.php file does not exists in your application config folder, just copy the entire file and [...]

How to integrate Sendgrid with Zend framework

Install send-grid transport using the following command. After install follow one of these steps: Copy the contents file vendor/iyngaran/send-grid-transport/mail.global.php.dist and put it in your config/autoload/mail.global.php. If this file does not exists in your application, just copy the entire file and place into your config/autoload removing the .dist extension. Then add your SendGrid API Key. To get your API Key, please visit And also add the test email from-email address, name and to-email address, name. After all, you must register SendGridTransport module in your config/modules.config.php. [...]

Useful direct SQL queries for Magento 2 developers

Select product default Attribute set id [crayon-600385bf6136b867908378/]   Select product Attribute Group Id by using attribute_group_code and Attribute Set ID [crayon-600385bf61373751100666/]   Update attribute_group_id for product attribute [crayon-600385bf61377987128273/]   Update sort_order for product attribute [crayon-600385bf6137a222717341/]   Delete a custom attribute using entity_type_id and attribute_code. Delete a custom attribute using entity_type_id and attribute_code.  For this example, I am going to delete a product attribute, which has  attribute_code as ‘iyn_product_option’. To delete a custom attribute, we need to [...]

Build Multi-lingual application with the Zend Framework

We can not imagine a modern web application without a multi language support. I will show you how easy it is to setup usage of multiple languages in Zend Framework and how to setup some basic language routes (handy for SEO stuff). The Zend Framework offers many ways for you to store your translated strings. It could be an array, a CSV or XML file or you could use gettext which we will be using [...]

Install Magento 2 with Sample Data

You can install Magento in different ways. In this article, I will show you how to install Magento via GitHub. Before continuing, make sure you have all the prerequisites, required for running Magento 2. Step 1: Clone Magento repository First we must clone Magento repo from here: https://github.com/magento/magento2 or you can download releases on https://github.com/magento/magento2/releases. My document root folder location is  – /home/vagrant/learning.portal/apps/magento2.blog.dev/public_html/src/web So let’s clone the Magento repository in to the document root folder. [...]

Configure PHP Remote Debugging in Vagrant box with Xdebug and PhpStorm

Note: This article concerns PHP 7.0,PhpStorm 2017.2 (EAP) and Vagrant box bento/centos-7.2. Step1: Install Xdebug on your Vagrant virtual machine You need to have Xdebug installed on your virtual machine to benefit from its services. [crayon-600385bf622c3824819130/] Then, we need configure it: We need enable the remote debug and add IDEKEY on XDEBUG. To do that, we need modify the php-xdebug configuration file (xdebug.ini). Lets modify the php-xdebug configuration file [crayon-600385bf622ca313367079/] And the following lines at [...]

Magento 2: Override/Rewrite Block, Model, Controller, Helper

In most cases, when work with Magento, you will have to change the core functionality of block, model, controller and helper. It is not good if you modify the core files, that may have certain influence on another program. Therefore, today, I highly recommend the great way to rewrite all files in a convenient way. This article shows how you can override / rewrite Block, Controller, Model and Helper using plugin and preference in Magento [...]

Installation And Upgrade Scripts in Magento

A Magento install and upgrade script is a part of module development. In this article, we will find out how to install and upgrade sql script for module in Magento 2. When you install or upgrade a module, you may need to change the database structure or add some new data for current table. To do this, Magento 2 provide you some classes which you can do all of them. For example, here – app/code/Magento/Catalog/Setup/ [...]

Creating & Running Cron in Magento 2 Custom Module

This article shows how to create and run cronjob in a custom module in Magento 2. Here, we will focus on creating / setting up / running cron for a custom Magento 2 module. Let us suppose, we are developing a custom module named Iyngaran_DemoModule (app/code/Iyngaran/DemoModule). To define the cron settings for your custom module, you need to write the following code in app/code/Iyngaran/DemoModule/etc/crontab.xml. app/code/Iyngaran/DemoModule/etc/crontab.xml [crayon-600385bf64443231293825/] As you can see from above code, we have [...]

Create static blocks programmatically in Magento2

Creating a static blocks in Magento is simple as navigate to Admin Panel -> CMS -> Static Blocks. But while you developing your extension you might need to create a Magento static blocks programmatically. Here is the way how you can achieve it: [crayon-600385bf64a6e356936924/]   That’s it!. Clear cache and upgrade magento. [crayon-600385bf64a7b711334935/]