<?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: Md Jannatul Nayem</title>
    <description>The latest articles on DEV Community by Md Jannatul Nayem (@iamjnayem).</description>
    <link>https://dev.to/iamjnayem</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%2F768545%2Fa23a350f-e95f-4e87-add9-04e90497b697.jpg</url>
      <title>DEV Community: Md Jannatul Nayem</title>
      <link>https://dev.to/iamjnayem</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/iamjnayem"/>
    <language>en</language>
    <item>
      <title>Unlimited Arguments and Return Type of Function</title>
      <dc:creator>Md Jannatul Nayem</dc:creator>
      <pubDate>Sat, 11 Mar 2023 11:17:48 +0000</pubDate>
      <link>https://dev.to/iamjnayem/unlimited-arguments-and-return-type-of-function-4aal</link>
      <guid>https://dev.to/iamjnayem/unlimited-arguments-and-return-type-of-function-4aal</guid>
      <description>&lt;p&gt;Sometimes you may not know how many arguments will be passed to your function in advanced. So you should handle the situaion. Before we had to manage it manually but right now php has builtin features for unlimited arguments. Behind the scene it creates an array to store the rest of arguments.&lt;/p&gt;

&lt;p&gt;Suppose In my home, my two friends and their family memebers will come to visit. Here two friends are confirmed as a guest and rest are unknown and unlimited. Here is an example:&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="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;guestList&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;string&lt;/span&gt; &lt;span class="nv"&gt;$friend1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kt"&gt;string&lt;/span&gt; &lt;span class="nv"&gt;$friend2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kt"&gt;string&lt;/span&gt; &lt;span class="mf"&gt;...&lt;/span&gt;&lt;span class="nv"&gt;$others&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
   &lt;span class="k"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"Confirmed Guests are: "&lt;/span&gt; &lt;span class="mf"&gt;.&lt;/span&gt; &lt;span class="nv"&gt;$friend1&lt;/span&gt; &lt;span class="mf"&gt;.&lt;/span&gt; &lt;span class="s2"&gt;" "&lt;/span&gt; &lt;span class="mf"&gt;.&lt;/span&gt; &lt;span class="nv"&gt;$friend2&lt;/span&gt; &lt;span class="mf"&gt;.&lt;/span&gt; &lt;span class="s2"&gt;"&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="k"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"Unknown are: &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="k"&gt;foreach&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$others&lt;/span&gt; &lt;span class="k"&gt;as&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;echo&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$name&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="p"&gt;}&lt;/span&gt;
   &lt;span class="k"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"&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="p"&gt;}&lt;/span&gt;

&lt;span class="nf"&gt;guestList&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"Gourango"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"Nayon"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"a"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"b"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"c"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"d"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Decalaring a return type of a function explicitly sometimes helps a lot when debugging. You will face fatal error if you accidentally return such a value which is mismatched with decalared return type. &lt;/p&gt;

&lt;p&gt;Suppose you want to calculate your age and you want to get only years. Then the return type should be integer. Because nobody tell i am 26.7 years old.&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="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;calculateAge&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;string&lt;/span&gt; &lt;span class="nv"&gt;$birthday&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nv"&gt;$timeZone&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;DateTimeZone&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'Asia/Dhaka'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="nv"&gt;$age&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;DateTime&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;createFromFormat&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'d/m/Y'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$birthday&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$timeZone&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;diff&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;DateTime&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'now'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$timeZone&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nv"&gt;$age&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nv"&gt;$age&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;calculateAge&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"27/08/1993"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="k"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"you are &lt;/span&gt;&lt;span class="nv"&gt;$age&lt;/span&gt;&lt;span class="s2"&gt; years old&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="k"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"&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;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you don' return integer you will face a fatal error here.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A little Tips:&lt;/strong&gt;&lt;br&gt;
If your function gets too much big and starts doing more than one work you can decompose the function into smaller chunks.&lt;/p&gt;

</description>
      <category>php</category>
      <category>beginners</category>
      <category>programming</category>
      <category>functional</category>
    </item>
    <item>
      <title>Default Parameters in PHP Functions</title>
      <dc:creator>Md Jannatul Nayem</dc:creator>
      <pubDate>Sat, 11 Mar 2023 03:18:52 +0000</pubDate>
      <link>https://dev.to/iamjnayem/default-parameters-in-php-functions-35en</link>
      <guid>https://dev.to/iamjnayem/default-parameters-in-php-functions-35en</guid>
      <description>&lt;p&gt;I hope you know what is a function and how to use a function. In short a function is a block of code which can take input and gives output but it is not necessary that a function will always take input and will always give output. It depends on the demand. &lt;br&gt;
Now we will learn about default parameter of a function. Suppose you want to design a function where some parameters will receive value from arguments. But if arguments are not provided the function will use some default values for those parameters. &lt;/p&gt;

&lt;p&gt;Here is an example:&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="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;donate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$account&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$amount&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mf"&gt;2.00&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
    &lt;span class="k"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$amount&lt;/span&gt;&lt;span class="s2"&gt; dollar has transfered to account: &lt;/span&gt;&lt;span class="nv"&gt;$account&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="p"&gt;}&lt;/span&gt;

&lt;span class="nf"&gt;donate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"2014323432"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;50.00&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;we are calling dontae function with two parameters. One is account number and amount of dollar. here 50.00 dollar has tranfered to 2014323432 account. But if you don't give amount, by default 2.00 dollar will be transfered to given account. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; after the default parameter, there won't be any required parameters. By position all the required parameters will come first and rest of others may be default parameters.&lt;br&gt;
Because without this format php cannot map the arguments with parameters.&lt;/p&gt;

</description>
      <category>php</category>
      <category>function</category>
      <category>beginners</category>
      <category>programming</category>
    </item>
    <item>
      <title>Type Hinting in PHP function!</title>
      <dc:creator>Md Jannatul Nayem</dc:creator>
      <pubDate>Sun, 05 Mar 2023 18:59:37 +0000</pubDate>
      <link>https://dev.to/iamjnayem/type-hinting-in-php-function-32f2</link>
      <guid>https://dev.to/iamjnayem/type-hinting-in-php-function-32f2</guid>
      <description>&lt;p&gt;May be you know what is a function and how it works. PHP checks the data type at run time. Therefore we don't need to tell php explicitly the data type of a variable. PHP interpreter can detect it automatically. It has both advantage and disadvantage. Advantage is we don't need to think so much when declaring the variable but the problem is if the varaible is changed accidentally then it is very tough to debug. &lt;/p&gt;

&lt;p&gt;But from php 7 it supports type hinting in function parameter. Support you want to print age of a user. Here is an approach.&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="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;print_age&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$age&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
    &lt;span class="k"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"your age is &lt;/span&gt;&lt;span class="nv"&gt;$age&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="p"&gt;}&lt;/span&gt;
&lt;span class="nf"&gt;print_age&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;19&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It is giving result perfectly. But what happens if you call it with a string. such as &lt;code&gt;print_age("abc");&lt;/code&gt; It will give some wrong output. Right? Here is the solution.&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="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;print_age&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="nv"&gt;$age&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
    &lt;span class="k"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"your age is &lt;/span&gt;&lt;span class="nv"&gt;$age&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="p"&gt;}&lt;/span&gt;
&lt;span class="nf"&gt;print_age&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;19&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="nf"&gt;print_age&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"zig zag bla bla"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now you will get an fatal error for last line. It will enforce you to pass right parameter type. It can help us to find problem at early stage. Type hinting is possible for all php predefined data types. &lt;/p&gt;

</description>
      <category>php</category>
      <category>function</category>
      <category>beginners</category>
      <category>programming</category>
    </item>
    <item>
      <title>What is function in context of PHP?</title>
      <dc:creator>Md Jannatul Nayem</dc:creator>
      <pubDate>Sun, 05 Mar 2023 18:14:20 +0000</pubDate>
      <link>https://dev.to/iamjnayem/what-is-function-in-context-of-php-4jhp</link>
      <guid>https://dev.to/iamjnayem/what-is-function-in-context-of-php-4jhp</guid>
      <description>&lt;p&gt;A function is a bunch of codes that solve a particular problem and solve perfectly. It is encapsulated such a way so that user can use the same code again and again without copy pasting. &lt;/p&gt;

&lt;p&gt;Or you can think a function is a kind of machine. It may or not take some input/inputs and may or not return some output. Think like a blender machine. It takes input such as some mixed fruits, sugar, salt, water and It blends perfectly and then it return a glass of fruit juice. Sometimes inputs are considered as parameters. But it is not necessary that a function must take input or it must return some data. Think like a calling bell. When you press or call it it just creates a sound. There is no return. &lt;/p&gt;

&lt;p&gt;A function name should be meaningful so that anybody can guess what it actually does. &lt;/p&gt;

&lt;p&gt;Suppose you need to list all prime numbers from a given range [a, b] frequently. To filter out prime numbers you have to first detect if the number is prime but you need to check it for each number. So you can write a function to check if the number is prime.&lt;/p&gt;

&lt;p&gt;Here is a function that can solve this problem:&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="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;is_prime&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$n&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$n&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$n&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$n&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nv"&gt;$i&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;int&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="nb"&gt;sqrt&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$n&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="nv"&gt;$i&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$n&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="nv"&gt;$i&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
            &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="kc"&gt;false&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="k"&gt;return&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nv"&gt;$prime_list&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[];&lt;/span&gt;
&lt;span class="nv"&gt;$a&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="nv"&gt;$b&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$a&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nv"&gt;$i&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;=&lt;/span&gt; &lt;span class="nv"&gt;$b&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nv"&gt;$i&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;is_prime&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$i&lt;/span&gt;&lt;span class="p"&gt;)){&lt;/span&gt;
       &lt;span class="nv"&gt;$prime_list&lt;/span&gt;&lt;span class="p"&gt;[]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$i&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="nb"&gt;print_r&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$prime_list&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now you can use this is_prime function for any range without copy pasting. Just call the function with necessary parameters.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How to bind html in Vue.js</title>
      <dc:creator>Md Jannatul Nayem</dc:creator>
      <pubDate>Tue, 28 Feb 2023 18:45:04 +0000</pubDate>
      <link>https://dev.to/iamjnayem/how-to-bind-html-in-vuejs-1ph7</link>
      <guid>https://dev.to/iamjnayem/how-to-bind-html-in-vuejs-1ph7</guid>
      <description>&lt;p&gt;Binding html means, you can bind dynamic html inside of your template. But if you try to render content of dynamic html using mustache syntax or v-text (text binding) you will render the complete html and inner text as a complete string. &lt;br&gt;
Here is the exmaple:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;script&amp;gt;
  export default {
    data(){
      return{
        text: `Check the difference?`,
        html: `&amp;lt;p&amp;gt;I am p tag with &amp;lt;b&amp;gt;bold&amp;lt;/b&amp;gt; &amp;lt;/p&amp;gt;`
      }
    }
  }
&amp;lt;/script&amp;gt;

&amp;lt;template&amp;gt;
  &amp;lt;h1&amp;gt;How to Bind html in Vue.js?&amp;lt;/h1&amp;gt;
  &amp;lt;div&amp;gt;{{ html }}&amp;lt;/div&amp;gt;
&amp;lt;/template&amp;gt;

&amp;lt;style&amp;gt;
&amp;lt;/style&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then what is the solution? You can use v-html binding in vue.js. Here prefix v is reserve for vue.js. You have to use v-html attribute with a empty html tag. The value of the v-html property will be the data property that you have declared in data method. &lt;/p&gt;

&lt;p&gt;Here is the example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;script&amp;gt;
  export default {
    data(){
      return{
        text: `Check the difference?`,
        html: `&amp;lt;p&amp;gt;I am p tag with &amp;lt;b&amp;gt;bold&amp;lt;/b&amp;gt; &amp;lt;/p&amp;gt;`
      }
    }
  }
&amp;lt;/script&amp;gt;

&amp;lt;template&amp;gt;
  &amp;lt;h1&amp;gt;How to Bind html in Vue.js?&amp;lt;/h1&amp;gt;
  &amp;lt;div&amp;gt;
    &amp;lt;p v-html="html"&amp;gt;&amp;lt;/p&amp;gt;
  &amp;lt;/div&amp;gt;
&amp;lt;/template&amp;gt;

&amp;lt;style&amp;gt;
&amp;lt;/style&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>webdesign</category>
      <category>ux</category>
      <category>userresearch</category>
    </item>
    <item>
      <title>How to bind text in Vue.js?</title>
      <dc:creator>Md Jannatul Nayem</dc:creator>
      <pubDate>Tue, 28 Feb 2023 18:23:44 +0000</pubDate>
      <link>https://dev.to/iamjnayem/how-to-bind-text-in-vuejs-563m</link>
      <guid>https://dev.to/iamjnayem/how-to-bind-text-in-vuejs-563m</guid>
      <description>&lt;p&gt;Normally we know inside of a sfc file there are three high level portions. &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;tempalte as html&lt;/li&gt;
&lt;li&gt;script as js&lt;/li&gt;
&lt;li&gt;style as css&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Binding means creating a relation between teamplate and script's data property. You may ask what is data property? Data properties are a list of property of an object which is returned by a method called data.&lt;/p&gt;

&lt;p&gt;There are two ways to bind text in Vue.js &lt;br&gt;
1.using mustache syntax&lt;br&gt;
2.using special html propery that start with prefix v-text&lt;/p&gt;

&lt;p&gt;Here mustache syntax can be used multiple times inside of a html tag where v-text html attribute is used for a completely blank html tag. because v-text will override the inner html of a particular tag.&lt;/p&gt;

&lt;p&gt;A short example is given below:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;script&amp;gt;
  export default {
    data(){
      return{
        message: "A dynamic Message",
        lorem: `Lorem, ipsum dolor sit amet consectetur adipisicing elit. Veniam quod repellat vel. Aut fuga, nobis voluptate, labore culpa sint repellendus qui asperiores praesentium optio, delectus error nam porro nesciunt iste?`
      }
    }
  }
&amp;lt;/script&amp;gt; 

&amp;lt;template&amp;gt;
  &amp;lt;h1&amp;gt;{{ message }}&amp;lt;/h1&amp;gt;
  &amp;lt;p v-text="lorem"&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;/template&amp;gt;

&amp;lt;style&amp;gt;

&amp;lt;/style&amp;gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>vue</category>
    </item>
    <item>
      <title>Shallow &amp; Deep Copy</title>
      <dc:creator>Md Jannatul Nayem</dc:creator>
      <pubDate>Mon, 13 Feb 2023 17:21:59 +0000</pubDate>
      <link>https://dev.to/iamjnayem/shallow-deep-copy-2nlf</link>
      <guid>https://dev.to/iamjnayem/shallow-deep-copy-2nlf</guid>
      <description>&lt;p&gt;shallow and deep কপি জিনিসটা খুবই মজার। আমরা অনেক সময় একটা অবজেক্ট কপি করতে চাই। কিন্তু আমরা প্রোগ্রামাররা খুবই অলস প্রকৃতির। তাই টুপ করে কপি করে ফেলি। পরে দেখা যায় ঠিক মত কোথায় কি হচ্ছে না বুঝার কারণে বেকায়দায় পড়ে যাই। কিছু উদাহরণ দিলে বুঝা যাবে। &lt;/p&gt;

&lt;p&gt;যেমন আমি যখন জয়েন করি বর্তমান কোম্পানিতে ইন্টার্ন হিসেবে,তার কিছু দিন পর আমার গুরু টিপু ভাই জয়েন করে সফটওয়্যার ইঞ্জিনিয়ার হিসেবে। এই বিষয়টা এইভাবে লেখা যায়।&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;me = {
    "name": "Nayem",
    "info": {
        "company": "deshi",
        "stack": "laravel",
        "os": "ubuntu",
        "role": "intern",
        "seat": "window-seat"
    }
}
print(me)

output: {'name': 'Nayem', 'info': {'company': 'deshi', 'stack': 'laravel', 'os': 'ubuntu', 'role': 'intern', 'seat': 'window-seat'}}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# now tipu bro comes
tipu = me.copy()
tipu["name"] = "Tipu The Yo Boy"
tipu["info"]["role"] = "Software Engineer"
tipu["info"]["seat"] = "right side of Nayem"
print(tipu)
output: {'name': 'Tipu The Yo Boy', 'info': {'company': 'deshi', 'stack': 'laravel', 'os': 'ubuntu', 'role': 'Software Engineer', 'seat': 'right side of Nayem'}}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;তো কিছু দিন পর আমি ডায়েট করা শুরু করছি। ভাই খালি জ্বালায়। কি নাঈম ভাই ঘাস পাতা খান :) আজকে ঘাস পাতা আনতে ভুলে গেছেন? &lt;/p&gt;

&lt;p&gt;আমিঃ নাহ এই ভাবে তো হয় না। ভাই আমি সিট চেঞ্জ করব।&lt;br&gt;
টিপুঃ কই যাবেন? আপনাকে তো আমার পাশ থেকে সরতে দিব না। &lt;/p&gt;

&lt;p&gt;এর মধ্যে আমাদের অফিস এর লোকেশন চেঞ্জ এর খবর আসে। আমি তো বেজায় খুশি।&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;#Now I wish I would change my seat location in new office
#At new office
me["info]["role"] = "Jr. Software Engineer"
me["info"]["seat"] = "new office new seat near window"
print(me)

output: {'name': 'Nayem', 'info': {'company': 'deshi', 'stack': 'laravel', 'os': 'ubuntu', 'role': 'Jr. Software Engineer', 'seat': 'new office new seat near window'}}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;তো নতুন অফিসে গিয়ে আমি তো অবাক। কারণ টা কি জানেন?&lt;br&gt;
তাইলে এইটা দেখেন।&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;print(tipu)
output: {'name': 'Tipu The Yo Boy', 'info': {'company': 'deshi', 'stack': 'laravel', 'os': 'ubuntu', 'role': 'Software Engineer', 'seat': 'new office new seat near window'}}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;এই যে কপি টা করা হইছিল। এইটা ছিল shallow copy. একটা অবজেক্টের ভিতর আরেকটা অবজেক্ট নেস্টেড অবস্থায় ছিল। যখন কপি করা হইছিল তখন শুধু মাদার অবজেক্ট এর রেফারেন্স টা কপি করা হইছিল। বাট ভিতরের  আরও যে চাইল্ড রেফারেন্স গুলো ছিল ওইটা আর কপি করা হয় নাই। তাই ঘটনা টা এইরকম ঘটছে। &lt;/p&gt;

&lt;p&gt;যাই হোক নতুন অফিসে আবার ওইদিন তারিকুল ভাই বলতেছিল সে আমাদের সাইডে বসতে চায়। আমিও খুশিতে গদগদ হয়ে বলতে ছিলাম ভাই আপনি আমার সিটে এসে আমাকে আপনার ওইটায় দেন। টুপ করে টিপু ভাই বলে আপনাকে সোজা মিটিং রুমে একা পাঠায় দিব। আচ্ছা আপানারাই বলেন একা একা এক রুমে যাওয়া যায়? :) &lt;/p&gt;

&lt;p&gt;কিনুত যদি সত্যি পাঠায় দিত। তাইলে কি হইত জানেন?&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;from copy import deepcopy
me = deepcopy(tipu)
me["name"] = "Nayem"
me["info"]["seat"] = "Meeting room"
print(me)
print(tipu)

output: {'name': 'Nayem', 'info': {'company': 'deshi', 'stack': 'laravel', 'os': 'ubuntu', 'role': 'Software Engineer', 'seat': 'Meeting room'}}
{'name': 'Tipu The Yo Boy', 'info': {'company': 'deshi', 'stack': 'laravel', 'os': 'ubuntu', 'role': 'Software Engineer', 'seat': 'new office new seat near window'}}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;আমি জানি না এই পোস্ট দেখলে টিপু ভাই কালকে কোথায় বসায় :) &lt;/p&gt;

</description>
      <category>ai</category>
      <category>openai</category>
      <category>chatgpt</category>
      <category>discuss</category>
    </item>
    <item>
      <title>MVC টা আসলে কি?</title>
      <dc:creator>Md Jannatul Nayem</dc:creator>
      <pubDate>Sun, 01 May 2022 09:21:08 +0000</pubDate>
      <link>https://dev.to/iamjnayem/mvc-ttaa-ki-aasle-5fbo</link>
      <guid>https://dev.to/iamjnayem/mvc-ttaa-ki-aasle-5fbo</guid>
      <description>&lt;p&gt;এটা খুব কঠিন একটা জিনিস। আপনি কিছুতেই এটা বুঝবেন না। এমনকি বুঝার চেষ্টাও করবেন না। না আসলে বিষয়টা এমন কিছু নয় 😀 । ইঞ্জিনিয়ারিং এ যেকোনো জটিল বিষয় সমাধানের জন্য আমাদের অনেক ভাবতে হয়। একবার যদি আমরা সমস্যাটা সমাধান করেই ফেলি, তাহলে পুনরায় এটা ভাবার দরকার আছে কি? যেমন নতুন করে চাকা আবিষ্কারের আর প্রয়োজন নাই।&lt;/p&gt;

&lt;p&gt;সফটওয়্যার ইঞ্জিনিয়ারিং এও সফটওয়্যার তৈরির অনেক গুলো প্রমানিত কৌশল এর মধ্যে MVC একটা ওয়ে। এটা খুবই সিম্পল একটা ডিজাইন প্যাটার্ন। ছোটো বা মিডিয়াম সাইজের প্রজেক্ট এর জন্য খুব জনপ্রিয় একটা ডিজাইন প্যাটার্ন।&lt;/p&gt;

&lt;p&gt;M দিয়ে বুঝানো হয় মডেল। মডেল টা আবার কি? আপনার যে ডাটাবেস আছে না? ওইখানে আপনি কিভাবে কোন স্টাইলে ডাটা রাখবেন বা তুলে আনবেন তা ওই মডেল এ লেখা হয়। ধরেন আপনার একটা ওষুধের ডাটাবেস আছে। এক বুক জালাপোড়ার জন্য অনেক কোম্পানির ওষুধ আছে। তো আপনি একটা সার্চ কুয়েরি লিখে রাখলেন Medicine মডেলের ভিতরে যে ওষুধের নাম এই কয়েকটা লেটার দিয়ে শুরু হলেই আপনাকে ওইটা রিটার্ন করা হবে। কিংবা সব ব্যথার ওষুধ কম দামি থেকে বেশি দামি এই অর্ডারে দেখান দরকার। আপনি একটা স্কোপসর্ট লিখতে পারবেন মডেল এর মধ্যে।&lt;/p&gt;

&lt;p&gt;C দিয়ে বুঝানো হয় Controller। বুঝতেই পারছেন কিছু একটা control করা হয়। কিন্তু কি control করা হয়? বিজনেস লজিক। ধরেন বাজারে হুট করে ক্যাপসুল জাতীয় ওষুধের দাম ৫% বেড়ে গেল। কিন্তু আপনার আগের দামের উপর রিপোর্ট জেনারেট করতে হবে। আপনি কিন্তু created_at কলাম টা চেক করেই controller এর ভিতর ডিসিশন নিতে পারবেন।&lt;/p&gt;

&lt;p&gt;ফাইনালি V. এটা দিয়ে বুঝানো হয় ভিউ। সিম্পল। যা ইউজার দেখতে পাবে ওইটাই ভিউ। সাধারণত html, css, js, static content এইসব ভিউতে থাকে।&lt;/p&gt;

</description>
      <category>mvc</category>
      <category>designpattern</category>
    </item>
    <item>
      <title>কেন আমরা টুলস হিসেবে লারাভেল ব্যবহার করি?</title>
      <dc:creator>Md Jannatul Nayem</dc:creator>
      <pubDate>Sun, 01 May 2022 09:11:07 +0000</pubDate>
      <link>https://dev.to/iamjnayem/ken-aamraa-bibhinn-ttuls-hisebe-laaraabhel-bybhaar-kri-1l42</link>
      <guid>https://dev.to/iamjnayem/ken-aamraa-bibhinn-ttuls-hisebe-laaraabhel-bybhaar-kri-1l42</guid>
      <description>&lt;p&gt;ধরেন আপনি মাটি কাটা শিখবেন। কিন্তু আপনি নিশ্চয়ই মাটি কিভাবে কাটতে হয়, এই জন্য মাটি কাটা শিখবেন না। &lt;br&gt;
তাহলে? আপনার হয়তো একটা গাছ লাগানো লাগবে অথবা আপনার হয়তো জৈব সার বানানোর জন্য একটা গর্ত খোঁড়া লাগবে। তেমনি আপনি লারাভেল কিভাবে কাজ করে সেই জন্য লারাভেল শিখবেন না। বরং লারাভেল দিয়ে কোন একটা সমস্যা সমাধান করার জন্যই আপনি লারাভেল শিখবেন।&lt;br&gt;
যেমন আপনি হয়তো কিছু অসাধারণ কুকি তৈরি করেন যা এখন আপনার এলাকায় সারভ করতে চাচ্ছেন যার জন্য একটা সিম্পল ওয়েবসাইট দরকার। লারাভেল আপনাকে খুব দ্রুত এই কাজটা করতে সাহায্য করবে।&lt;br&gt;
তাই টুলস শেখার জন্যই শিখেন না। বরং তা দিয়ে কিছু একটা করার জন্য শিখেন। &lt;/p&gt;

</description>
      <category>howtolearn</category>
    </item>
  </channel>
</rss>
