<?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>Forem: Jennifer Eze</title>
    <description>The latest articles on Forem by Jennifer Eze (@nnekajenny).</description>
    <link>https://forem.com/nnekajenny</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%2F862316%2Fb64245c7-3045-43cb-ae86-ae65d97d42dc.jpg</url>
      <title>Forem: Jennifer Eze</title>
      <link>https://forem.com/nnekajenny</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/nnekajenny"/>
    <language>en</language>
    <item>
      <title>Introduction To JavaScript Call Stack</title>
      <dc:creator>Jennifer Eze</dc:creator>
      <pubDate>Tue, 14 Mar 2023 14:53:24 +0000</pubDate>
      <link>https://forem.com/nnekajenny/introduction-to-javascript-call-stack-3946</link>
      <guid>https://forem.com/nnekajenny/introduction-to-javascript-call-stack-3946</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Throughout the years, JavaScript has grown in popularity and now powers a significant chunk of the internet. The call stack, which is used to track function calls and their execution order, is one of the fundamental ideas of JavaScript.&lt;/p&gt;

&lt;p&gt;Any JavaScript developer must understand the call stack in order to efficiently debug their code and create applications that are more streamlined.&lt;/p&gt;

&lt;p&gt;In this post, we'll examine the fundamentals of the JavaScript call stack, as well as its use, operation, and some typical problems that could occur.&lt;/p&gt;

&lt;p&gt;You will have a firm grasp of the call stack's definition and how to use it efficiently by the end of this article.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is a Stack?
&lt;/h2&gt;

&lt;p&gt;A stack is a basic data structure in computer science. The last object placed on the stack goes on top, just like when you stack some things or pile up some books. It also starts to be taken away. the last stack is the first to be taken away.&lt;/p&gt;

&lt;p&gt;The call stack works in the same way. A function is added to the call stack and afterwards removed from the call stack when a value is returned from the function.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--y_0cQEBg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://paper-attachments.dropboxusercontent.com/s_3CE0A84A2FE0F3D3670025EAE044B34CB66BCB971F3EDEBB022ED29A1BCF12A2_1678719989548_Screenshot%2BCapture%2B-%2B2023-03-13%2B-%2B16-05-44.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--y_0cQEBg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://paper-attachments.dropboxusercontent.com/s_3CE0A84A2FE0F3D3670025EAE044B34CB66BCB971F3EDEBB022ED29A1BCF12A2_1678719989548_Screenshot%2BCapture%2B-%2B2023-03-13%2B-%2B16-05-44.png" alt="photo by https://www.slideteam.net/media/catalog/product/cache/1280x720/i/n/information_technology_stack_7_layers_diagram_Slide01.jpgphoto" width="196" height="354"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When a program with numerous function calls starts, the first function that the interpreter reaches is added to the call stack. The function is then called, and if it calls another function, the latter function is added to the call stack's top position.&lt;/p&gt;

&lt;p&gt;Up until one of the functions returns a value, this procedure keeps on. The function is then deleted from the call stack when this occurs. At the top of the call stack is the function that is now running (or being performed).&lt;/p&gt;

&lt;h2&gt;
  
  
  What is a Call Stack in JavaScript?
&lt;/h2&gt;

&lt;p&gt;A call stack is a mechanism used in JavaScript to keep track of function execution. A function is added to the top of the call stack whenever it is called. The function runs, and when it completes, the stack is cleared.&lt;/p&gt;

&lt;p&gt;A call stack is a data structure that, at its most basic level, employs the Last In, First Out (LIFO) principle to organize and temporarily record function invocation (call).&lt;/p&gt;

&lt;p&gt;This is a breakdown of what we mean:&lt;/p&gt;

&lt;p&gt;When we say that the call stack runs according to the Last In, First Out (LIFO) data structure principle, we imply that the last function that is pushed into the stack is the first function that comes out when the function returns.&lt;/p&gt;

&lt;p&gt;The execution of function calls in a program is tracked by this data structure. It records the functions that are now active as well as the order in which they were invoked. A function is called, added to the top of the call stack, and then removed when it completes its work.&lt;/p&gt;

&lt;p&gt;Let's take an example to illustrate this:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;function add(x, y) {
  return x + y;
}

function square(z) {
  return z * z;
}

function calculate(a, b, c) {
  const sum = add(a, b);
  const squaredSum = square(sum);
  return squaredSum / c;
}

calculate(2, 3, 4);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;When the 'calculate' function is used, the following happens:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Adding 'compute' to the call stack.&lt;/li&gt;
&lt;li&gt;The commands "add" and "3" are called. The word "add" is placed at the top of the call stack.&lt;/li&gt;
&lt;li&gt;The call stack is cleared once the function "add" returns "5".&lt;/li&gt;
&lt;li&gt;The word "square" is called with the parameter "5". Square gets added to the call stack's top.&lt;/li&gt;
&lt;li&gt;The call stack is cleared after the function "square" returns "25".&lt;/li&gt;
&lt;li&gt;From "calculate," the value of "square" is divided by "4" and returned.&lt;/li&gt;
&lt;li&gt;The call stack is cleared of the word "compute".&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;So the call stack in this example would look like this:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;   +-------------+
                |   calculate |
                +-------------+
                |     add     |
                +-------------+
                |    square   |
                +-------------+
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;This is a simplified example, but it illustrates the basic idea of how the call stack works.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is the purpose of JavaScript Call Stack?
&lt;/h2&gt;

&lt;p&gt;The method used in JavaScript to track function calls in a program is called the call stack. The call stack's goals are to govern the flow of control between functions and make sure that function calls are executed in the proper sequence.&lt;/p&gt;

&lt;p&gt;A new frame, corresponding to the function's execution context, is added to the call stack each time a function is called in JavaScript. The frame holds details about the function, such as its local variables and parameters. The function may call additional functions as it runs, which increases the call stack by adding new frames.&lt;/p&gt;

&lt;p&gt;The call stack is in charge of recording the calling sequence of functions and ensuring that they are executed in the proper order. Control is transferred back to the function that called the other function after the execution of a function is complete.&lt;/p&gt;

&lt;p&gt;An essential idea in JavaScript is the call stack, which is crucial to the way programs are run. It is imperative for developers to have a thorough understanding of the call stack in order to produce effective, error-free code.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Some Common Issues That Can Arise When Working With JavaScript Call Stack.&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;The call stack is an essential part of the JavaScript runtime environment, but using it frequently can lead to a number of typical problems. Many of the most typical call stack-related difficulties are listed below:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Maximum call stack size exceeded: When a recursive function or an endless loop repeatedly calls itself, the call stack's maximum size is exceeded, resulting in this error. The software may crash due to this problem, which is frequently challenging to troubleshoot.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Stack overflow: When there is not enough room on the call stack to store a new frame, a stack overflow error happens. When a function is called repeatedly without an exit condition, the call stack might get bloated.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Callback hell: When a program uses numerous nested callbacks, it enters callback hell, making the code challenging to read and debug. Working with callback-required APIs or asynchronous code may cause this to occur.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Synchronous code blocking: JavaScript executes code synchronously, which necessitates the completion of one function call before executing the next. The call stack may become blocked by a function that takes a while to run, rendering the program unresponsive.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;I hope you gained a lot from this topic. we were able to look at JavaScript call stack. what it is,       how   it works and some common issues you can encounter when working with it. if you have         questions or  comments. Feel free to drop it. Bye, I will see in the next one.&lt;/p&gt;

&lt;h2&gt;
  
  
  About the Author
&lt;/h2&gt;

&lt;p&gt;I am Jennifer Eze, an enthusiastic developer with a passion for JavaScript, Bootstrap, PHP, HTML &amp;amp; CSS.&lt;br&gt;
I work as a freelancer, building websites for clients, and love writing technical tutorials to teach others what I do. I am eager to hear from you. Reach me on &lt;a href="https://www.linkedin.com/in/jennifer-eze-969272239/"&gt;LinkedIn&lt;/a&gt;, &lt;a href="https://github.com/nnekajenny"&gt;GitHubitHub&lt;/a&gt;, or my &lt;a href="https://nnekajenny.github.io/"&gt;website&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>programming</category>
      <category>javascript</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Mastering Sass: Tips and Tricks for Efficient Workflow.</title>
      <dc:creator>Jennifer Eze</dc:creator>
      <pubDate>Mon, 30 Jan 2023 11:22:38 +0000</pubDate>
      <link>https://forem.com/nnekajenny/mastering-sass-tips-and-tricks-for-efficient-workflow-8k0</link>
      <guid>https://forem.com/nnekajenny/mastering-sass-tips-and-tricks-for-efficient-workflow-8k0</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;CSS by itself can be entertaining, but stylesheets are growing bigger, more intricate, and more difficult to manage. A preprocessor can be useful here.&lt;/p&gt;

&lt;p&gt;Let's face it: creating CSS may occasionally be challenging, particularly in today's world of ever-more-complex user interfaces. You'll frequently discover that you keep saying the same thing.&lt;/p&gt;

&lt;p&gt;In this case, Sass comes to the rescue. You can adhere to the DRY (Do Not Repeat Yourself) principle by writing CSS.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Is Sass?
&lt;/h2&gt;

&lt;p&gt;Sass is a CSS preprocessor, sometimes known as a CSS extension, that enhances the CSS language with features like variables, nested rules, and mixins. It is a scripting language that is translated into CSS or built from scratch.&lt;/p&gt;

&lt;p&gt;Typically, Sass code is created in.scss files and converted into.css files that may be integrated into web pages. Sass makes CSS development more productive and dependable.&lt;/p&gt;

&lt;p&gt;A CSS preprocessor called Sass (Syntactically Awesome Style Sheets) endows your CSS with superpowers.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sass consists of two syntaxes.
&lt;/h2&gt;

&lt;p&gt;The original syntax, sometimes known as "the indented syntax," makes use of a Haml-like grammar. It employs newline characters to separate rules and indentation to divide code chunks. The extension is typically applied to indented syntax. sass&lt;/p&gt;

&lt;p&gt;An illustration of indented syntax in code&lt;br&gt;
The curly brackets and semicolons are eliminated in this older style.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; nav
  ul
    margin: 0
    padding: 0
    list-style: none

  li
    display: inline-block

  a
    display: block
    text-decoration: none 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h2&gt;
  
  
  SCSS syntax
&lt;/h2&gt;

&lt;p&gt;Block formatting similar to that of CSS is used in the more recent and well-liked syntax SCSS (Sassy CSS). Code blocks are indicated by braces, and SCSS files and rules within a block are separated by semicolons.&lt;/p&gt;

&lt;p&gt;It effectively represents a subset of CSS3 syntax. This indicates that you can add some extra functionality to standard CSS when writing it.&lt;br&gt;
It is frequently called Sassy CSS because of its sophisticated capabilities. The document's file extension is   &lt;code&gt;.scss&lt;/code&gt;.&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$font -stack: helvetica, sans-serif 
$primary- color :#333;

body{
  font: 100% font-stack;
  color: $primary-color;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h2&gt;
  
  
  How Does Sass Work?
&lt;/h2&gt;

&lt;p&gt;When you write your styles in a ".scss" file using Sass, they are converted into a standard CSS file. The browser is subsequently loaded with the CSS code.&lt;/p&gt;

&lt;p&gt;The browser converts the Sass file into a standard CSS file rather than reading it directly. A sass compiler is necessary for this, too. There are other ways to accomplish that, but if you're using Visual Studio Code, you may add an extension called Live Sass Compiler.&lt;/p&gt;

&lt;p&gt;It is termed a preprocessor for this reason.&lt;/p&gt;
&lt;h2&gt;
  
  
  Why should you use Sass?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Simple to learn: Sass has a syntax that is similar to that of CSS, so if you are already familiar with CSS, you can start using it right away.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Compatibility: It works with all CSS versions. So, you can utilize any CSS libraries that are out there.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Saves time: Thanks to its robust capabilities, it aids in reducing the repetition of CSS.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Reusable code: Sass supports variables and code fragments (mixins) that can be used repeatedly. You can code more quickly and save time as a result.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Organized Code: Sass uses partials to keep your code organized.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Sass is compiled into CSS and inserts all required vendor prefixes so you don't have to. This ensures cross-browser compatibility.&lt;/p&gt;
&lt;h2&gt;
  
  
  Features of Sass?
&lt;/h2&gt;

&lt;p&gt;In Sass, variables can be declared. Since we can declare variables for different attributes and utilize them in any file, this is one of Sass's advantages.&lt;/p&gt;

&lt;p&gt;The advantage of this is that you only need to replace one line of code if that value changes.&lt;/p&gt;

&lt;p&gt;To accomplish this, name a variable with the dollar sign. &lt;code&gt;$&lt;/code&gt; and then referencing it elsewhere in your code.&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$primary-color: #24a0ed;

.text {
  color: $primary-color;
}
button {
  color: $primary-color;
  border: 2px solid $primary-color;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Sass is used to increase the CSS code's effectiveness and maintainability. Using Sass has several advantages, including:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Variables: Make the CSS easier to update and maintain by allowing the reuse of variables throughout.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Nesting: Enables the grouping of CSS selectors, improving the organization and readability of the code.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Example;&lt;br&gt;
The majority of the time, classes are duplicated when writing CSS. By nesting styles inside the parent element, we may prevent this repetition. Check out the codes below as an example;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  In CSS,


 nav {
  height: 10vh;
  width: 100%;
  display: flex;
}

nav ul {
  list-style: none;
  display: flex;
}

nav li {
  margin-right: 2.5rem;
}

nav li a {
  text-decoration: none;
  color: #707070;
}

nav li a: hover {
  color: #069c54;
}     
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;With Sass, the above code can be written like this:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;nav {
  height: 10vh;
  width: 100%;
  display: flex;

  ul {
    list-style: none;
    display: flex;
  }

  li {
    margin-right: 2.5rem;

    a {
      text-decoration: none;
      color: #707070;

      &amp;amp;:hover {
        color: #069c54;
      }
    }
  }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Mixins: Make it simpler to apply the same styles to several elements by allowing the reuse of CSS declarations.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Operators and Functions: Makes it simpler to create complex styling by allowing the use of operators, functions, and control directives in the stylesheet.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Overall, Sass contributes to more organized, less repetitious, and easier to read and manage code. Because it enables a more effective workflow, web developers frequently choose it.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Sass Functions and Operators
&lt;/h2&gt;

&lt;p&gt;Sass offers a set of tools to aid in the creation of more programmatic code.&lt;/p&gt;

&lt;p&gt;We can do computations and operations that return a certain value using the built-in functions provided by Sass.&lt;/p&gt;

&lt;p&gt;They include anything from size computations and random number generation to conditionals and color calculations.&lt;/p&gt;

&lt;p&gt;It also provides support for mathematical operators like &lt;code&gt;+&lt;/code&gt;, &lt;code&gt;-&lt;/code&gt;, &lt;code&gt;\&lt;/code&gt;, &lt;code&gt;*&lt;/code&gt;, &lt;code&gt;/&lt;/code&gt;, and &lt;code&gt;%&lt;/code&gt;, which we can use with the &lt;code&gt;calc&lt;/code&gt; function.&lt;/p&gt;

&lt;p&gt;Here is an example using a pixel to rem conversion function:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;@function pxToRem($pxValue) {
  $remValue: ($pxValue / 16) + rem;
  @return $remValue;
}

div {
  width: pxToRem(480);
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;em&gt;However, it's important to note that the&lt;/em&gt; &lt;code&gt;*/*&lt;/code&gt; &lt;em&gt;operator for division is deprecated, and will be removed in Dart Sass 2.0.0. You can read about it in the&lt;/em&gt; &lt;em&gt;Docs&lt;/em&gt;&lt;em&gt;.&lt;/em&gt;&lt;br&gt;
So, this is how it should be written:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;@use "sass: math";

@function pxToRem($pxValue) {
  @return math.div($pxValue, 16px) * 1rem;
}

div {
  width: pxToRem(480px); // gives 30rem
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h2&gt;
  
  
  &lt;strong&gt;Using Sass To Write a Simple Application For Hello World.&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Here is a simple "Hello World" application using Sass:&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// File: styles.scss

$text-color: blue;

h1 {
  color: $text-color;
}

// File: index.html

&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
  &amp;lt;head&amp;gt;
    &amp;lt;link rel="stylesheet" type="text/css" href="styles.css"&amp;gt;
  &amp;lt;/head&amp;gt;
  &amp;lt;body&amp;gt;
    &amp;lt;h1&amp;gt;Hello World&amp;lt;/h1&amp;gt;
  &amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;You would then need to use a Sass compiler to convert the &lt;code&gt;**.scss**&lt;/code&gt; file to a &lt;code&gt;**.css**&lt;/code&gt; file, so that the browser can interpret the styles.&lt;br&gt;
You can also use Sass via command line&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sass styles.scss styles.css
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;This will convert the scss file to css file and you can link css file in index.html as mentioned above.&lt;/p&gt;

&lt;h2&gt;
  
  
  CONCLUSION
&lt;/h2&gt;

&lt;p&gt;Wow, we have come to the conclusion of this article. hope you gained a whole lot from it. we have looked at what sass is,  The two syntaxes of writing sass,  how sass works, and why you should use it. Also some features of sass and a few sass functions and operators.&lt;/p&gt;

&lt;p&gt;so with that, see you at the next one. bye.&lt;/p&gt;

&lt;h1&gt;
  
  
  About the Author
&lt;/h1&gt;

&lt;p&gt;I am Jennifer Eze, an enthusiastic developer with a passion for JavaScript, Bootstrap, PHP, HTML &amp;amp; CSS.&lt;br&gt;
I work as a freelancer, building websites for clients, and love writing technical tutorials to teach others what I do. I am eager to hear from you. Reach me on &lt;a href="https://www.linkedin.com/in/jennifer-eze-969272239/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;, &lt;a href="https://github.com/nnekajenny" rel="noopener noreferrer"&gt;GitHubitHub&lt;/a&gt;, or my &lt;a href="https://nnekajenny.github.io/" rel="noopener noreferrer"&gt;website&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>crypto</category>
      <category>web3</category>
      <category>webdev</category>
      <category>offers</category>
    </item>
    <item>
      <title>Top 10 JavaScript Frameworks &amp; Libraries For Building Games In 2023</title>
      <dc:creator>Jennifer Eze</dc:creator>
      <pubDate>Fri, 06 Jan 2023 12:00:26 +0000</pubDate>
      <link>https://forem.com/nnekajenny/top-10-javascript-frameworks-libraries-for-building-games-in-2023-ap0</link>
      <guid>https://forem.com/nnekajenny/top-10-javascript-frameworks-libraries-for-building-games-in-2023-ap0</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;One could ask if JavaScript can be used to make games. The answer is yes because JavaScript is a cross-platform, interpreted scripting language. It has a reputation for producing websites. In addition to browsers, it is employed in numerous other contexts.&lt;/p&gt;

&lt;p&gt;JavaScript allows for both client-side and server-side development. This article will discuss the top JavaScript gaming engines, and every JS developer should know it.&lt;/p&gt;

&lt;p&gt;Everyone loves gaming, whether they are 10 years old or employed. Nothing beats turning on your speakers or headphones and getting lost in a video game to relax at home.&lt;/p&gt;

&lt;p&gt;What, after all, is more enjoyable than going after criminals, tearing through traffic in a Ferrari, or playing a sport you're bad at?&lt;/p&gt;

&lt;p&gt;To make the game you enjoy so much, a sizable team of programmers, designers, and other experts must toil persistently for months. Even though the game seems straightforward, a lot of time and energy went into making it.&lt;/p&gt;

&lt;p&gt;It takes a lot of work to create a game, but thankfully there are several JavaScript-based frameworks and libraries available.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Phaser:
&lt;/h2&gt;

&lt;p&gt;A popular framework for developing HTML5 2D games with WebGL and canvas.&lt;/p&gt;

&lt;p&gt;2D games are made using canvas and WebGL with a free JavaScript framework called Phaser. It provides a variety of tools and functionality for creating game environments, managing game materials, and logic, and rendering the game to the browser window.&lt;/p&gt;

&lt;p&gt;Because it is designed to be simple to use and modify, a phaser is a popular choice for game developers of all skill levels. Additionally, it has a sizable and active user base that collaborates, exchanges resources, and learns new things to advance the framework.&lt;/p&gt;

&lt;p&gt;Games for PC and mobile platforms can be made using Phaser by modifying them and adding libraries.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2F55yjajer34crv7p9a0s0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2F55yjajer34crv7p9a0s0.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Three.js :
&lt;/h2&gt;

&lt;p&gt;A library for using WebGL in a browser to create 3D graphics.&lt;/p&gt;

&lt;p&gt;Three.js is a JavaScript toolkit for WebGL-based 3D graphics creation in browsers. it is used for creating and producing 3D visuals, including geometry, materials, lights, cameras, and animations, it offers a set of APIs and tools.&lt;/p&gt;

&lt;p&gt;Three.js is made to be flexible and simple to use, and it can be used to build a variety of 3D visuals, from straightforward 3D forms to intricate 3D sceneries with lifelike lighting and materials.&lt;/p&gt;

&lt;p&gt;The game development and visualization sectors both heavily rely on three.js, and it has a sizable and vibrant user base. It is also simple to integrate into already-existing projects because it is interoperable with other JavaScript libraries and frameworks.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2F7ns91abhadtiieuidpv9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2F7ns91abhadtiieuidpv9.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Pixi.js:
&lt;/h2&gt;

&lt;p&gt;A 2D library with quick rendering that supports WebGL and canvas.&lt;/p&gt;

&lt;p&gt;Using HTML5 and WebGL, you can make interactive images and games with Pixi.js, a renderer framework. Sprites, text, pictures, and particle effects are just a few of the many things it provides. It is made to be quick, light, and simple to use.&lt;/p&gt;

&lt;p&gt;Pixi.js is frequently used in conjunction with other libraries and frameworks like Phaser or Three.js and is particularly well suited for making 2D games. It's a wonderful option for novices because it's also fairly easy to get started with.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2F1n5psdougph81qg399sb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2F1n5psdougph81qg399sb.png" alt="User-uploaded image: Screenshot+Capture+-+2023-01-04+-+14-29-19.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Unity:
&lt;/h2&gt;

&lt;p&gt;Powerful game engines like Unity enable the creation of both 2D and 3D games. It is utilized by a broad spectrum of developers, from tiny independent studios to big corporations, and it is supported across several platforms, including iOS, Android, PC, and gaming consoles.&lt;/p&gt;

&lt;p&gt;A graphic editor, a built-in physics engine, support for VR and AR, and the capacity to publish games across several platforms are some of the features offered by Unity.&lt;/p&gt;

&lt;p&gt;It's a well-liked option for creating top-notch games, and it's utilized to make a variety of games, from straightforward mobile games to intricate 3D experiences.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2F80tud6p26crxzi03nimx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2F80tud6p26crxzi03nimx.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  5.  Babylon.js:
&lt;/h2&gt;

&lt;p&gt;A 3D engine for HTML5, WebGL, WebVR, and WebXR games and experiences.&lt;/p&gt;

&lt;p&gt;With HTML5, WebGL, WebVR, and WebXR, games and interactive experiences may be created using the 3D engine Babylon.js. It offers a high-performance environment for developing 3D content and is made to be simple to use.&lt;/p&gt;

&lt;p&gt;3D graphics, 3D audio, physics-based animation, and support for virtual reality (VR) and augmented reality are some of the capabilities provided by Babylon.js (AR). It is a potent tool for creating 3D games and applications, and a wide range of developers, from amateurs to established studios, use it.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fawoezs3v2vbjzma2dkeb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fawoezs3v2vbjzma2dkeb.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  6. PlayCanvas:
&lt;/h2&gt;

&lt;p&gt;A cloud-based game engine for creating 3D games and interactive experiences.&lt;/p&gt;

&lt;p&gt;PlayCanvas is a cloud-based game engine that allows you to create 3D games and interactive experiences using HTML5 and WebGL. It's designed to be easy to use and provides a range of features including a visual editor, real-time collaboration tools, a built-in physics engine, and support for virtual reality (VR). &lt;/p&gt;

&lt;p&gt;One of the benefits of PlayCanvas is that it's entirely browser-based, so you can work on your projects from any device with an internet connection. It's a popular choice for developers who want to create 3D games and experiences quickly and easily. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2F4plieqnmiqxqk6pxak1f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2F4plieqnmiqxqk6pxak1f.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  7. PlayCanvas
&lt;/h2&gt;

&lt;p&gt;Using HTML5 and WebGL, PlayCanvas is a cloud-based game engine that enables the development of 3D games and interactive experiences.&lt;/p&gt;

&lt;p&gt;With a variety of capabilities, including a visual editor, real-time collaboration tools, a built-in physics engine, and support for virtual reality, it is made to be simple to use (VR).&lt;/p&gt;

&lt;p&gt;PlayCanvas has the advantage of being completely browser-based, allowing you to work on your creations from any device with an internet connection. Developers that want to produce 3D games and experiences quickly and easily frequently choose it.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2F7bc1qajcg25a6sh28wue.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2F7bc1qajcg25a6sh28wue.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  8. Construct 3:
&lt;/h2&gt;

&lt;p&gt;With the help of the game development engine Construct 3, you may make games without knowing any code. It offers a range of features including a visual editor, a built-in physics engine, and compatibility for numerous platforms including HTML5, mobile, and desktop. It is created to be user-friendly and intuitive.&lt;/p&gt;

&lt;p&gt;Construct 3 is very useful for making 2D games, and beginners and hobbyists who wish to start game production but may not have much programming knowledge frequently utilize it. It's also a wonderful option for developers who wish to quickly construct small games or prototype concepts.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fq8hne8d1477mssa0m9yd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fq8hne8d1477mssa0m9yd.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  9. Unreal Engine
&lt;/h2&gt;

&lt;p&gt;Professional game engines like Unreal Engine are frequently utilized in the market to produce games of the highest caliber. &lt;/p&gt;

&lt;p&gt;A visual editor, support for virtual reality (VR), a built-in physics engine, and the ability to publish games across several platforms are just a few of the features offered by this potent tool that aids in the construction of 2D and 3D games.&lt;/p&gt;

&lt;p&gt;Small independent studios and major corporations alike employ Unreal Engine, which is renowned for its excellent performance capabilities and cutting-edge graphics. It's a well-liked option for creating AAA games, but for smaller projects or devs with tight budgets, it can be overkill.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fb1pd3efk8aeue405z1ka.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fb1pd3efk8aeue405z1ka.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  9. GameMaker: Studio
&lt;/h2&gt;

&lt;p&gt;A game production platform called GameMaker: Studio gives you the ability to make games utilizing a drag-and-drop user interface and an integrated programming language.&lt;/p&gt;

&lt;p&gt;It offers a variety of features, such as a visual editor, compatibility for several platforms, and a built-in physics engine, and is user-friendly and simple to use.&lt;/p&gt;

&lt;p&gt;GameMaker: Studio is frequently used by beginners and hobbyists who wish to get started with game development since it is particularly well-suited for making 2D games. Developers that wish to rapidly and simply construct straightforward games may consider it as well.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fwioevuorowatc69k3rpn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fwioevuorowatc69k3rpn.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  10. Cocos2d-x
&lt;/h2&gt;

&lt;p&gt;A free software framework is cocos2d. It can be used to create cross-platform GUI-based interactive programs like games, apps, and others. The most popular branches of the Cocos2d framework are Cocos2d-objc, Cocos2d-x, Cocos2d-html5, and Cocos2d-XNA.&lt;/p&gt;

&lt;p&gt;An open-source game engine called Cocos2d-x is used to create 2D games, interactive books, demos, and other graphical programs. It may be used to create interactive games, apps, and other content for several platforms, including Android, iOS, Windows, macOS, and Linux. It is developed in C++.&lt;/p&gt;

&lt;p&gt;Support for sprite motion, tile maps, and physics-based collisions are just a few of Cocos2d capabilities. x's Various tools for creating and debugging games are also included, such as a scene editor, a particle editor, and a font editor.&lt;/p&gt;

&lt;h2&gt;
  
  
  CONCLUSION
&lt;/h2&gt;

&lt;p&gt;I hope you gained a lot from this topic. we were able to see some JavaScript frameworks and libraries for building games. but &lt;/p&gt;

&lt;p&gt;It's critical to remember that the best decision for you will rely on your unique demands and objectives. &lt;/p&gt;

&lt;p&gt;When choosing a framework or library for game development, it's a good idea to take your project's requirements, your degree of experience, and the resources at your disposal into consideration.&lt;/p&gt;

&lt;h1&gt;
  
  
  About the Author
&lt;/h1&gt;

&lt;p&gt;I am Jennifer Eze, an enthusiastic developer with a passion for JavaScript, Bootstrap, PHP, HTML &amp;amp; CSS.&lt;br&gt;
I work as a freelancer, building websites for clients, and love writing technical tutorials to teach others what I do. I am eager to hear from you. Reach me on &lt;a href="https://www.linkedin.com/in/jennifer-eze-969272239/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;, &lt;a href="https://github.com/nnekajenny" rel="noopener noreferrer"&gt;GitHubitHub&lt;/a&gt;, or my &lt;a href="https://nnekajenny.github.io/" rel="noopener noreferrer"&gt;website&lt;/a&gt;.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How To Handle Scroll Events In JavaScript</title>
      <dc:creator>Jennifer Eze</dc:creator>
      <pubDate>Tue, 06 Dec 2022 10:48:56 +0000</pubDate>
      <link>https://forem.com/nnekajenny/how-to-handle-scroll-events-in-javascript-2jne</link>
      <guid>https://forem.com/nnekajenny/how-to-handle-scroll-events-in-javascript-2jne</guid>
      <description>&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You know sometimes, it's really useful to listen to scroll events to find out about the user's scroll position as they scroll up and down the web or even scroll within an element in a webpage. &lt;/p&gt;

&lt;p&gt;Let’s take pinterest.com as an example; you will notice that as the user scrolls down the bottom of the page, more images keep loading. &lt;/p&gt;

&lt;p&gt;In this case, we can say, we use scroll events for infinite scrolling. we can also use the scroll bar to toggle the class of a nav bar to hide and unhide it.&lt;/p&gt;

&lt;p&gt;In this article, we are gonna learn about JavaScript scroll events.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;A Scroll Event is what?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;A scroll event in JavaScript causes a scrollbar position to change, either vertically or horizontally. A JavaScript event listener or JavaScript event handler can be used to hear it.&lt;/p&gt;

&lt;p&gt;For reading scroll (desktop) or touch (mobile) events, the scroll event handler is an NPM package, and each event is given a callback.&lt;/p&gt;

&lt;p&gt;Since "scroll" is a JavaScript event, we can add an event listener to any Document Object Model element to receive scroll events.&lt;/p&gt;

&lt;h2&gt;
  
  
  Events that occur as a result of scroll events.
&lt;/h2&gt;

&lt;p&gt;a. Scroll events cause animations to start playing: some websites with animations get prettier as you scroll down the page. The animation plays more smoothly as you use the scroll bar to advance. such as webflow.com&lt;/p&gt;

&lt;p&gt;b. Toggling a class: If you scroll a little through the viewport on numerous websites, such as pitchefork.com, you will frequently notice this. If you look at the navbar, you'll see that the concealed navigation initially becomes visible.&lt;/p&gt;

&lt;p&gt;Therefore, to conceal and reveal it in this situation, use the toggle case of a scroll event.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to hear scroll events
&lt;/h2&gt;

&lt;p&gt;Regarding Windows objects&lt;/p&gt;

&lt;h2&gt;
  
  
  a. On Windows objects:
&lt;/h2&gt;

&lt;p&gt;There are two ways we can listen for it; To listen to a scroll event, you first have to scroll up and down your browser.&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwtkvi7kl1564tbxbrn9w.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%2Fwtkvi7kl1564tbxbrn9w.png" width="800" height="667"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;like in the image above, you won’t find a scroll bar. but to get one. make a  &amp;lt;P&amp;gt;  tag or a paragraph tag, and put some dormie text inside.




&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang="en"&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;meta charset="UTF-8"&amp;gt;
    &amp;lt;meta http-equiv="X-UA-Compatible" content="IE=edge"&amp;gt;
    &amp;lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&amp;gt;
    &amp;lt;title&amp;gt;Document&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;P&amp;gt;Lorem ipsum dolor sit amet consectetur adipisicing elit. Aspernatur amet quod explicabo nihil numquam sunt officiis corrupti? Temporibus vero corporis omnis dolorem aspernatur, nihil eos eaque maxime deleniti molestiae vitae aperiam ut laboriosam dolore quo est architecto nemo nulla dolorum exercitationem neque quos! Corrupti ad dignissimos tenetur aspernatur provident! Quidem consectetur sapiente laudantium dignissimos similique in, quibusdam quod vitae dolorem explicabo necessitatibus eveniet nemo vel dolore accusamus ducimus nulla fugiat maiores id! Nesciunt quaerat harum, labore, amet maxime, ratione ab nobis illum atque deleniti nemo expedita earum possimus culpa exercitationem porro architecto iste. Velit placeat tempore, odio eveniet earum iusto consequuntur quidem vel quis repellat perferendis commodi ea mollitia laborum tempora inventore at. Pariatur ipsum reprehenderit earum nobis! Recusandae, accusantium tempore quatibus maiores ducimus adipisci dolorem voluptas sint voluptatum voluptates libero, quod magnam explicabo rerum? Autem aliquid mollitia modi minima quasi, temporibus totam eum fugit eaque. Excepturi officiis ab deserunt est! Quaerat expedita harum iusto pariacepturi sapiente non dicta? Fuga totam quae 
           similique sapiente voluptas accusantium maxime nam omnis fugit ratione, blaasi omnis. Alias fuga hic eveniet, qui corporis nostrum, dicta maiores vel voluptatum quibusdam facilis modi saepe quo facere dolore magni ipsa excepturi assumenda ex et qus impedit esse sequi numquam officia? Earum autem pariatur, eos nihil excepturi officiis nulla officia quam velit neque, iste omnis quidem laborum modi ad quod placeat fugiat? Assumenda aliquid, aspernatur ipsam rerum illum cumque esse, excepturi eveniet sunt velit ea eum. Dolor error, id animi nihil eos, nemo  vo!&amp;lt;/P&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;If you go back to the browser, you will see all those tags, which will now give us a scroll bar.&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1xn4ticajo54r83j3w2w.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%2F1xn4ticajo54r83j3w2w.png" width="800" height="509"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As you can see we have a scroll bar now and we can scroll up and down the page.&lt;/p&gt;

&lt;p&gt;Here is the first way, that we can listen to scroll events;&lt;/p&gt;

&lt;h2&gt;
  
  
  METHOD 1:  USING THE ONSCROLL PROPERTY
&lt;/h2&gt;




&lt;p&gt;Because we frequently wish to track the full scrolling of the webpage up and down, it is very usual to listen to scroll events on the window object.&lt;/p&gt;

&lt;p&gt;We now use the windows object to accomplish that. We have a property named on-scroll in my script.js. You can find out when the scroll event is being fired by assigning it to a function and then logging it to the console.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;window.onscroll = () =&amp;gt; {
   console.log("white creativity")
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwvmf1sb3wwv7fggpnwjf.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%2Fwvmf1sb3wwv7fggpnwjf.png" width="800" height="528"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You'll see that the number keeps rising as we scroll down the bar.&lt;/p&gt;

&lt;p&gt;Be aware that the scroll event rapidly sets file-zealous times. If you want to perform complex event handling or a call-back function, the scroll event is one of the event kinds that can be difficult.&lt;/p&gt;

&lt;p&gt;Debouncing, throttleing, and other methods are some of the ways these many items might be improved.&lt;/p&gt;

&lt;h2&gt;
  
  
  METHOD 2:  USING addEventListener
&lt;/h2&gt;




&lt;p&gt;Now, instead of windows. onscroll, it will be windows. addaEventListener. like this&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;window.addEventListener ("scroll",() =&amp;gt; {
    console.log("white creativity");
})
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;The first argument is the name of the event which is scroll, the second argument will be the event handler call-back function. which is the event function that is going to run when this event function is fired.  finally console.log again.&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjsblya1bhcboo8sn0wmt.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%2Fjsblya1bhcboo8sn0wmt.png" width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The same thing occurs: the number keeps rising as you scroll the bar.&lt;/p&gt;

&lt;p&gt;The addEventListener method is recommended for listening to events because&lt;/p&gt;

&lt;p&gt;We can add several event handlers to the scroll events using the addEventListener function.&lt;br&gt;
On windows objects, we have so far listened to scroll events. Now that it's on page elements, we can hear it.&lt;/p&gt;

&lt;p&gt;watching for scroll events on the page's elements&lt;/p&gt;

&lt;p&gt;We'll see that we are an example. Form a div. Put a paragraph tag inside of it.&lt;/p&gt;

&lt;p&gt;Make a div and insert a paragraph element with some placeholder content within the div.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang="en"&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;meta charset="UTF-8"&amp;gt;
    &amp;lt;meta HTTP-equiv="X-UA-Compatible" content="IE=edge"&amp;gt;
    &amp;lt;meta name="viewport" content="width=, initial-scale=1.0"&amp;gt;
    &amp;lt;title&amp;gt;Document&amp;lt;/title&amp;gt;
    &amp;lt;link rel="stylesheet" href="style.css"&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
  &amp;lt;div class="container"&amp;gt;
   &amp;lt;p&amp;gt;monkeys love bananaLorem ipsum dolor sit amet consectetur, adipisicing elit. Qui perferendis deleniti nisi, saepe debitis error laborum! Exercitationem porro tenetur architecto, officiis voluptates maxime. Dolorem commodi nobis sapiente deleniti quos eligendi. Lorem ipsum dolor sit amet consectetur adipisicing elit. Ducimus, accusantium. Dicta necessitatibus delectus fugiat minima molestias. Enim dolorum eum eos, aliquid eius nihil placeat cumque reprehenderit nesciunt perferendis tenetur possimus. &amp;lt;/p&amp;gt;
  &amp;lt;/div&amp;gt; &amp;lt;/p&amp;gt;
  &amp;lt;/div&amp;gt;
  &amp;lt;script src="script.js"&amp;gt;&amp;lt;/script&amp;gt; 
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;style it a little bit in your CSS, like this&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;.container{
    width: 500px;
    height: 500px;
    background-color: blue;
    overflow: auto;
}


.container p{
   height: 1000px;
   width:  1000px;
   font-size: 2rem;
   margin:   0;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;on script.js, write this code.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;document.querySelector(".container")
  .addEventListener("scroll", (a) =&amp;gt;{
     console.log(a)
})
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;To target the container,  we use the query selector and a div with a class of container.&lt;br&gt;
Then we call adEventListener and pass in the scroll event and the event handler calls back function. &lt;br&gt;
whenever we add an event listener, we have access to the event object itself. we can use whatever we want, but I just want to use the small letter “a”. finally to look at the event object; console.log(a).&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzr6vljuoez861mx0ps53.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%2Fzr6vljuoez861mx0ps53.png" width="786" height="736"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;scroll inside the container itself. Take a look at the console. you are going to see a whole lot of running object that was logged.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fidl0lzisjzc63u38wmur.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%2Fidl0lzisjzc63u38wmur.png" width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you type that code into your browser console and scroll, you will see that you get undefined. The intriguing point is that we won't need scrollTop or scrollLeft while working with the windows object. Instead, we'll employ scrollY and scrollX.&lt;/p&gt;

&lt;p&gt;You will see that you are obtaining numerical values in the console if you utilize scrollY and check the browser console.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;document.querySelector(".container")
  .addEventListener("scroll", (a) =&amp;gt;{
     console.log(a.target.scrollTop)
})
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;if you write that code and go back to the console, you will notice that as we scroll down, the number of pixels increases.&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxbqz2k6r2hr8cj8413yc.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%2Fxbqz2k6r2hr8cj8413yc.png" width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now if you want to see horizontally how much we have scrolled, you will see the left scroll property.&lt;/p&gt;

&lt;p&gt;we wanna go back to our previous example when we looked at the scroll event on the window object.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;window.addEventListener ("scroll",() =&amp;gt; {
    console.log(window.scrollTop);
})
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;if you write that code and scroll on your browser console, you will notice that you will get undefined. so the interesting thing is that when we are dealing with the windows object, we will not use scrollTop or scrollLeft. but rather we will use scrollY and scrollX.&lt;/p&gt;

&lt;p&gt;if you use scrollY and look in the browser console you will notice that you will be getting numerical values in the console.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;we have come to the end of this article. I hope you gained a whole lot on how to scroll events are handled in JavaScript. you can take out some time to try that. if you have questions, drop them in the comment section. And it will be attended to. Don’t forget to follow me and give a clap to this tutorial, expecting to see you in the next one…&lt;/p&gt;

&lt;h1&gt;
  
  
  About the Author
&lt;/h1&gt;

&lt;p&gt;I am Jenifer Eze, an enthusiastic developer with a passion for JavaScript, Bootstrap, PHP, HTML &amp;amp; CSS.&lt;br&gt;
I work as a freelancer, building websites for clients, and love writing technical tutorials to teach others what I do. I am eager to hear from you. Reach me on &lt;a href="https://www.linkedin.com/in/jennifer-eze-969272239/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;, &lt;a href="https://github.com/nnekajenny" rel="noopener noreferrer"&gt;G&lt;/a&gt;itHubitHub, or my &lt;a href="https://nnekajenny.github.io/" rel="noopener noreferrer"&gt;website&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>watercooler</category>
    </item>
    <item>
      <title>Get To Know About Proxycurl.</title>
      <dc:creator>Jennifer Eze</dc:creator>
      <pubDate>Sat, 19 Nov 2022 15:15:18 +0000</pubDate>
      <link>https://forem.com/nnekajenny/get-to-know-about-proxycurl-h44</link>
      <guid>https://forem.com/nnekajenny/get-to-know-about-proxycurl-h44</guid>
      <description>&lt;p&gt;Introduction&lt;/p&gt;

&lt;p&gt;Without a doubt, we are living in a new era of large data-driven corporations. Gathering rich data about people and businesses has been a huge task over the years.&lt;/p&gt;

&lt;p&gt;Proxycurl has made it easier to build and scale data-driven applications on people and businesses without having to worry about scaling a web scraping and data-science team.&lt;/p&gt;

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

&lt;p&gt;A comprehensive database of LinkedIn members and companies&lt;/p&gt;

&lt;p&gt;LinkDB is a complete LinkedIn dataset of people and companies that allows you to easily, efficiently, and legally integrate the vast sea of LinkedIn public data into your business applications.&lt;/p&gt;

&lt;p&gt;If you are a mid-market company with at least 50 employees in the US or Europe, or if a reputable VC funds you for at least USD 1 million, LinkDB may be a good fit for you.&lt;/p&gt;

&lt;p&gt;LinkDB is a Postgresql database containing 117 million public Linkedin profiles. LinkDB is a completely managed and up-to-date database of public Linkedin profiles.&lt;/p&gt;

&lt;h2&gt;
  
  
  Who is LinkDB for?
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Sales/marketing Automation of prospecting&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;LinkDB can help you automate your sales process by powering your LinkedIn prospect searches.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Candidate search for recruitment&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Find the ideal candidate from a comprehensive dataset of LinkedIn profiles of people in a specific region of interest, allowing your HR department or company to spend less time and money sourcing potential employees.&lt;/p&gt;

&lt;p&gt;Training and investment analysis, Artificial intelligence models for investment analysis&lt;br&gt;
To gain significant alpha against your peers, use data metrics such as how quickly an employee count is growing to make investment decisions.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to do a Simple Sample Search Queries on LinkDB
&lt;/h2&gt;

&lt;p&gt;LinkDB  requires a basic understanding of SQL, &lt;a href="https://www.postgresql.org/docs/current/functions-json.html"&gt;JSON query functions and operators&lt;/a&gt;, and &lt;a href="https://www.postgresql.org/docs/current/functions-json.html#FUNCTIONS-SQLJSON-PATH"&gt;SQL/JSON path&lt;/a&gt; expressions. Let us begin with a  simple example.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SELECT
  id,
  user_data-&amp;gt;&amp;gt;'first_name' AS first_name, 
  user_data-&amp;gt;&amp;gt;'last_name' AS last_name
  FROM profile
  LIMIT 10;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Find Me All computer scientist  In California&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To find all the computer scientists in the database, you would write:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SELECT
    id,
    user_data-&amp;gt;&amp;gt;'first_name' AS first_name, 
    user_data-&amp;gt;&amp;gt;'last_name' AS last_name,
    json_path_query_first(user_data, '$.experiences[*] ? (@.ends_at == null &amp;amp;&amp;amp; @.title == "computer scientist" &amp;amp;&amp;amp; @.location_California").title') AS title
FROM profile
WHERE to_tsvector('simple', used_data) @@ plainto_tsquery('simple', 'computer scientist')
  AND user_data @&amp;gt; '{"experiences": [{"ends_at": null, "title": "computer scientist", "location_California"}]}';
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;The query above employs text search and JSON path syntax. Making use of a more SQL-like pattern.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Find Me All Google  Employees&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To retrieve all employees of Google, you write the following SQL query:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SELECT
    id,
    user_data-&amp;gt;&amp;gt;'first_name' AS first_name,
    u_data-&amp;gt;'last_name' AS last_name,
    json_path_query_first(user_data, '$.experiences[*] ? (@.ends_at == null &amp;amp;&amp;amp; @.company_linkedin_profile_url == "https://www.linkedin.com/company/googl/").title') AS title
FROM profile
WHERE to_tsvector('simple', user_data) @@ plainto_tsquery('simple', 'https://www.linkedin.com/company/google/')
  AND user_data @&amp;gt; '{"experiences": [{"ends_at": null, "company_linkedin_profile_url": "https://www.linkedin.com/company/google/"}]}'
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h2&gt;
  
  
  Who is LinkDB For?
&lt;/h2&gt;

&lt;p&gt;We sell LinkDB to middle-market companies with at least 50 employees in the United States or Europe, or startups funded by reputable venture capital firms for at least USD 1 million.&lt;br&gt;
If you are interested in LinkDB and your company falls into one of the categories listed above, please contact proxycurl.&lt;/p&gt;
&lt;h2&gt;
  
  
  The LinkDB dataset
&lt;/h2&gt;

&lt;p&gt;The LinkDB dataset has been divided into regions to provide flexibility in terms of usage and size. We have several types of data snapshots. They are as follows:&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;1. People profiles - 170+MM profiles of people in the United States
2. People profiles - 8.7 million profiles of Canadians
3. People profiles - over 876000 profiles of Israelis
4. People profiles - 15+ million profiles of people in the UK
5. People profiles - 1.7+ million profiles of Singaporeans
6. People profiles - 6 million profiles of Australians
7. People profiles - 1.5 million profiles of people in Ireland
8. People profiles - 1.5 million profiles of New Zealanders
9. People profiles - 9.2 million profiles of people in Germany
10. Company profiles - 17+ million global company profiles
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Aside from the countries listed above, we have an expanding list of datasets from other countries. Please contact us for a breakdown of our services.&lt;/p&gt;

&lt;p&gt;You can find the complete schema of people's companies' profiles in our API docs under &lt;a href="https://nubela.co/proxycurl/linkedin"&gt;Person Profile Endpoint&lt;/a&gt; and &lt;a href="https://nubela.co/proxycurl/linkedin/company"&gt;Company Profile Endpoint&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Proxycurl API is a set of tools designed to act as plumbing in your application for both fresh and processed data. We act as a fully managed layer between your application and raw data, allowing you to focus on building the application rather than scraping and processing data at scale.&lt;br&gt;
You can use Proxycurl API to&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Search for people -&lt;/li&gt;
&lt;li&gt; Search for businesses - &lt;/li&gt;
&lt;li&gt;E-people's profiles - &lt;/li&gt;
&lt;li&gt;Enrich company profiles&lt;/li&gt;
&lt;li&gt;Look up contact information for individuals and businesses.&lt;/li&gt;
&lt;li&gt;Determine whether an email address is disposable.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you want to experiment with the dataset in your local development environment, we've provided some sample data &lt;a href="https://nubela.co/blog/sample-data-for-linkdb/"&gt;here&lt;/a&gt;. Load the sample dataset into a relational database and use the sample queries above for inspiration.&lt;/p&gt;

&lt;h2&gt;
  
  
  How We Keep LinkDB up to Date
&lt;/h2&gt;

&lt;p&gt;Each time a real-time API is made to scrape a Linkedin profile, we update the dataset with the results of the API call. This means you wouldn't have to worry about stale data because this method keeps data on LinkDB constantly updated to the count of (up to) millions of profiles a day.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pricing
&lt;/h2&gt;

&lt;p&gt;Our prices are typically in the five-digit range per data segment. We do not share price quotes to avoid a pricing war.&lt;/p&gt;

&lt;p&gt;Instead, we provide a general price range, and I will direct you to test the finer points of our product, such as data quality or API standards.&lt;/p&gt;

&lt;p&gt;And once you are certain that our product is right for you and that our price point is within your budget, we will begin the negotiation process.&lt;/p&gt;

&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;p&gt;It has been a pleasure reading this article about proxycurl and its services.&lt;/p&gt;

&lt;p&gt;It may interest you to know that the right dataset can greatly benefit your business or applications.&lt;/p&gt;

&lt;p&gt;LinkedIn is a great place to find information about potential customers, businesses, investments, and trends. Are you a mid-sized startup looking for a complete LinkedIn dataset?&lt;/p&gt;

&lt;p&gt;Proxycurl is at your service.&lt;/p&gt;

&lt;h1&gt;
  
  
  About the Author
&lt;/h1&gt;

&lt;p&gt;I am Jenifer Eze, an enthusiastic developer with a passion for JavaScript, PHP, HTML &amp;amp; CSS.&lt;/p&gt;

&lt;p&gt;I work as a freelancer, building websites for clients, and love writing technical tutorials to teach &lt;/p&gt;

&lt;p&gt;others what I do. I am eager to hear from you. Reach me on &lt;a href="https://www.linkedin.com/in/jennifer-eze-969272239/"&gt;LinkedIn&lt;/a&gt;, &lt;a href="https://github.com/nnekajenny"&gt;G&lt;/a&gt;itHub, or my &lt;a href="https://nnekajenny.github.io/"&gt;website&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>productivity</category>
      <category>job</category>
      <category>career</category>
    </item>
    <item>
      <title>Creating A Social Network With WordPress</title>
      <dc:creator>Jennifer Eze</dc:creator>
      <pubDate>Sat, 19 Nov 2022 15:02:56 +0000</pubDate>
      <link>https://forem.com/nnekajenny/creating-a-social-network-with-wordpress-b8g</link>
      <guid>https://forem.com/nnekajenny/creating-a-social-network-with-wordpress-b8g</guid>
      <description>&lt;p&gt;Introduction&lt;/p&gt;

&lt;p&gt;Connecting with other people, businesses, and organizations is essential for an individual's and an organization's success.&lt;/p&gt;

&lt;p&gt;Social networking is a location where individuals and organizations may interact, conduct business, and share information on several platforms.&lt;/p&gt;

&lt;p&gt;Making the most of social networks and their importance can help people and businesses use these platforms to expand their professional networks.&lt;/p&gt;

&lt;h1&gt;
  
  
  What is a Social Network?
&lt;/h1&gt;

&lt;p&gt;Maintaining communication with friends, family, coworkers, and customers using web-based social media platforms is known as social networking.&lt;/p&gt;

&lt;p&gt;Social networking can serve a social purpose, a business purpose, or both through websites like Facebook, Twitter, Instagram, Pinterest, etc.&lt;/p&gt;

&lt;p&gt;Social networking is a significant opportunity for marketers who want to interact with potential clients.&lt;/p&gt;

&lt;p&gt;A social network is a website that links people to facilitate conversation, interest exchange, and friend discovery. This form of sharing and collaboration is referred to as social media.&lt;/p&gt;

&lt;p&gt;In contrast to traditional media, which is produced by no more than ten people, social media platforms host material created by hundreds or even millions of different people.&lt;/p&gt;

&lt;h1&gt;
  
  
  Importance of Social Networks
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt; It fosters quick contact,&lt;/li&gt;
&lt;li&gt; Links people and businesses,&lt;/li&gt;
&lt;li&gt; Aids in the creation of adverts by firms, and &lt;/li&gt;
&lt;li&gt; Permits information sharing.
# Types of Social Networks&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As a media marketer, venturing to go into media marketing. it’s helpful to know about the most popular social media sites out there right now. This will allow you to maximize your brand reach on social media.&lt;/p&gt;

&lt;p&gt;Below is the list of the top 10 social media sites in 2022.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Vp8_5YhS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.shopify.com/s/files/1/0070/7032/articles/Most_Popular_Social_Media_Platforms_in_2022_dec59684-cf62-4ede-864b-4ec6578230dc.png%3Fformat%3Dwebp%26v%3D1666265227%26width%3D1024" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Vp8_5YhS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.shopify.com/s/files/1/0070/7032/articles/Most_Popular_Social_Media_Platforms_in_2022_dec59684-cf62-4ede-864b-4ec6578230dc.png%3Fformat%3Dwebp%26v%3D1666265227%26width%3D1024" alt="https://cdn.shopify.com/s/files/1/0070/7032/articles/Most_Popular_Social_Media_Platforms_in_2022_dec59684-cf62-4ede-864b-4ec6578230dc.png?format=webp&amp;amp;v=1666265227&amp;amp;width=1024Chart" width="880" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Creating Social Networks With WordPress
&lt;/h1&gt;

&lt;p&gt;Facebook has now become the number one social network in the world and it has 665 million active users on average each day as was recorded and disclosed by Facebook.&lt;/p&gt;

&lt;p&gt;And that’s just Facebook! There’s Twitter, LinkedIn, Instagram, and many other social networks to consider too. But what’s all this got to do with WordPress, you might be wondering?&lt;/p&gt;

&lt;h2&gt;
  
  
  To Encourage You To Launch Your Own Social Network?
&lt;/h2&gt;

&lt;p&gt;Looking at the aforementioned data should motivate you to start your social network. It doesn't matter if your goal is to reach Facebook and other comparable platforms in size or if all you want is a network for your friends, business, or volunteer group.&lt;/p&gt;

&lt;p&gt;If you want to start a social network, do it right now. You can start a cool one on your own using the amazing WordPress CMS.&lt;/p&gt;

&lt;p&gt;WordPress is currently used by everyone to promote their hobbies and start enterprises because it is so simple to use, from your elderly neighbor to your adolescent niece. It is easy to create a social network website that is dynamic and has all the features you would find on an existing one&lt;/p&gt;

&lt;p&gt;There are only a handful of WordPress plugins that you should take into account if you want to establish your social network. They are amazing, quick to put up, and simple to use.&lt;/p&gt;

&lt;h1&gt;
  
  
  BuddyPress
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--RwI96cUB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.elegantthemes.com/blog/wp-content/uploads/2015/04/BuddyPress.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--RwI96cUB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.elegantthemes.com/blog/wp-content/uploads/2015/04/BuddyPress.png" alt="https://www.elegantthemes.com/blog/wp-content/uploads/2015/04/BuddyPress.png" width="600" height="216"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;BuddyPress enables you to build an online community by transforming your WordPress website into a social network. Several traits of a typical BuddyPress-powered website are listed below:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Your website allows visitors to register.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Users can create user profiles with more information.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;To stay up to date with site-wide changes, users can access activity streams.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;User groups provide you the chance to create more intimate communities.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Users have the option of becoming buddies.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Users have the option of private communication. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;BuddyPress features can be expanded with the help of third-party plugins.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Compatible with any standard-compliant WordPress theme&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Can be added to your existing WordPress site after installation&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;BuddyPress Is Capable Of A Lot... It's also free.&lt;br&gt;
Any type of social network you can imagine can be built using the BuddyPress plugin. For instance, you might want to construct one for churchgoers, cricket aficionados, bird watchers, or football fans.&lt;/p&gt;

&lt;p&gt;In addition to being able to communicate with one another and network, your members will also be able to stay up to speed on everything going on in the community you have created.&lt;/p&gt;

&lt;p&gt;User profiles, groups, and a system for private messages can all be created. As BuddyPress integrates with other WordPress plugins, such as site tracking and allowing attachments, there are also a ton more possibilities.&lt;/p&gt;

&lt;h1&gt;
  
  
  WP Symposium
&lt;/h1&gt;

&lt;p&gt;Building your WordPress social networking site without the BuddyPress plugin is a terrific alternative.&lt;/p&gt;

&lt;p&gt;The WP Symposium has the following features:&lt;br&gt;
Each user has a profile with a header photo, an avatar, an activity description, and other details.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;/li&gt;
&lt;li&gt;You can join with friends, make groups, and exchange private messages using the community feature.&lt;/li&gt;
&lt;li&gt;You have the opportunity to create forums, and you can change the layout and add shortcodes to make widgets.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Additionally, WP Symposium offers amazing assistance. The plugin includes a knowledgeable Help Desk in addition to a thriving support community. A very helpful Wiki is also available, and support is provided for additional plugins like Facebook Connect, Events, Galleries, Groups, and Mobile.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--0_DZyAv6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.elegantthemes.com/blog/wp-content/uploads/2015/04/WP-Symposium.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0_DZyAv6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.elegantthemes.com/blog/wp-content/uploads/2015/04/WP-Symposium.png" alt="https://www.elegantthemes.com/blog/wp-content/uploads/2015/04/WP-Symposium.png" width="600" height="292"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;WP Symposium can be useful if you intend to create a multilingual WordPress social network website.&lt;/p&gt;

&lt;p&gt;You are creating your very own social networking website, so you naturally want everything to appear the way you want it to. Without any prior technical experience, you may easily modify certain features of your site to suit your needs thanks to this plugin.&lt;/p&gt;

&lt;p&gt;"The ultimate social network plugin for WordPress," according to WP Symposium. Use this plugin to start building the hottest social network of the future on your own.&lt;/p&gt;

&lt;h1&gt;
  
  
  WP Mingle
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--U4q59BkB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.elegantthemes.com/blog/wp-content/uploads/2015/04/WP-Mingle.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--U4q59BkB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.elegantthemes.com/blog/wp-content/uploads/2015/04/WP-Mingle.png" alt="Whttps://www.elegantthemes.com/blog/wp-content/uploads/2015/04/WP-Mingle.pngP Mingle" width="600" height="290"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;With the help of this fantastic, free plugin, you can use WordPress to create a superior social networking site.&lt;/p&gt;

&lt;p&gt;When you utilize WP Mingle, your users won't see the WordPress admin area or login screen; instead, it will appear to be a different social networking website that isn't powered by WordPress.&lt;/p&gt;

&lt;h2&gt;
  
  
  Features Of The WP Mingle Plugin
&lt;/h2&gt;

&lt;p&gt;You can publish comments and profile updates on your friends' profiles.&lt;/p&gt;

&lt;p&gt;Users will be able to submit personalized avatars, and you can choose whether to get user               email notifications or not (Gravatar fallback is also present)&lt;/p&gt;

&lt;p&gt;Pages are available for user friending - &lt;/p&gt;

&lt;p&gt;Pages are open for friend activity&lt;/p&gt;

&lt;p&gt;Users on your WordPress social network site will be able to tag each other by using @ followed by the name of the individual. Twitter format&lt;/p&gt;

&lt;p&gt;Custom profile fields and user profile pages can be set up by the administrator.&lt;/p&gt;

&lt;p&gt;There is a facility for users to engage in private messaging.&lt;/p&gt;

&lt;p&gt;There are random and reuse user widgets and login and navigation widgets.&lt;/p&gt;

&lt;p&gt;There are Pretty Profile URLs. &lt;/p&gt;

&lt;p&gt;Your WordPress social network site will have a registration system, a lost password recovery system, and a login and logout system (this will help with Google Indexing  as well as with memorability)&lt;/p&gt;

&lt;p&gt;An Option for Premium Membership&lt;/p&gt;

&lt;p&gt;You can also do this if you want your WordPress social network to be exclusive. There is a premium membership option for the WP Mingle plugin that integrates with Affiliate Royale and Wishlist Member.&lt;/p&gt;

&lt;h1&gt;
  
  
  A Conclusion
&lt;/h1&gt;

&lt;p&gt;There are many good reasons to create a social networking website. Like Mr. Zuckerberg, you might desire to become the next internet billionaire.&lt;/p&gt;

&lt;p&gt;Alternatively, you might just want to create a small group of people who share your interior to form your community.&lt;br&gt;
Whatever your motivation for wanting to create a social network, it's crucial to keep in mind that you don't need any technical knowledge to do so.&lt;/p&gt;

&lt;p&gt;You may create one of the upcoming great things in social networking by using WordPress (which is already very simple to use) with any of the three awesome plugins mentioned above, depending on your needs.&lt;/p&gt;

&lt;h1&gt;
  
  
  About the Author
&lt;/h1&gt;

&lt;p&gt;I am Jenifer Eze, an enthusiastic developer with a passion for JavaScript,  Bootstrap,  PHP, HTML &amp;amp; CSS.&lt;br&gt;
I work as a freelancer, building websites for clients, and love writing technical tutorials to teach others what I do. I am eager to hear from you. Reach me on &lt;a href="https://www.linkedin.com/in/jennifer-eze-969272239/"&gt;LinkedIn&lt;/a&gt;, &lt;a href="https://github.com/nnekajenny"&gt;&lt;/a&gt;&lt;a href="https://github.com/nnekajenny"&gt;G&lt;/a&gt;&lt;a href="https://github.com/nnekajenny"&gt;itHub&lt;/a&gt;, or my &lt;a href="https://github.com/nnekajenny"&gt;website&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>wordpress</category>
      <category>programming</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Top Plugins You Need To Secure your WordPress Website</title>
      <dc:creator>Jennifer Eze</dc:creator>
      <pubDate>Thu, 17 Nov 2022 10:19:29 +0000</pubDate>
      <link>https://forem.com/nnekajenny/top-plugins-you-need-to-secure-your-wordpress-website-2hnp</link>
      <guid>https://forem.com/nnekajenny/top-plugins-you-need-to-secure-your-wordpress-website-2hnp</guid>
      <description>&lt;p&gt;Introduction&lt;/p&gt;

&lt;p&gt;With WordPress powering 43.2% of all websites, it is the most widely used content management system (CMS). Unfortunately, because of its widespread popularity, a variety of fraudsters target the platform and exploit its security holes.&lt;/p&gt;

&lt;p&gt;Millions of websites get malware infections every week. Websites using WordPress and those without it are both attacked on average 44 times each day.&lt;/p&gt;

&lt;p&gt;The security of your website is something you should be worried about. Most people don't anticipate becoming a victim of website hacking. We are all aware that it occurs, so why would someone pick my website?&lt;/p&gt;

&lt;p&gt;This piece is for you if you've been contemplating whether or not your website needs a WordPress security plugin. The major justifications for why you should adopt a security plugin for WordPress are covered here.&lt;/p&gt;

&lt;h2&gt;
  
  
  What exactly is a secure plugin?
&lt;/h2&gt;

&lt;p&gt;Protection from malware, brute-force assaults, and hacking attempts is provided by a WordPress security plugin.&lt;/p&gt;

&lt;p&gt;The file change detection feature of the security plugin is essential because most web administrators are not aware when a file has been altered.&lt;/p&gt;

&lt;p&gt;A security plugin will have each of the features listed below:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Guard your website against brute force assaults, in which a hacker tries to figure out your login details.&lt;/li&gt;
&lt;li&gt;Safeguard important website files.&lt;/li&gt;
&lt;li&gt;Prevent contact form plugins from being used to send spam.&lt;/li&gt;
&lt;li&gt;Notify you when a security threat is found.&lt;/li&gt;
&lt;li&gt;Run a malware scan.&lt;/li&gt;
&lt;li&gt;Secure the WordPress Database&lt;/li&gt;
&lt;li&gt;Building a Website Firewall
****## Do I need a security plugin for WordPress?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If your site is hacked, plugins can protect your users. The best WordPress.org plugins protect your users' private information.&lt;/p&gt;

&lt;p&gt;Hackers are capable of stealing both your personal information and that of your users and clients.&lt;/p&gt;

&lt;p&gt;The demise or tarnishing of your website could be detrimental to the SEO performance and reputation of your brand.&lt;/p&gt;

&lt;p&gt;Starting to use a security plugin is among the most crucial stages in securing your WordPress website. By employing these plugins you avoid brute-force attacks on your website, you can strengthen WordPress security.&lt;/p&gt;

&lt;p&gt;If you want to secure your website and prevent hacking, you must adhere to security best practices.&lt;/p&gt;

&lt;p&gt;Without a plugin, You may also Maintain The Security Of Your Website&lt;/p&gt;

&lt;h2&gt;
  
  
  Without a WordPress security plugin, you may maintain a largely secure website by taking the following actions.
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Update the WordPress core, themes, and plugins. There will be fewer issues and vulnerabilities if you use the most recent version of all of these. It's like leaving your back door open if you don't upgrade.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Create secure passwords. Your first line of protection consists of your username and password. Make sure to set up a password that is highly secure and to update it frequently. Every admin account should be treated the same way.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Constrain user access. You should restrict each user's access to the site's backend if you have numerous user accounts. This will lessen the possibility of any settings being altered unintentionally.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;On your website, install an SSL certificate. Using an SSL connection will help to secure any data sent between the browser and server as well as your user's connection. Your admin data should, however, be encrypted as well.  &lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The actions listed above can all be taken without a security plugin's assistance to increase the security of your website. &lt;strong&gt;BUT&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You won't be able to avoid some vulnerabilities, though, without the aid of a security plugin.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Best plugin for WordPress websites that is secure.
&lt;/h2&gt;

&lt;p&gt;Maintaining a high level of WordPress security requires being proactive. Additional security advice is provided below. Your site will be safe and secure once you put these into action.&lt;/p&gt;

&lt;p&gt;But with the variety of alternatives, picking the best WordPress security plugins might be difficult.&lt;/p&gt;

&lt;p&gt;You may use just one plugin from this list. Running multiple plugins from this list simultaneously can lead to issues.&lt;/p&gt;

&lt;p&gt;The following is a list of several security plugins you can use for your WordPress website.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Sucuri Security
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--FhkI0eOp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://paper-attachments.dropboxusercontent.com/s_42F3ACCCF6A23C58242A76C77EC480AA74BADD5985E700414B4E39470DADA744_1668678989379_Screenshot%2BCapture%2B-%2B2022-11-17%2B-%2B10-56-07.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--FhkI0eOp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://paper-attachments.dropboxusercontent.com/s_42F3ACCCF6A23C58242A76C77EC480AA74BADD5985E700414B4E39470DADA744_1668678989379_Screenshot%2BCapture%2B-%2B2022-11-17%2B-%2B10-56-07.png" alt="https://ps.w.org/sucuri-scanner/assets/banner-772x250.png?rev=2498042" width="771" height="382"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When it comes to safeguarding your website, Sucuri Security is known for being among the best and most complete plugins available. It provides:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;File monitoring &lt;/li&gt;
&lt;li&gt;Malware scanning
&lt;/li&gt;
&lt;li&gt;Activity auditing (front-end scans for free or server-level scanning in the premium version)&lt;/li&gt;
&lt;li&gt;A web application firewall (WAF) &lt;/li&gt;
&lt;li&gt;Security alerts (premium version only)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Most significantly, they provide free virus cleanup for your WordPress site if it becomes infected. They will even clean up a website that has already been infected with viruses.&lt;/p&gt;

&lt;p&gt;See the full Sucuri review to find out more about how it protects your website.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Wordfence  Security
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--icj4HS5r--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://paper-attachments.dropboxusercontent.com/s_42F3ACCCF6A23C58242A76C77EC480AA74BADD5985E700414B4E39470DADA744_1668609837320_Screenshot%2BCapture%2B-%2B2022-11-16%2B-%2B15-43-36.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--icj4HS5r--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://paper-attachments.dropboxusercontent.com/s_42F3ACCCF6A23C58242A76C77EC480AA74BADD5985E700414B4E39470DADA744_1668609837320_Screenshot%2BCapture%2B-%2B2022-11-16%2B-%2B15-43-36.png" alt="https://ps.w.org/wordfence/assets/banner-772x250.jpg?rev=2124102" width="754" height="408"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Wordfence Security is a different preference when it comes to comprehensive security plugins. Similar features of Sucuri are available here, such as:&lt;/p&gt;

&lt;p&gt;Malware scanning to verify plugins, themes, and files before they are uploaded. Two-factor authentication (2FA) and login limitations to prevent brute force attacks. &lt;/p&gt;

&lt;p&gt;A WAF that prevents dangerous traffic before it assaults your site.&lt;/p&gt;

&lt;p&gt;Live traffic and analytics tracking in real-time&lt;/p&gt;

&lt;p&gt;Wordfence is also simple to use and reasonably priced. The WAF is one of the features on the above list that is free. For $99 a year, the premium edition of this plugin offers additional capabilities including spam prevention and more frequent checks.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. MalCare Security
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--jBi8s6Yj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://paper-attachments.dropboxusercontent.com/s_42F3ACCCF6A23C58242A76C77EC480AA74BADD5985E700414B4E39470DADA744_1668610041163_Screenshot%2BCapture%2B-%2B2022-11-16%2B-%2B15-47-02.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--jBi8s6Yj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://paper-attachments.dropboxusercontent.com/s_42F3ACCCF6A23C58242A76C77EC480AA74BADD5985E700414B4E39470DADA744_1668610041163_Screenshot%2BCapture%2B-%2B2022-11-16%2B-%2B15-47-02.png" alt="https://ps.w.org/malcare-security/assets/banner-772x250.png?rev=2297655" width="760" height="399"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The greatest malware remover and scanner are presented next. MalCare Security, the only tool we've featured, can help you remove an attack's traces with just one click, but you'll need the premium version to do so. One of its qualities is:&lt;/p&gt;

&lt;p&gt;Firewall protection&lt;/p&gt;

&lt;p&gt;Remote malware scanning that won't put too much strain on your server&lt;/p&gt;

&lt;p&gt;Elimination of malware with a single click&lt;/p&gt;

&lt;p&gt;Developing tools like client reports and white labeling&lt;/p&gt;

&lt;p&gt;Basic screening is free, but features like one-click virus removal and white-labeling are only available with the premium version. The least expensive licenses are $99 per year.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. iThemes Security
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Wze6gFX9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://paper-attachments.dropboxusercontent.com/s_42F3ACCCF6A23C58242A76C77EC480AA74BADD5985E700414B4E39470DADA744_1668610197179_Screenshot%2BCapture%2B-%2B2022-11-16%2B-%2B15-48-57.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Wze6gFX9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://paper-attachments.dropboxusercontent.com/s_42F3ACCCF6A23C58242A76C77EC480AA74BADD5985E700414B4E39470DADA744_1668610197179_Screenshot%2BCapture%2B-%2B2022-11-16%2B-%2B15-48-57.png" alt="https://ps.w.org/better-wp-security/assets/banner-772x250.png?rev=2698018" width="772" height="369"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;iThemes Security is another well-known brand in WordPress security plugins. This plugin, along with the first three, is one of the most dependable and well-liked among WordPress users. It will grant you access to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Strong password enforcement for all users -&lt;/li&gt;
&lt;li&gt;Malware scanning &lt;/li&gt;
&lt;li&gt;404 error detection
&lt;/li&gt;
&lt;li&gt;Brute force attack prevention&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Additional security features that are included in iThemes Security Pro include two-factor authentication, more thorough malware scans, Google reCAPTCHAs, and more. At $80 a year, it's also the least expensive premium plugin we've mentioned thus far.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. All in One WP Security &amp;amp; Firewall
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--eGVTFwD3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://paper-attachments.dropboxusercontent.com/s_42F3ACCCF6A23C58242A76C77EC480AA74BADD5985E700414B4E39470DADA744_1668610615623_Screenshot%2BCapture%2B-%2B2022-11-16%2B-%2B15-56-42.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--eGVTFwD3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://paper-attachments.dropboxusercontent.com/s_42F3ACCCF6A23C58242A76C77EC480AA74BADD5985E700414B4E39470DADA744_1668610615623_Screenshot%2BCapture%2B-%2B2022-11-16%2B-%2B15-56-42.png" alt="https://ps.w.org/all-in-one-wp-security-and-firewall/assets/banner-772x250.png?rev=2798307" width="768" height="390"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here are a few plugins that are a little less well-known: All in One WP Security &amp;amp; Firewall. Although it makes a strong assertion in its name, the feature list backs it up. Among the highlights are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A feature called "Login Lockdown" that guards against brute-force attacks&lt;/li&gt;
&lt;li&gt;Backups, file editing, and file restoration&lt;/li&gt;
&lt;li&gt;A file change detection scanner - Firewall defense&lt;/li&gt;
&lt;li&gt;Front-end copy protection; prevention of comment spam&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Additionally, this plugin is free. Since there is no premium edition, you may access some of the more well-liked features without having to pay a significant price.&lt;/p&gt;

&lt;h1&gt;
  
  
  Conclusion
&lt;/h1&gt;

&lt;p&gt;We have reached the end of this tutorial; hopefully, you have gained some insight. We were able to learn what a security plugin is and about several key security plugins you can employ for your WordPress website during the session.&lt;/p&gt;

&lt;p&gt;I'll see you later, have fun!&lt;/p&gt;

&lt;h1&gt;
  
  
  bout the Author
&lt;/h1&gt;

&lt;p&gt;Jennifer Eze kick-started her journey as a software engineer in 2021. Over the years, she has grown full-blown skills in JavaScript, PHP, HTML &amp;amp; CSS, and more.&lt;/p&gt;

&lt;p&gt;she is freelancing, building clients' websites, and writing technical tutorials teaching others how to do what she does.&lt;/p&gt;

&lt;p&gt;Jennifer Eze is open and available to hear from you. You can reach her   &lt;a href="https://www.linkedin.com/in/jennifer-eze-969272239/"&gt;LinkedIn&lt;/a&gt;, &lt;a href="https://github.com/nnekajenny"&gt;Github&lt;/a&gt;, or her &lt;a href="https://nnekajenny.github.io/"&gt;website&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>security</category>
      <category>wordpress</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Building An Ecommerce Site With WordPress</title>
      <dc:creator>Jennifer Eze</dc:creator>
      <pubDate>Wed, 26 Oct 2022 12:42:20 +0000</pubDate>
      <link>https://forem.com/nnekajenny/get-to-know-about-proxycurl-1ec8</link>
      <guid>https://forem.com/nnekajenny/get-to-know-about-proxycurl-1ec8</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4ostHY98--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dc0iwwqqezp6ddm8i806.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4ostHY98--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dc0iwwqqezp6ddm8i806.jpg" alt="https://images.pexels.com/photos/6214471/pexels-photo-6214471.jpeg?auto=compress&amp;amp;cs=tinysrgb&amp;amp;w=600" width="640" height="960"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Many people dream of creating their own companies and running their retail locations. A brick-and-mortar business, however, is more expensive and harder to start and run. However, anyone may launch an online store and begin selling their products there.&lt;/p&gt;

&lt;p&gt;All you need is a well-designed, fully functional eCommerce website to advertise your products to a broad range of consumers. The market reach of selling products through a storefront is limited, and sales depend on the stock on hand and the operating hours.&lt;/p&gt;

&lt;p&gt;On the other hand, selling goods online allows you to do so from anywhere in the world.&lt;br&gt;
Using Elementor, WordPress, and WooCommerce, you can build a fully functional and reasonably priced eCommerce website without any coding experience.&lt;/p&gt;

&lt;p&gt;This article will discuss the very first stages involved in setting up a WordPress e-commerce website.&lt;/p&gt;

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

&lt;p&gt;WordPress started as a blogging platform, but it has since developed into a powerful website builder that can create any type of eCommerce store.&lt;/p&gt;

&lt;p&gt;WordPress is a system for managing content (CMS for short). Creating and running websites, works well. Blogs, business websites, personal websites, and online shopping all might benefit from WordPress.&lt;/p&gt;

&lt;p&gt;Because it runs online, you can use this platform without downloading any desktop software. It can be used to build and host websites. The template system and plugin architecture of WordPress allow you to customize any website to your business, blog, portfolio, or online store.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is an eCommerce site?
&lt;/h2&gt;

&lt;p&gt;A website that allows users to conduct online transactions for the purchase and sale of physical goods, services, and digital products. Customers can use an online store to buy products and services directly from a company regardless of their location.&lt;/p&gt;

&lt;p&gt;An informative website provides information on a company's products and services. Customers can buy products and services directly from a company no matter where they are by using e-commerce websites.&lt;/p&gt;

&lt;p&gt;E-commerce is an umbrella term for the sale of goods or services over the internet. In its most basic form, e-commerce is the electronic transfer of funds and data between two or more parties. With the introduction of electronic commerce in the 1960s, this type of business has advanced significantly since its inception.&lt;/p&gt;

&lt;p&gt;When it comes to online sales of goods and services, every e-commerce site must have a few basic characteristics.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Taking orders&lt;/li&gt;
&lt;li&gt;Processing payments&lt;/li&gt;
&lt;li&gt;Handling shipping and logistics
&lt;/li&gt;
&lt;li&gt;providing customer service .&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;E-commerce can be classified into three categories:&lt;/p&gt;

&lt;p&gt;Business-to-business (websites such as Shopify) &lt;/p&gt;

&lt;p&gt;Business-to-consumer (websites such as Amazon) &lt;br&gt;
Consumer-to-consumer (websites such as eBay) &lt;/p&gt;

&lt;h2&gt;
  
  
  Types of products sold via e-commerce
&lt;/h2&gt;

&lt;p&gt;Vendors can offer a wide range of products thanks to the element of e-digital commerce, some of which couldn't be offered in a physical store.&lt;/p&gt;

&lt;p&gt;Physical things&lt;br&gt;
Among the tangible commodities that can be stored in a warehouse are supplies, clothing, furnishings, food, and furniture. Vendors post their products on their e-commerce websites for buyers to like, save, or purchase. The vendor sends the items to the customer once they make a purchase.&lt;/p&gt;

&lt;p&gt;Services&lt;br&gt;
Services including consultations, repairs, classes, tutoring, and more are frequently sold in online marketplaces. Whether you want to learn how to build a website or are looking for a certified trainer to assist your dog to overcome a bad barking habit, there is a ton of information available online.&lt;/p&gt;

&lt;p&gt;Electrical goods&lt;br&gt;
digital products, including &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Flashlights and batteries&lt;/li&gt;
&lt;li&gt;Wires and cable reels&lt;/li&gt;
&lt;li&gt;Ceiling Fans and Related Items&lt;/li&gt;
&lt;li&gt;Breakers, Fuses, and Load Centers&lt;/li&gt;
&lt;li&gt;Doorbells, Chimes, and Related Items&lt;/li&gt;
&lt;li&gt;Electrical Accessories and Boxes&lt;/li&gt;
&lt;li&gt;Terminals, tape, and electrical connectors&lt;/li&gt;
&lt;li&gt;Extension cords, outlets, and other accessories&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What should an Ecommerce website include?
&lt;/h2&gt;

&lt;p&gt;Before we begin with our guidance on building the site, we must first understand the fundamental elements of an eCommerce website and its function. The following pages and elements are required on every eCommerce website;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Landing page&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The homepage determines how well your online store does. In the hero image, which should also have a compelling statement and the name of the business, you should highlight your most recent products or images of satisfied customers.&lt;br&gt;
Usability is the most crucial component of an eCommerce website. Customers must easily and swiftly find the items they're looking for, and the checkout process must be straightforward.&lt;br&gt;
The site should therefore emphasize the best product categories, best-selling items, and best deals.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Categories&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;How you categorize your products should be thought out carefully. This can be calculated using data from market research, search volume, and industry norms. There should be a lobby page for each category that includes a description of the products that are offered, a neat grid, images of the products, and pricing details.&lt;/p&gt;

&lt;p&gt;For a quicker checkout, you should also place a "Add to Cart" CTA beneath each product.&lt;/p&gt;

&lt;p&gt;An eCommerce store's navigation is crucial, so when you upload your various products, be sure to tag and categorize them correctly. This will ensure that when a user searches for a specific item, like a green heeling shoes, they are presented with the appropriate product. Make sure each category page has a filter as well, so users may quickly find what they want.&lt;/p&gt;

&lt;p&gt;** Product Pages**&lt;br&gt;
Each product should have a page with a description, price, image, "Add to Cart" button, and any more pertinent details like size, weight, etc. Additionally, you must include the shipment and delivery information.&lt;/p&gt;

&lt;p&gt;You should include a "People also buy" carousel with pertinent connected products to upsell further items. A product page should also include customer reviews, stock levels, inventory information, and stock evaluations.&lt;/p&gt;

&lt;p&gt;On the product pages, media galleries, interactive demos, and instructional videos may be useful depending on what you're selling.&lt;/p&gt;

&lt;p&gt;** Checkout Process**&lt;br&gt;
The checkout process must be efficient, fluid, and completely streamlined. The funnel consists of:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Shopping cart:&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;Here, customers keep the goods they want to buy. The cart should have a CTA that says "Checkout" and directs the user to the payment page, as well as the total cost of all the selected items.&lt;/p&gt;

&lt;p&gt;Checkout: The checkout page should include a "Pay Now" CTA, a list of all accepted payment options, as well as information about delivery fees and timetables.&lt;/p&gt;

&lt;p&gt;Confirmation:&lt;/p&gt;

&lt;p&gt;After finishing the checkout process, the consumer should be directed to a confirmation page, which should thank them for their purchase and verify the order's products and payment.&lt;br&gt;
** Blog**&lt;/p&gt;

&lt;p&gt;Finally, a blog is necessary for your online store. Along with selling the products on your website, you also need to tell potential buyers about the benefits of your offerings. Publishing top-notch blog posts on your products not only help to promote your website in search engine results but also increases traffic to your website and, ultimately, sales.&lt;/p&gt;

&lt;h2&gt;
  
  
  A Step-by-Step Guide to Creating an eCommerce Website
&lt;/h2&gt;

&lt;p&gt;To sell your products using WordPress, you'll need to buy a domain, sign up for hosting, and install WordPress. This part of the article will walk you through the entire process and more!&lt;/p&gt;

&lt;p&gt;Step 1: Select a domain name.&lt;/p&gt;

&lt;p&gt;The first steps you should take when starting a website are to obtain a domain name and a web hosting service. Visitors can reach your website by entering your domain name.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2: Select a web hosting plan.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You can store all of your website's files on the hosting plan. WordPress and the recommended add-ons will be installed on your server.&lt;br&gt;
WordPress hosting is fantastic because it is specifically designed for the functionality, security requirements, installation, and onboarding processes of WordPress. Because there are so many WordPress hosts to choose from, your decision will be influenced by a number of factors.&lt;/p&gt;

&lt;p&gt;When it comes to hosting plans, there are budget-friendly shared hosting packages, pricey managed WordPress hosting, and opulent dedicated servers. To make your life easier, we offer a variety of hosting packages that are Elementor-compatible.&lt;br&gt;
After purchasing a hosting service, you will receive a welcome email with all of your account information after purchasing a hosting service. Locate the login link to your hosting account area and log in with your username and password&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3: Install WordPress  &amp;amp; a suitable theme&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The process for installing WordPress is as follows. After logging into your hosting account, go to the My Accounts tab and enter your cPanel password. Click the WordPress icon in the cPanel auto-installers area to access the installation instructions.&lt;/p&gt;

&lt;p&gt;Visit your WordPress website once it has been set up. Enter your username and password in the corresponding fields to enter your WordPress dashboard, then click "Log In."&lt;br&gt;
(Text linking) See our in-depth guide to installing WordPress here: Setting up WordPress&lt;/p&gt;

&lt;p&gt;After downloading and installing the WordPress software, you can use the WordPress CMS platform. Thanks to WordPress' adaptability, you may choose from tons of thousands of styles, themes, and plugins.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4: Install WooCommerce&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;WooCommerce is a WordPress-based open-source eCommerce platform. It transforms a standard WordPress theme into an eCommerce site with all of the extra features you need to increase the profitability of your online business, such as secure payment processing and customizable shipping options.&lt;/p&gt;

&lt;p&gt;It also ensures that your company is mobile device responsive and that a variety of additional services, such as email marketing, newsletter subscriptions, customer incentives, and discount functionality, are available.&lt;/p&gt;

&lt;p&gt;To install WooCommerce, navigate to Plugins &amp;gt; Add New and search for "WooCommerce." After clicking "Install Now" and "Activate Now" on the plugin's location page, the WooCommerce Wizard will launch.&lt;/p&gt;

&lt;p&gt;Go through a WooCommerce tutorial to learn how to use the plugin.&lt;br&gt;
&lt;strong&gt;Step 5: Install Elementor&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Installing Elementor, a visual website builder that makes creating WordPress websites much easier is the next step. WordPress occasionally has a reputation for being a frightening program that is difficult for beginners to use. However, you can quickly, effectively, and comfortably develop your site by utilizing a visual site builder.&lt;/p&gt;

&lt;p&gt;Go to Plugins &amp;gt; Add New in the WordPress dashboard. Click Install after searching for Elementor Website Builder. Click Activate after installing Elementor.&lt;br&gt;
Even though Elementor is free, to fully utilize its potential you may also need Elementor Pro, depending on the features you choose. Purchase the Pro version of the plugin from Elementor.com, install, and activate it as described above. After installing Elementor Pro, you'll need to enter your license by going to your WordPress dashboard and navigating to Elementor &amp;gt; License.&lt;/p&gt;

&lt;p&gt;Because you'll be designing your entire website with Elementor Theme Builder and your template kit, you won't need to look for any design components in your active WordPress theme.&lt;/p&gt;

&lt;p&gt;If you just want the lightest, most performance-focused base, the Hello theme from Elementor is what you need.&lt;br&gt;
To begin, look for "Hello Elementor" in the Appearance Themes Add New section. Then, install and activate the theme.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 6: Choose an Ecommerce Template Kit&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;After installing Elementor, the final component is an eCommerce website template kit. A full WordPress website requires individual sets of the following templates: Header,&lt;/p&gt;

&lt;p&gt;Footer, 404 page, blog archive, individual post, individual page, popup, and other features are available. Our Template Library contains websites in a variety of industries, with each kit meeting the needs of our user base. Portfolio websites, digital agencies, magazines, beauty salons, and many more are examples.&lt;/p&gt;

&lt;p&gt;Elementor template kits are also available on creative marketplaces such as Envato and ThemeForest.&lt;/p&gt;

&lt;p&gt;After installing Elementor, the final component is an eCommerce website template kit. A full WordPress website requires individual sets of the following templates: Header, Footer, 404 page, blog archive, individual post, individual page, popup, and other features are available. &lt;/p&gt;

&lt;p&gt;Our Template Library contains websites in a variety of industries, with each kit meeting the needs of our user base. Portfolio websites, digital agencies, magazines, beauty salons, and many more are examples.&lt;/p&gt;

&lt;p&gt;Elementor templates are also available on creative marketplaces such as Envato and ThemeForest.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--STznDIBE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://paper-attachments.dropboxusercontent.com/s_053538DA7BF44F9DF82B63417FACFE02851F65E4AC00BFDB75E405888F0E5B48_1668240162159_Screenshot%2BCapture%2B-%2B2022-11-12%2B-%2B09-01-42.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--STznDIBE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://paper-attachments.dropboxusercontent.com/s_053538DA7BF44F9DF82B63417FACFE02851F65E4AC00BFDB75E405888F0E5B48_1668240162159_Screenshot%2BCapture%2B-%2B2022-11-12%2B-%2B09-01-42.png" alt="https://www.dropbox.com/paper/ep/redirect/image?url=https%3A%2F%2Fpaper-attachments.dropboxusercontent.com%2Fs_053538DA7BF44F9DF82B63417FACFE02851F65E4AC00BFDB75E405888F0E5B48_1668240162159_Screenshot%2BCapture%2B-%2B2022-11-12%2B-%2B09-01-42.png&amp;amp;hmac=sqOcRZ4V9T4zZ5ufOtxiWqSumjG7vO5s9fHrAjD9m8w%3D&amp;amp;width=1490" width="791" height="458"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;With Elementor's template kits, creating a well-designed and fully-functional ecommerce website can be a smooth and seamless process. Simply download and install Elementor onto your WordPress site, select your desired template kit, customize, and publish.&lt;/p&gt;

&lt;h2&gt;
  
  
  About the Author
&lt;/h2&gt;

&lt;p&gt;I am Jenifer Eze, an enthusiastic developer with a passion for JavaScript, PHP, HTML &amp;amp; CSS.&lt;br&gt;
I work as a freelancer, building websites for clients, and love writing technical tutorials to teach&lt;br&gt;
others what I do. I am eager to hear from you. Reach me on &lt;a href="https://www.linkedin.com/in/jennifer-eze-969272239/"&gt;LinkedIn&lt;/a&gt;, (&lt;a href="https://github.com/nnekajenny"&gt;https://github.com/nnekajenny)GitHub&lt;/a&gt;GitHub), or my &lt;a href="https://nnekajenny.github.io/"&gt;website&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>webdev</category>
      <category>wordpress</category>
      <category>ecommerce</category>
    </item>
    <item>
      <title>Get To Know WordPress And Its Top Five Plugins</title>
      <dc:creator>Jennifer Eze</dc:creator>
      <pubDate>Fri, 23 Sep 2022 12:04:26 +0000</pubDate>
      <link>https://forem.com/nnekajenny/get-to-know-wordpress-and-its-top-five-plugins-4663</link>
      <guid>https://forem.com/nnekajenny/get-to-know-wordpress-and-its-top-five-plugins-4663</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--WmKdoQsD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://paper-attachments.dropbox.com/s_643ABF1C724A38416DCE92AD8F9F760453BBA4C590CBB7883AAB90EB373960F7_1663842590352_Screenshot%2BCapture%2B-%2B2022-09-22%2B-%2B11-29-16.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--WmKdoQsD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://paper-attachments.dropbox.com/s_643ABF1C724A38416DCE92AD8F9F760453BBA4C590CBB7883AAB90EB373960F7_1663842590352_Screenshot%2BCapture%2B-%2B2022-09-22%2B-%2B11-29-16.png" alt="photo by pexel.com" width="740" height="317"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Creating a new website is a difficult task. You want to create something that your customers will enjoy, but you don't want the setup to take months or to be so technical that every single copy update necessitates the assistance of a developer.&lt;/p&gt;

&lt;p&gt;A software that allows you to create websites without coding is becoming more popular.&lt;br&gt;
WordPress does not require a degree in computer engineering. It is intended for non-technical users. The user interface is  straightforward.&lt;/p&gt;

&lt;p&gt;WordPress has grown into a thriving community of developers, designers, and bloggers. WordPress redesigned its user experience in 2017 with the introduction of a new editor called Gutenberg.&lt;/p&gt;

&lt;p&gt;WordPress 5.0 (Bebo), the most recent release, includes a new and improved showcase theme. &lt;/p&gt;

&lt;p&gt;"Why should I use WordPress?" is one of the most frequently asked questions. Isn't my website sufficient? Why should I switch to WordPress from another platform?&lt;/p&gt;

&lt;p&gt;If you're asking these questions, you've come to the right place.&lt;/p&gt;

&lt;p&gt;In this article, we will go over the top reasons for using WordPress. We'll also go over the different types of websites you can create with WordPress and highlight five of the best plugins available.&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--eLcvuSZ4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://paper-attachments.dropbox.com/s_643ABF1C724A38416DCE92AD8F9F760453BBA4C590CBB7883AAB90EB373960F7_1663842699508_Screenshot%2BCapture%2B-%2B2022-09-22%2B-%2B11-31-06.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--eLcvuSZ4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://paper-attachments.dropbox.com/s_643ABF1C724A38416DCE92AD8F9F760453BBA4C590CBB7883AAB90EB373960F7_1663842699508_Screenshot%2BCapture%2B-%2B2022-09-22%2B-%2B11-31-06.png" alt="photo by kinsta.com" width="714" height="443"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;WordPress is an extremely capable content management system. A content management system (CMS) provides a simple interface for users to add and edit website content. The content management system (CMS) is used to create and optimize all content on a WordPress site, from the text to the visual elements.&lt;/p&gt;

&lt;p&gt;This single piece of software serves as the website's heart, giving users the tools they need to update the look of their digital content without any technical knowledge.&lt;/p&gt;

&lt;p&gt;WordPress is a free and open-source website creation platform based on PHP that uses a MySQL database and supports HTTPS. A plugin architecture and a template system known as Themes in WordPress are among the features. Consider it your website's operating system.&lt;/p&gt;

&lt;h2&gt;
  
  
  What kind of sites can WordPress make?
&lt;/h2&gt;

&lt;p&gt;WordPress was previously used primarily to create blogs rather than more traditional websites. That hasn't happened in a long time. Because of changes to the core code and WordPress' massive ecosystem of plugins and themes, you can now create any type of website with WordPress.&lt;br&gt;
WordPress, for example, not only powers a large number of business sites and blogs, but it is also the most commonly used platform for creating an eCommerce store! WordPress allows you to make the following:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;eCommerce stores - &lt;/li&gt;
&lt;li&gt;Blogs - &lt;/li&gt;
&lt;li&gt;Portfolios - &lt;/li&gt;
&lt;li&gt;Resumes - &lt;/li&gt;
&lt;li&gt;Forums - &lt;/li&gt;
&lt;li&gt;Social networks - &lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Membership sites -...&lt;/p&gt;

&lt;p&gt;Almost anything else you can think of.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Why are there two different versions of WordPress?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;If you typed "WordPress" into Google, you'd probably get two different results:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://www.wordpress.com"&gt;www.wordpress.com&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://www.wordpress.org"&gt;www.wordpress.org&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So, why are there two distinct versions of WordPress?&lt;br&gt;
The short answer is that there are no two versions of WordPress; WordPress.com and WordPress.org are distinct entities, and there is only one "WordPress." But, given the nature of the subject, you are not alone in your confusion.&lt;br&gt;
Let's go over it quickly:&lt;/p&gt;

&lt;h2&gt;
  
  
  What is WordPress “.org”?
&lt;/h2&gt;

&lt;p&gt;WordPress.org is the home of the open-source, free WordPress software.&lt;br&gt;
Most people refer to the open-source WordPress software and project, also known as WordPress.org, when they say "WordPress."&lt;/p&gt;

&lt;p&gt;Furthermore, everything we've said in this post applies to WordPress.org. While there are some similarities, WordPress.com is not the same thing.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is WordPress “.com”?
&lt;/h2&gt;

&lt;p&gt;WordPress.com is a for-profit website creation service based on the open-source software available at WordPress.org. WordPress.com is one way to create a site using the WordPress.org software, but access is limited unless you pay for the most expensive plans.&lt;/p&gt;

&lt;p&gt;WordPress.com is not "WordPress," it simply makes use of WordPress.&lt;br&gt;
To put it another way, all WordPress.com sites use the WordPress.org software, but not all WordPress.org sites are on WordPress.com. In fact, most WordPress sites are not hosted on WordPress.com.&lt;/p&gt;

&lt;p&gt;For a more detailed look, check out &lt;a href="https://www.codeinwp.com/blog/wordpress-org-vs-wordpress-com/"&gt;our full WordPress.org vs WordPress.com comparison&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Should You Use WordPress.
&lt;/h2&gt;

&lt;p&gt;WordPress is a popular blogging and business platform. In fact, WordPress powers more than 40% of all websites on the internet. Here are a few of the reasons WordPress is so popular:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; &lt;strong&gt;WordPress is open-source.&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;WordPress is easy to use for a beginner.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;WordPress is SEO-friendly.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;WordPress supports all media types.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;WordPress is secure.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;WordPress is free to use.&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What are plugins?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;You Can Extend WordPress Using Themes and Plugins&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--X8pXCYIc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://paper-attachments.dropbox.com/s_643ABF1C724A38416DCE92AD8F9F760453BBA4C590CBB7883AAB90EB373960F7_1663845865846_Screenshot%2BCapture%2B-%2B2022-09-22%2B-%2B12-23-54.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--X8pXCYIc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://paper-attachments.dropbox.com/s_643ABF1C724A38416DCE92AD8F9F760453BBA4C590CBB7883AAB90EB373960F7_1663845865846_Screenshot%2BCapture%2B-%2B2022-09-22%2B-%2B12-23-54.png" alt="photo by dreamhost.com" width="766" height="339"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The core WordPress platform contains a plethora of useful features that make creating and maintaining a website simple — even for complete beginners. It can only do so much, however. You might find that you need more options or functionality than the WordPress core can provide on its own, in which case plugins come in handy.&lt;/p&gt;

&lt;p&gt;WordPress plugins are small pieces of software that you can download and install on your website. They provide extra features, which could be minor tweaks or an entire suite of options:&lt;/p&gt;

&lt;p&gt;Do you want to include a form or a free Google font on your WordPress website? You appear to require a good plugin.&lt;br&gt;
Plugins are a necessary component of any WordPress site. Plugins extend and improve&lt;/p&gt;

&lt;h2&gt;
  
  
  W*&lt;em&gt;hy Plugins Are Useful Additions to Your WordPress Site&lt;/em&gt;*
&lt;/h2&gt;

&lt;p&gt;WordPress.org has nearly 60,000 available plugins. Indeed, plugins are one of the primary reasons for using WordPress!&lt;/p&gt;

&lt;p&gt;Plugins exist that can do almost anything you want with your website. Some plugins, such as those used to backup your WordPress site, are primarily used for administrative purposes. Others can change how your website appears to visitors.&lt;/p&gt;

&lt;p&gt;However, you should be cautious when adding plugins to your site because many of them are not performance-optimized and can cause your site to slow down. Visitors who use a cellular network or a slow connection may have a poor experience.&lt;/p&gt;

&lt;p&gt;Plugins are created by independent developers. When options are submitted to WordPress.org, they are reviewed to ensure that they adhere to the WordPress repository's best coding practices and guidelines. Select them wisely.&lt;/p&gt;

&lt;h2&gt;
  
  
  Five Top Plugins WordPress Can Offer.
&lt;/h2&gt;

&lt;p&gt;Although plugins can be found by searching directories, storefronts, and developer websites, the thousands of options available can be overwhelming. To help you decide, we've compiled a list of our favorites.&lt;/p&gt;

&lt;p&gt;The following plugins are highly recommended for both novice and advanced users. Each tool satisfies the criteria discussed in the preceding section and comes with its own set of features.&lt;/p&gt;

&lt;p&gt;To summarize, if you're creating a new WordPress website or updating an existing one, these are the first five plugins you should investigate!&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Search Engine Optimization (SEO) is a strategy that, when implemented correctly, can help your site rank higher in search engines such as Google and Bing. Its complicated rules and guidelines, on the other hand, can be difficult to remember. 
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ZdJ4ge-g--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://paper-attachments.dropbox.com/s_643ABF1C724A38416DCE92AD8F9F760453BBA4C590CBB7883AAB90EB373960F7_1663848263373_Screenshot%2BCapture%2B-%2B2022-09-22%2B-%2B13-04-07.png" alt="photo by dreamhost.com" width="761" height="369"&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Key Features:
&lt;/h2&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;- Use titles, URLs, and meta descriptions to improve your search engine results.

- Examine your pages and posts to identify areas for improvement.

- Choose which of your site's pages appear in Google search results.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;Yoast SEO is great because it employs a simple traffic light system. A green light indicates that your post or page is ready to go, whereas yellow and red indicate that more work is needed. This is the same procedure for improving the SEO or readability of your post.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Price&lt;/strong&gt;: The core WordPress plugin is free, but &lt;a href="https://yoast.com/wordpress/plugins/seo/"&gt;Yoast SEO Premium&lt;/a&gt; costs $99 per year.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Jetpack
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://wordpress.org/plugins/jetpack/"&gt;Jetpack&lt;/a&gt; is an all-in-one plugin created by the developers of WordPress (&lt;a href="https://automattic.com/"&gt;Automattic&lt;/a&gt;). It provides a set of features that can be activated module by module. Contact forms, site security, user engagement options, site backups, and much more are among the modules available.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--pf4MKD6O--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://paper-attachments.dropbox.com/s_643ABF1C724A38416DCE92AD8F9F760453BBA4C590CBB7883AAB90EB373960F7_1663848440015_Screenshot%2BCapture%2B-%2B2022-09-22%2B-%2B13-07-01.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--pf4MKD6O--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://paper-attachments.dropbox.com/s_643ABF1C724A38416DCE92AD8F9F760453BBA4C590CBB7883AAB90EB373960F7_1663848440015_Screenshot%2BCapture%2B-%2B2022-09-22%2B-%2B13-07-01.png" alt="photo by dreamhost.com" width="776" height="346"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Features:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;One-click restores and automatic backups&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Protection against brute force attacks&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Cutting-edge site analytics and social sharing tools&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Almost every website owner can benefit from Jetpack's essential security features. The free plugin provides' set and forget' brute force protection as well as downtime monitoring to ensure your site runs at peak performance.&lt;/p&gt;

&lt;p&gt;While not as comprehensive as Yoast SEO, Jetpack's offerings are ideal for those who are just starting out with SEO. It lets you customize the look of your titles, taglines, posts, pages, and archives in search engines. You can also write your own meta description and see how it will appear on social media.&lt;/p&gt;

&lt;p&gt;Jetpack Professional is normally $299 per year, but it is included free with DreamPress Plus and DreamPress Pro hosting.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Akismet
&lt;/h2&gt;

&lt;p&gt;Eradicating spam is important for protecting your website, so it’s important to find tools that monitor comments and emails. Akismet  is another Automattic plugin that removes malicious links and irrelevant content from your site by comparing it to a global, constantly updated database:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--o3istAYz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://paper-attachments.dropbox.com/s_643ABF1C724A38416DCE92AD8F9F760453BBA4C590CBB7883AAB90EB373960F7_1663848604170_Screenshot%2BCapture%2B-%2B2022-09-22%2B-%2B13-09-49.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--o3istAYz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://paper-attachments.dropbox.com/s_643ABF1C724A38416DCE92AD8F9F760453BBA4C590CBB7883AAB90EB373960F7_1663848604170_Screenshot%2BCapture%2B-%2B2022-09-22%2B-%2B13-09-49.png" alt="photo by dreamhost.com" width="802" height="355"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Features:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Checks all comments on your site automatically and filters out potential spam.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Enables you to review what has been flagged as spam and make any necessary changes to the plugin.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Inspects contact form submissions to ensure genuine responses&lt;/p&gt;

&lt;p&gt;While you can manually moderate your comments for spam, this is a time-consuming process.       With Akismet, you can have a dependable solution that automatically blocks 99.9% of spam.           Visitors can thus interact with your content without having to navigate through irrelevant                 advertisements or repeat messages.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Price:&lt;/strong&gt; The plugin is free for personal bloggers, but a subscription is required if your site is a             commercial venture. The good news is that you can get access to this through one of our                 DreamPress plans.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  4. WooCommerce
&lt;/h2&gt;

&lt;p&gt;The ability to create an e-commerce store is not included by default in the core WordPress platform. This is where WooCommerce comes into play. This plugin allows you to set up an online store and begin selling physical and digital goods.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--5iaukoZi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://paper-attachments.dropbox.com/s_643ABF1C724A38416DCE92AD8F9F760453BBA4C590CBB7883AAB90EB373960F7_1663848830544_Screenshot%2BCapture%2B-%2B2022-09-22%2B-%2B13-13-36.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--5iaukoZi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://paper-attachments.dropbox.com/s_643ABF1C724A38416DCE92AD8F9F760453BBA4C590CBB7883AAB90EB373960F7_1663848830544_Screenshot%2BCapture%2B-%2B2022-09-22%2B-%2B13-13-36.png" alt="photo by dreamhost.com" width="757" height="361"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Features:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Personalize your storefront by using themes and product blocks.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Offer a variety of payment and shipping options.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Make use of extensions to gain access to a wide range of features.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When you launch your WooCommerce-powered online store, you can track its performance using a central dashboard that you can customize. It even has a mobile app so you can manage your sales while you're on the go.&lt;br&gt;
Price: The core plugin is free, but its developers (the folks at Automattic) also offer a slew of premium extensions that can enhance your store's functionality.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Elementor
&lt;/h2&gt;

&lt;p&gt;If you’re just starting your website, you can benefit from using a page builder plugin such as &lt;a href="https://wordpress.org/plugins/elementor/"&gt;Elementor&lt;/a&gt;.  This tool includes a drag-and-drop editor for designing the front end of your website. To expedite the creation process, you can import pre-designed pages, blocks, and templates.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4LZmKMOv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://paper-attachments.dropbox.com/s_643ABF1C724A38416DCE92AD8F9F760453BBA4C590CBB7883AAB90EB373960F7_1663849087038_Screenshot%2BCapture%2B-%2B2022-09-22%2B-%2B13-17-52.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4LZmKMOv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://paper-attachments.dropbox.com/s_643ABF1C724A38416DCE92AD8F9F760453BBA4C590CBB7883AAB90EB373960F7_1663849087038_Screenshot%2BCapture%2B-%2B2022-09-22%2B-%2B13-17-52.png" alt="photo by dreamhost.com" width="790" height="355"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Features
&lt;/h2&gt;

&lt;p&gt;Over 40 free widgets - &lt;/p&gt;

&lt;p&gt;Improved performance with fewer CSS and JavaScript files&lt;/p&gt;

&lt;p&gt;Website kits and templates that are ready to use&lt;/p&gt;

&lt;p&gt;Elementor makes it simple to design your ideal website. The drag-and-drop editor is simple for beginners. Professionals, on the other hand, can benefit from the features of Elementor. CSS customization, animations, and motion effects&lt;/p&gt;

&lt;p&gt;Elementor has a free version, but Elementor Pro costs $49 per year. It comes with more than 300 templates, a theme builder, and premium support.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;It's been a pleasure demonstrating what WordPress is all about. Hopefully, you now understand what WordPress is and what it can do for you.&lt;/p&gt;

&lt;p&gt;If you are new to WordPress, you should read the 10-Step Guide to Setting Up a Website with WordPress.&lt;/p&gt;

&lt;p&gt;You may be a busy person who requires services to quickly build a website for your company or your business. If this describes you, please contact us right away for prompt professional assistance.&lt;/p&gt;

&lt;p&gt;Have a fantastic time until the next time.&lt;/p&gt;

&lt;h1&gt;
  
  
  About the Author
&lt;/h1&gt;

&lt;p&gt;I am Jenifer Eze, an enthusiastic developer with a passion for JavaScript,  Bootstrap, PHP, HTML &amp;amp; CSS.&lt;/p&gt;

&lt;p&gt;I work as a freelancer, building websites for clients, and love writing technical tutorials to teach others what I do. I am eager to hear from you. Reach me on &lt;a href="https://www.linkedin.com/in/jennifer-eze-969272239/"&gt;LinkedIn&lt;/a&gt;, &lt;a href="https://github.com/nnekajenny"&gt;Github&lt;/a&gt;, or my &lt;a href="https://nnekajenny.github.io/"&gt;website&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>tutorial</category>
      <category>codenewbie</category>
      <category>wordpress</category>
    </item>
    <item>
      <title>PHP | Regular Expressions</title>
      <dc:creator>Jennifer Eze</dc:creator>
      <pubDate>Thu, 22 Sep 2022 14:35:05 +0000</pubDate>
      <link>https://forem.com/nnekajenny/php-regular-expressions-4h32</link>
      <guid>https://forem.com/nnekajenny/php-regular-expressions-4h32</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Most programming languages involves data entry, developers frequently run into issues when data is gathered in free text fields. In today's application programming, regular expressions are practically ubiquitous.&lt;/p&gt;

&lt;p&gt;A popular open-source scripting language called PHP.  Text, HTML, CSS, JavaScript, and PHP code can all be found in PHP files.&lt;/p&gt;

&lt;p&gt;When searching for or replacing a string with a pattern, developers frequently use regular expressions, which are a fundamental component of PHP.&lt;/p&gt;

&lt;p&gt;This search pattern can be used to specify your search criteria when looking for information within a text. A regular expression can be a simple pattern or just one character.&lt;br&gt;
All kinds of text search and text replacement operations can be carried out using regular expressions.&lt;/p&gt;

&lt;p&gt;This lesson will teach you how regular expressions function as well as how to effectively use them in PHP for pattern matching.&lt;/p&gt;

&lt;p&gt;Let's dive into the world of regular expressions now, if you're ready.&lt;/p&gt;

&lt;h2&gt;
  
  
  What are Regular Expressions
&lt;/h2&gt;

&lt;p&gt;Regular Expressions, also referred to as "regex" or "RegExp," are formatted text strings that are used to search for patterns in text. A search pattern is made up of a string of characters.&lt;/p&gt;

&lt;p&gt;An efficient technique to describe a string pattern that matches a specific amount of text is through the use of regular expressions. You probably already know that PHP, an open-source language frequently used for building websites, offers regular expression functions as a crucial tool. &lt;br&gt;
Numerous other programming languages use regular expressions in a similar way to PHP. The same is true for other apps that offer regexes with different syntaxes. Regexes are used on huge files and strings by numerous contemporary languages and technologies.&lt;/p&gt;

&lt;p&gt;One of the most potent techniques for effective and efficient text processing and manipulation nowadays is the use of regular expressions. For instance, it can be used to find or replace matching strings within text content, check the accuracy of data format (such as name, email, phone number, etc.) entered by the user, and more.&lt;/p&gt;

&lt;p&gt;They merely define a specific search pattern as a text string and are nothing more than a pattern or a series of characters. They lay the groundwork for capabilities related to pattern matching.&lt;/p&gt;

&lt;p&gt;You can replace one string with another string, split a string into multiple chunks, and search for a certain string inside another string using regular expression.&lt;/p&gt;

&lt;p&gt;You can look for a specific string inside another string using regular expression. We can also split a string into many parts and replace one string with another string. They construct complex expressions by using the arithmetic operators&lt;br&gt;
(+, -, ^ ). They may assist you with things like validating IP addresses and email addresses, among others.&lt;/p&gt;

&lt;h2&gt;
  
  
  Advantages  of Regular Expressions
&lt;/h2&gt;

&lt;p&gt;Here are some benefits.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Regular expressions aid programmers in text string validation.&lt;/li&gt;
&lt;li&gt;It provides a potent tool for pattern recognition, analysis, and text string modification.&lt;/li&gt;
&lt;li&gt;Simple ways are offered to find the patterns by employing regexes functions.&lt;/li&gt;
&lt;li&gt;Regexes aid in the development of the HTML tag recognition system.&lt;/li&gt;
&lt;li&gt;Regexes are frequently used for spam filtration, password strength verification, form validation, and browser detection.&lt;/li&gt;
&lt;li&gt;It is useful in user input validation testing for user inputs such as IP address, email address, and mobile number.&lt;/li&gt;
&lt;li&gt;It assists in emphasizing the file's unique keywords based on the input or search result.&lt;/li&gt;
&lt;li&gt;Metacharacters let us design more intricate patterns&lt;/li&gt;
&lt;li&gt; Browser detection, spam filtration, determining the strength of passwords, and form validations are the main uses of regexes.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Operators in Regular Expressions
&lt;/h2&gt;

&lt;p&gt;Let us look into some of the operators in PHP regular expressions.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;##     Operator&lt;/th&gt;
&lt;th&gt;## Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;^&lt;/td&gt;
&lt;td&gt;It denotes the start of the string.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;$&lt;/td&gt;
&lt;td&gt;It denotes the end of the string.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;.&lt;/td&gt;
&lt;td&gt;It denotes almost any single character.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;()&lt;/td&gt;
&lt;td&gt;It denotes a group of expressions.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;[]&lt;/td&gt;
&lt;td&gt;It finds a range of characters for example [xyz] means x, y, or z.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;[^]&lt;/td&gt;
&lt;td&gt;It finds the items which are not in range for example [^abc] meas NOT a, ,b or c.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;– (dash)&lt;/td&gt;
&lt;td&gt;It finds for character range within the given item range for example [a-z] means a through z.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;(pipe)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;?&lt;/td&gt;
&lt;td&gt;It denotes zero or one of preceding character or item range.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;*&lt;/td&gt;
&lt;td&gt;It denotes zero or more the of preceding character or item range.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;+&lt;/td&gt;
&lt;td&gt;It denotes one or more of preceding character or item range.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;{n}&lt;/td&gt;
&lt;td&gt;It denotes exactly n times of preceding character or item range for example n{2}.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;{n, }&lt;/td&gt;
&lt;td&gt;It denotes atleast n times of preceding character or item range for example n{2, }.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;{n, m}&lt;/td&gt;
&lt;td&gt;It denotes at least n but not more than m times for example n{2, 4} means 2 to 4 of n.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;\&lt;/td&gt;
&lt;td&gt;It denotes the escape character.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Create Regular Expressions
&lt;/h2&gt;

&lt;p&gt;To create a regular expression, you place a pattern in forward-slashes like this:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;'/pattern/';
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;For example:&lt;/p&gt;

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

$pattern = '/\d+/';
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Function&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;preg_match()&lt;/td&gt;
&lt;td&gt;Returns 1 if the pattern was found in the string and 0 if not&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;preg_match_all()&lt;/td&gt;
&lt;td&gt;Returns the number of times the pattern was found in the string, which may also be 0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;preg_replace()&lt;/td&gt;
&lt;td&gt;Returns a new string where matched patterns have been replaced with another string&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;A number with one or more digits is also matched by the '$pattern' string using a regular expression. For instance, 1, 40, 800, etc. are compatible.&lt;/p&gt;

&lt;p&gt;Forward slashes serve as separators. The delimiters can be any of the following characters: "," "!", "@," "#," "$," or any of the brackets "," "()," "[]," or "&amp;gt;."&lt;/p&gt;

&lt;p&gt;In some circumstances, braces make regular expressions easier to interpret.&lt;br&gt;
Keep in mind that delimiters such as alphanumeric, multi-byte, and backslashes (") are not permitted.&lt;/p&gt;

&lt;h2&gt;
  
  
  Utilizing Regular Expressions to Find Strings
&lt;/h2&gt;

&lt;p&gt;Regular expressions can be used with a number of PHP functions. When looking for patterns in strings, "preg match()" and "preg match all()" are among the most often used functions.&lt;/p&gt;

&lt;p&gt;***&lt;em&gt;**preg match() function in PHP&lt;/em&gt;*&lt;br&gt;
The 'preg match()' method is used to perform a search based on a regular expression. For instance:&lt;/p&gt;

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

$pattern = '{\d+}';
$text = 'HTML 5 was released on November 22, 2008';

if (preg_match($pattern, $text)) {
    echo "match";
} else {
    echo "not match";
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;output:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;match
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Preg match() looks for matches to the $pattern in the $text.&lt;br&gt;
Preg match() returns a "1" if there is a match in the $text, a "0" if there isn't, or a "false" if it fails.&lt;br&gt;
The third parameter is added to the "preg match()" method to obtain the text that matches the pattern, like in the following example:&lt;/p&gt;

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

$pattern = '{\d+}';
$text = 'PHP 8 was released on November 26, 2020';

if (preg_match($pattern, $text, $matches)) {
    print_r($matches);
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;output:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Array
(
     [0] =&amp;gt; 8
     [1] =&amp;gt; 26
     [2] =&amp;gt; 2020
        )
)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;All of the matches are contained in the '$matches' parameter. The text that matches the pattern is kept in the "$matches[0]" variable. It is the number 8 in this instance.&lt;/p&gt;

&lt;p&gt;The texts that match the first and second are stored in the arrays "$matches[1]," "$matches[2]," etc.&lt;br&gt;
Preg match() only returns the first match and terminates its search as soon as it does. You can use the "preg match all()" function to find all matches.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;PHP preg_match_all() function&lt;/strong&gt;&lt;br&gt;
The &lt;code&gt;[preg_match_all()](https://www.phptutorial.net/php-tutorial/php-preg_match_all/)&lt;/code&gt; function searches for all matches to a regular expression. For example:&lt;/p&gt;

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

$pattern = '{\d+}';
$text = 'HTML 5 was released on January 22, 2008';

if (preg_match_all($pattern, $text, $matches)) {
    print_r($matches);
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;output:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Array
(
    [0] =&amp;gt; Array
        (
            [0] =&amp;gt; 5
            [1] =&amp;gt; 22
            [2] =&amp;gt; 2008
        )
)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;The "preg match all()" function in this example places all matches in a multidimensional array with the first element being the strings ("5," "22," and "2008" in this case) that match the pattern.&lt;br&gt;
The number of matches, which can be 0 or a positive integer, is returned by the 'preg match all()' function.&lt;/p&gt;

&lt;p&gt;***&lt;em&gt;**Regular expressions are used to replace strings.&lt;/em&gt;*&lt;/p&gt;

&lt;p&gt;'preg replace()' is a function that you can use to replace strings that match a regular expression. For instance:&lt;/p&gt;

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

$pattern = '/\d+/';
$text = 'PHP 8 was released on 11/26/2020';

echo preg_replace($pattern, '%d', $text);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;output:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;PHP %d was released on %d/%d/%d
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;In the  example above, the &lt;code&gt;preg_replace()&lt;/code&gt; function replaces all numbers in the $text with the string &lt;code&gt;%d&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;PHP offers two sets of regular expression functions:&lt;/strong&gt;
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;POSIX Regular Expression&lt;/li&gt;
&lt;li&gt;PERL Style Regular Expression&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  POSIX Regular Expression
&lt;/h2&gt;

&lt;p&gt;Similar to how numerous operators or elements are joined to create more complicated expressions in arithmetic, POSIX regular expressions have a structure.&lt;br&gt;
A regular expression that only looks for single characters within a string is the simplest kind. For instance, "g" inside the cage string or toggle. Here are some terms that will be used in POSIX regular expressions:&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Brackets&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;When employed in regular expressions, brackets [] have a specific meaning. These are used to determine the character range contained therein.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Expression&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;[0-9]&lt;/td&gt;
&lt;td&gt;It matches any decimal digit 0 to 9.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;[a-z]&lt;/td&gt;
&lt;td&gt;It matches any lowercase character from a to z.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;[A-Z]&lt;/td&gt;
&lt;td&gt;It matches any uppercase character from A to Z.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;[a-Z]&lt;/td&gt;
&lt;td&gt;It matches any character from lowercase a to uppercase Z.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;These price ranges are frequently employed. You can use the range values to match any decimal digit between 0 and 6, for example, [0-6].&lt;/p&gt;

&lt;h2&gt;
  
  
  Quantifiers
&lt;/h2&gt;

&lt;p&gt;A special character can be used to indicate the positions of bracketed character sequences and single characters. Every every character has a unique meaning. There is a specific sequence for the characters +, *,?, $, and "int range" flags.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Expression&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;p+&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;It matches any string that contains atleast one p.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;p&lt;/strong&gt;*&lt;/td&gt;
&lt;td&gt;It matches any string that contains one or more p's.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;p?&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;It matches any string that has zero or one p's.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;p{N}&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;It matches any string that has a sequence of N p's.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;p{2,3}&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;It matches any string that has a sequence of two or three p's.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;p{2, }&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;It matches any string that contains atleast two p's.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;p$&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;It matches any string that contains p at the end of it.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;^p&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;It matches any string that has p at the start of it.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;PHP currently provides seven functions to search strings using POSIX-style  regular expression &lt;/p&gt;

&lt;p&gt;| Function             | Description                                                                                                                                                                              |  |&lt;br&gt;
| -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |  |&lt;br&gt;
| &lt;strong&gt;preg_match()&lt;/strong&gt;     | If the pattern is present, this function looks for it inside the string and returns true; otherwise, it returns false.                                                                   |  |&lt;br&gt;
| &lt;strong&gt;preg_match_all()&lt;/strong&gt; | All instances of the pattern in the string are matched by this function.                                                                                                                 |  |&lt;br&gt;
| &lt;strong&gt;preg_replace()&lt;/strong&gt;   | Similar to the ereg replace() method, the preg replace() function also allows for search and replace using regular expressions.                                                          |  |&lt;br&gt;
| &lt;strong&gt;preg_split()&lt;/strong&gt;     | The only difference between this function and split() is that this one allows regular expressions as input parameters for pattern. The string is mostly divided by a regular expression. |  |&lt;br&gt;
| &lt;strong&gt;preg_grep()&lt;/strong&gt;      | Preg grep() locates every element in input array and returns the elements of the array that match the regexp (relational expression) pattern.                                            |  |&lt;br&gt;
| &lt;strong&gt;preg_quote()&lt;/strong&gt;     | the characters used in the regular expression.                                                                                                                                           |  |&lt;/p&gt;

&lt;h2&gt;
  
  
  PERL Style Regular Expression
&lt;/h2&gt;

&lt;p&gt;Regular expressions written in Perl are very comparable to POSIX. Regular expression functions written in the Perl manner can be used interchangeably with the POSIX syntax. The quantifiers presented in the POSIX section can also be used in regular expressions written in the PERL language.&lt;/p&gt;

&lt;h2&gt;
  
  
  Metacharacters
&lt;/h2&gt;

&lt;p&gt;An alphabetical character followed by a backslash is referred to as a metacharacter and has a specific meaning.&lt;br&gt;
&lt;strong&gt;For example&lt;/strong&gt; - '\d' metacharacter can be used search large money sums: /([\d]+)000/. Here /d will search the string of numerical character.&lt;br&gt;
Below is the list of metacharacters that can be used in PERL Style Regular Expressions -&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Character&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;.&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Matches a single character&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;\s&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;It matches a whitespace character like space, newline, tab.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;\S&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Non-whitespace character&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;\d&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;It matches any digit from 0 to 9.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;\D&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Matches a non-digit character.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;\w&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Matches for a word character such as - a-z, A-Z, 0-9, _&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;\W&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Matches a non-word character.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;[aeiou]&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;It matches any single character in the given set.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;[^aeiou]&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;It matches any single character except the given set.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;**(foo&lt;/td&gt;
&lt;td&gt;baz&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Modifiers&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;A regular expression greatly simplifies the process because there are numerous modifiers accessible. Consider case-sensitivity or searching across many lines, for instance.&lt;br&gt;
The list of modifiers used in PERL Style Regular Expressions is provided below.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Character&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;i&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Makes case insensitive search&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;m&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;It specifies that if a string has a carriage return or newline characters, the $ and ^ operator will match against a newline boundary rather than a string boundary.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;o&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Evaluates the expression only once&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;s&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;It allows the use of .(dot) to match a newline character&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;x&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;This modifier allows us to use whitespace in expression for clarity.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;g&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;It globally searches all matches.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;cg&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;It allows the search to continue even after the global match fails.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Grouping&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;You can use parentheses &lt;code&gt;( )&lt;/code&gt; to apply quantifiers to entire patterns. They also can be used to select parts of the pattern to be used as a match.&lt;br&gt;
&lt;strong&gt;Example&lt;/strong&gt;&lt;br&gt;
Use grouping to search for the word "orange" by looking for ‘or’ followed by two instances of ‘&lt;em&gt;an’&lt;/em&gt;:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;?php
$str = "Apples and orange.";
$pattern = "/or(an){2}/i";
echo preg_match($pattern, $str); 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Outputs:&lt;/p&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; 1&lt;br&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h1&gt;
&lt;br&gt;
  &lt;br&gt;
  &lt;br&gt;
  Conclusion&lt;br&gt;
&lt;/h1&gt;

&lt;p&gt;Finally, we have come to the completion of this tutorial and hopefully, you got value from it.&lt;br&gt;
Thanks for reading, please hit the like, clap, or heart button to show some love, I will see you in the next tutorial…&lt;/p&gt;

&lt;p&gt;We have leant a lot about  PHP Regular Expressions.&lt;/p&gt;

&lt;p&gt;If you have any question, please leave it on the comments. Like and share, and till next time, all the best!&lt;/p&gt;

&lt;h1&gt;
  
  
  About the Author
&lt;/h1&gt;

&lt;p&gt;I am Jenifer Eze, an enthusiastic developer with a passion for JavaScript, PHP, HTML &amp;amp; CSS.&lt;/p&gt;

&lt;p&gt;I work as a freelancer, building websites for clients, and love writing technical tutorials to teach others what I do. I am eager to hear from you. Reach me on &lt;a href="https://www.linkedin.com/in/jennifer-eze-969272239/"&gt;LinkedIn&lt;/a&gt;, &lt;a href="https://github.com/nnekajenny"&gt;Github&lt;/a&gt;, or my &lt;a href="https://nnekajenny.github.io/"&gt;website&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>tutorial</category>
      <category>programming</category>
      <category>javascript</category>
    </item>
    <item>
      <title>PHP | Regular Expressions</title>
      <dc:creator>Jennifer Eze</dc:creator>
      <pubDate>Fri, 16 Sep 2022 14:27:52 +0000</pubDate>
      <link>https://forem.com/nnekajenny/php-regular-expressions-35dh</link>
      <guid>https://forem.com/nnekajenny/php-regular-expressions-35dh</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Most programming languages involve data entry, developers frequently run into issues when data is gathered in free text fields. In today's application programming, regular expressions are practically ubiquitous.&lt;/p&gt;

&lt;p&gt;A popular open-source scripting language called PHP.  Text, HTML, CSS, JavaScript, and PHP code can all be found in PHP files.&lt;/p&gt;

&lt;p&gt;When searching for or replacing a string with a pattern, developers frequently use regular expressions, which are a fundamental component of PHP.&lt;/p&gt;

&lt;p&gt;This search pattern can be used to specify your search criteria when looking for information within a text. A regular expression can be a simple pattern or just one character.&lt;br&gt;
All kinds of text search and text replacement operations can be carried out using regular expressions.&lt;/p&gt;

&lt;p&gt;This lesson will teach you how regular expressions function as well as how to effectively use them in PHP for pattern matching.&lt;/p&gt;

&lt;p&gt;Let's dive into the world of regular expressions now, if you're ready.&lt;/p&gt;

&lt;h2&gt;
  
  
  What are Regular Expressions
&lt;/h2&gt;

&lt;p&gt;Regular Expressions, also referred to as "regex" or "RegExp," are formatted text strings that are used to search for patterns in text. A search pattern is made up of a string of characters.&lt;/p&gt;

&lt;p&gt;An efficient technique to describe a string pattern that matches a specific amount of text is through the use of regular expressions. You probably already know that PHP, an open-source language frequently used for building websites, offers regular expression functions as a crucial tool. &lt;br&gt;
Numerous other programming languages use regular expressions in a similar way to PHP. The same is true for other apps that offer regexes with different syntaxes. Regexes are used on huge files and strings by numerous contemporary languages and technologies.&lt;/p&gt;

&lt;p&gt;One of the most potent techniques for effective and efficient text processing and manipulation nowadays is the use of regular expressions. For instance, it can be used to find or replace matching strings within text content, check the accuracy of data format (such as name, email, phone number, etc.) entered by the user, and more.&lt;/p&gt;

&lt;p&gt;They merely define a specific search pattern as a text string and are nothing more than a pattern or a series of characters. They lay the groundwork for capabilities related to pattern matching.&lt;/p&gt;

&lt;p&gt;You can replace one string with another string, split a string into multiple chunks, and search for a certain string inside another string using regular expression.&lt;/p&gt;

&lt;p&gt;You can look for a specific string inside another string using regular expression. We can also split a string into many parts and replace one string with another string. They construct complex expressions by using the arithmetic operators&lt;br&gt;
(+, -, ^ ). They may assist you with things like validating IP addresses and email addresses, among others.&lt;/p&gt;

&lt;h2&gt;
  
  
  Advantages  of Regular Expressions
&lt;/h2&gt;

&lt;p&gt;Here are some benefits.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Regular expressions aid programmers in text string validation.&lt;/li&gt;
&lt;li&gt;It provides a potent tool for pattern recognition, analysis, and text string modification.&lt;/li&gt;
&lt;li&gt;Simple ways are offered to find the patterns by employing regexes functions.&lt;/li&gt;
&lt;li&gt;Regexes aid in the development of the HTML tag recognition system.&lt;/li&gt;
&lt;li&gt;Regexes are frequently used for spam filtration, password strength verification, form validation, and browser detection.&lt;/li&gt;
&lt;li&gt;It is useful in user input validation testing for user inputs such as IP address, email address, and mobile number.&lt;/li&gt;
&lt;li&gt;It assists in emphasizing the file's unique keywords based on the input or search result.&lt;/li&gt;
&lt;li&gt;Metacharacters let us design more intricate patterns&lt;/li&gt;
&lt;li&gt; Browser detection, spam filtration, determining the strength of passwords, and form validations are the main uses of regexes.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Operators in Regular Expressions
&lt;/h2&gt;

&lt;p&gt;Let us look into some of the operators in PHP regular expressions.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;##     Operator&lt;/th&gt;
&lt;th&gt;## Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;^&lt;/td&gt;
&lt;td&gt;It denotes the start of the string.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;$&lt;/td&gt;
&lt;td&gt;It denotes the end of the string.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;.&lt;/td&gt;
&lt;td&gt;It denotes almost any single character.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;()&lt;/td&gt;
&lt;td&gt;It denotes a group of expressions.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;[]&lt;/td&gt;
&lt;td&gt;It finds a range of characters for example [xyz] means x, y, or z.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;[^]&lt;/td&gt;
&lt;td&gt;It finds the items which are not in range for example [^abc] meas NOT a, ,b or c.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;– (dash)&lt;/td&gt;
&lt;td&gt;It finds for character range within the given item range for example [a-z] means a through z.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;(pipe)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;?&lt;/td&gt;
&lt;td&gt;It denotes zero or one of preceding character or item range.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;*&lt;/td&gt;
&lt;td&gt;It denotes zero or more the of preceding character or item range.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;+&lt;/td&gt;
&lt;td&gt;It denotes one or more of preceding character or item range.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;{n}&lt;/td&gt;
&lt;td&gt;It denotes exactly n times of preceding character or item range for example n{2}.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;{n, }&lt;/td&gt;
&lt;td&gt;It denotes atleast n times of preceding character or item range for example n{2, }.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;{n, m}&lt;/td&gt;
&lt;td&gt;It denotes at least n but not more than m times for example n{2, 4} means 2 to 4 of n.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;\&lt;/td&gt;
&lt;td&gt;It denotes the escape character.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Create Regular Expressions
&lt;/h2&gt;

&lt;p&gt;To create a regular expression, you place a pattern in forward-slashes like this:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;'/pattern/';
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;For example:&lt;/p&gt;

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

$pattern = '/\d+/';
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Function&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;preg_match()&lt;/td&gt;
&lt;td&gt;Returns 1 if the pattern was found in the string and 0 if not&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;preg_match_all()&lt;/td&gt;
&lt;td&gt;Returns the number of times the pattern was found in the string, which may also be 0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;preg_replace()&lt;/td&gt;
&lt;td&gt;Returns a new string where matched patterns have been replaced with another string&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;A number with one or more digits is also matched by the '$pattern' string using a regular expression. For instance, 1, 40, 800, etc. are compatible.&lt;/p&gt;

&lt;p&gt;Forward slashes serve as separators. The delimiters can be any of the following characters: "," "!", "@," "#," "$," or any of the brackets "," "()," "[]," or "&amp;gt;."&lt;/p&gt;

&lt;p&gt;In some circumstances, braces make regular expressions easier to interpret.&lt;br&gt;
Keep in mind that delimiters such as alphanumeric, multi-byte, and backslashes (") are not permitted.&lt;/p&gt;

&lt;h2&gt;
  
  
  Utilizing Regular Expressions to Find Strings
&lt;/h2&gt;

&lt;p&gt;Regular expressions can be used with a number of PHP functions. When looking for patterns in strings, "preg match()" and "preg match all()" are among the most often used functions.&lt;/p&gt;

&lt;p&gt;***&lt;em&gt;**preg match() function in PHP&lt;/em&gt;*&lt;br&gt;
The 'preg match()' method is used to perform a search based on a regular expression. For instance:&lt;/p&gt;

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

$pattern = '{\d+}';
$text = 'HTML 5 was released on November 22, 2008';

if (preg_match($pattern, $text)) {
    echo "match";
} else {
    echo "not match";
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;output:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;match
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Preg match() looks for matches to the $pattern in the $text.&lt;br&gt;
Preg match() returns a "1" if there is a match in the $text, a "0" if there isn't, or a "false" if it fails.&lt;br&gt;
The third parameter is added to the "preg match()" method to obtain the text that matches the pattern, like in the following example:&lt;/p&gt;

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

$pattern = '{\d+}';
$text = 'PHP 8 was released on November 26, 2020';

if (preg_match($pattern, $text, $matches)) {
    print_r($matches);
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;output:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Array
(
     [0] =&amp;gt; 8
     [1] =&amp;gt; 26
     [2] =&amp;gt; 2020
        )
)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;All of the matches are contained in the '$matches' parameter. The text that matches the pattern is kept in the "$matches[0]" variable. It is the number 8 in this instance.&lt;/p&gt;

&lt;p&gt;The texts that match the first and second are stored in the arrays "$matches[1]," "$matches[2]," etc.&lt;br&gt;
Preg match() only returns the first match and terminates its search as soon as it does. You can use the "preg match all()" function to find all matches.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;PHP preg_match_all() function&lt;/strong&gt;&lt;br&gt;
The &lt;code&gt;[preg_match_all()](https://www.phptutorial.net/php-tutorial/php-preg_match_all/)&lt;/code&gt; function searches for all matches to a regular expression. For example:&lt;/p&gt;

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

$pattern = '{\d+}';
$text = 'HTML 5 was released on January 22, 2008';

if (preg_match_all($pattern, $text, $matches)) {
    print_r($matches);
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;output:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Array
(
    [0] =&amp;gt; Array
        (
            [0] =&amp;gt; 5
            [1] =&amp;gt; 22
            [2] =&amp;gt; 2008
        )
)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;The "preg match all()" function in this example places all matches in a multidimensional array with the first element being the strings ("5," "22," and "2008" in this case) that match the pattern.&lt;br&gt;
The number of matches, which can be 0 or a positive integer, is returned by the 'preg match all()' function.&lt;/p&gt;

&lt;p&gt;***&lt;em&gt;**Regular expressions are used to replace strings.&lt;/em&gt;*&lt;/p&gt;

&lt;p&gt;'preg replace()' is a function that you can use to replace strings that match a regular expression. For instance:&lt;/p&gt;

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

$pattern = '/\d+/';
$text = 'PHP 8 was released on 11/26/2020';

echo preg_replace($pattern, '%d', $text);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;output:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;PHP %d was released on %d/%d/%d
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;In the  example above, the &lt;code&gt;preg_replace()&lt;/code&gt; function replaces all numbers in the $text with the string &lt;code&gt;%d&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;PHP offers two sets of regular expression functions:&lt;/strong&gt;
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;POSIX Regular Expression&lt;/li&gt;
&lt;li&gt;PERL Style Regular Expression&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  POSIX Regular Expression
&lt;/h2&gt;

&lt;p&gt;Similar to how numerous operators or elements are joined to create more complicated expressions in arithmetic, POSIX regular expressions have a structure.&lt;br&gt;
A regular expression that only looks for single characters within a string is the simplest kind. For instance, "g" inside the cage string or toggle. Here are some terms that will be used in POSIX regular expressions:&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Brackets&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;When employed in regular expressions, brackets [] have a specific meaning. These are used to determine the character range contained therein.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Expression&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;[0-9]&lt;/td&gt;
&lt;td&gt;It matches any decimal digit 0 to 9.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;[a-z]&lt;/td&gt;
&lt;td&gt;It matches any lowercase character from a to z.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;[A-Z]&lt;/td&gt;
&lt;td&gt;It matches any uppercase character from A to Z.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;[a-Z]&lt;/td&gt;
&lt;td&gt;It matches any character from lowercase a to uppercase Z.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;These price ranges are frequently employed. You can use the range values to match any decimal digit between 0 and 6, for example, [0-6].&lt;/p&gt;

&lt;h2&gt;
  
  
  Quantifiers
&lt;/h2&gt;

&lt;p&gt;A special character can be used to indicate the positions of bracketed character sequences and single characters. Every every character has a unique meaning. There is a specific sequence for the characters +, *,?, $, and "int range" flags.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Expression&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;p+&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;It matches any string that contains atleast one p.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;p&lt;/strong&gt;*&lt;/td&gt;
&lt;td&gt;It matches any string that contains one or more p's.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;p?&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;It matches any string that has zero or one p's.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;p{N}&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;It matches any string that has a sequence of N p's.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;p{2,3}&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;It matches any string that has a sequence of two or three p's.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;p{2, }&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;It matches any string that contains atleast two p's.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;p$&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;It matches any string that contains p at the end of it.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;^p&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;It matches any string that has p at the start of it.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;PHP currently provides seven functions to search strings using POSIX-style  regular expression &lt;/p&gt;

&lt;p&gt;| Function             | Description                                                                                                                                                                              |  |&lt;br&gt;
| -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |  |&lt;br&gt;
| &lt;strong&gt;preg_match()&lt;/strong&gt;     | If the pattern is present, this function looks for it inside the string and returns true; otherwise, it returns false.                                                                   |  |&lt;br&gt;
| &lt;strong&gt;preg_match_all()&lt;/strong&gt; | All instances of the pattern in the string are matched by this function.                                                                                                                 |  |&lt;br&gt;
| &lt;strong&gt;preg_replace()&lt;/strong&gt;   | Similar to the ereg replace() method, the preg replace() function also allows for search and replace using regular expressions.                                                          |  |&lt;br&gt;
| &lt;strong&gt;preg_split()&lt;/strong&gt;     | The only difference between this function and split() is that this one allows regular expressions as input parameters for pattern. The string is mostly divided by a regular expression. |  |&lt;br&gt;
| &lt;strong&gt;preg_grep()&lt;/strong&gt;      | Preg grep() locates every element in input array and returns the elements of the array that match the regexp (relational expression) pattern.                                            |  |&lt;br&gt;
| &lt;strong&gt;preg_quote()&lt;/strong&gt;     | the characters used in the regular expression.                                                                                                                                           |  |&lt;/p&gt;

&lt;h2&gt;
  
  
  PERL Style Regular Expression
&lt;/h2&gt;

&lt;p&gt;Regular expressions written in Perl are very comparable to POSIX. Regular expression functions written in the Perl manner can be used interchangeably with the POSIX syntax. The quantifiers presented in the POSIX section can also be used in regular expressions written in the PERL language.&lt;/p&gt;

&lt;h2&gt;
  
  
  Metacharacters
&lt;/h2&gt;

&lt;p&gt;An alphabetical character followed by a backslash is referred to as a metacharacter and has a specific meaning.&lt;br&gt;
&lt;strong&gt;For example&lt;/strong&gt; - '\d' metacharacter can be used search large money sums: /([\d]+)000/. Here /d will search the string of numerical character.&lt;br&gt;
Below is the list of metacharacters that can be used in PERL Style Regular Expressions -&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Character&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;.&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Matches a single character&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;\s&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;It matches a whitespace character like space, newline, tab.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;\S&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Non-whitespace character&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;\d&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;It matches any digit from 0 to 9.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;\D&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Matches a non-digit character.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;\w&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Matches for a word character such as - a-z, A-Z, 0-9, _&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;\W&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Matches a non-word character.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;[aeiou]&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;It matches any single character in the given set.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;[^aeiou]&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;It matches any single character except the given set.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;**(foo&lt;/td&gt;
&lt;td&gt;baz&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Modifiers&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;A regular expression greatly simplifies the process because there are numerous modifiers accessible. Consider case-sensitivity or searching across many lines, for instance.&lt;br&gt;
The list of modifiers used in PERL Style Regular Expressions is provided below.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Character&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;i&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Makes case insensitive search&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;m&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;It specifies that if a string has a carriage return or newline characters, the $ and ^ operator will match against a newline boundary rather than a string boundary.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;o&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Evaluates the expression only once&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;s&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;It allows the use of .(dot) to match a newline character&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;x&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;This modifier allows us to use whitespace in expression for clarity.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;g&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;It globally searches all matches.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;cg&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;It allows the search to continue even after the global match fails.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Grouping&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;You can use parentheses &lt;code&gt;( )&lt;/code&gt; to apply quantifiers to entire patterns. They also can be used to select parts of the pattern to be used as a match.&lt;br&gt;
&lt;strong&gt;Example&lt;/strong&gt;&lt;br&gt;
Use grouping to search for the word "orange" by looking for ‘or’ followed by two instances of ‘&lt;em&gt;an’&lt;/em&gt;:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;?php
$str = "Apples and orange.";
$pattern = "/or(an){2}/i";
echo preg_match($pattern, $str); 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Outputs:&lt;/p&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; 1&lt;br&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h1&gt;
&lt;br&gt;
  &lt;br&gt;
  &lt;br&gt;
  Conclusion&lt;br&gt;
&lt;/h1&gt;

&lt;p&gt;Finally, we have come to the completion of this tutorial and hopefully, you got value from it.&lt;br&gt;
Thanks for reading, please hit the like, clap, or heart button to show some love, I will see you in the next tutorial…&lt;/p&gt;

&lt;p&gt;We have leant a lot about  PHP Regular Expressions.&lt;/p&gt;

&lt;p&gt;If you have any question, please leave it on the comments. Like and share, and till next time, all the best!&lt;/p&gt;

&lt;h1&gt;
  
  
  About the Author
&lt;/h1&gt;

&lt;p&gt;I am Jenifer Eze, an enthusiastic developer with a passion for JavaScript, PHP, HTML &amp;amp; CSS.&lt;/p&gt;

&lt;p&gt;I work as a freelancer, building websites for clients, and love writing technical tutorials to teach others what I do. I am eager to hear from you. Reach me on &lt;a href="https://www.linkedin.com/in/jennifer-eze-969272239/"&gt;LinkedIn&lt;/a&gt;, &lt;a href="https://github.com/nnekajenny"&gt;Github&lt;/a&gt;, or my &lt;a href="https://nnekajenny.github.io/"&gt;website&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>webdev</category>
      <category>php</category>
      <category>regex</category>
    </item>
    <item>
      <title>A Simple Crude Application Function With MYSQL and PHP.</title>
      <dc:creator>Jennifer Eze</dc:creator>
      <pubDate>Fri, 16 Sep 2022 14:04:59 +0000</pubDate>
      <link>https://forem.com/nnekajenny/a-simple-crude-application-function-with-mysql-and-php-24b4</link>
      <guid>https://forem.com/nnekajenny/a-simple-crude-application-function-with-mysql-and-php-24b4</guid>
      <description>&lt;p&gt;&lt;a href="https://paper-attachments.dropbox.com/s_8A86972DCFB59F3CD39138F99C6A57205B9F5F3B6CD471F33E1DC2E39EBFFD06_1656509009316_PHP-MySQL-CRUD-Operation-Step-by-Step-for-Beginners.jpg"&gt;photo by  codingdriver,com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;br&gt;
CRUD Operations are typically performed on databases, hence, in this PHP CRUD Operations tutorial, you will implement CRUD techniques on MySQL databases with the help of PHP.   &lt;/p&gt;

&lt;p&gt;CRUDE is an acronym for the four basic types of SQL commands: &lt;em&gt;Create&lt;/em&gt;, &lt;em&gt;Read&lt;/em&gt;, &lt;em&gt;Update&lt;/em&gt;, &lt;em&gt;Delete&lt;/em&gt;. Most applications have some kind of CRUD functionality, and we can assume that every programmer had to deal with CRUD at some point. &lt;/p&gt;

&lt;p&gt;A CRUD application uses forms to get data into and out of a database.&lt;/p&gt;

&lt;p&gt;We use CRUD apps every day. Most of the time, without notice. They keep us organized, they help digitize business processes, and they’re critical to application development.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is a crude application?&lt;/strong&gt;&lt;br&gt;
CRUD apps are the user interface that we use to interact with databases. Broadly, CRUD apps consist of the database, the user interface, and the APIs.&lt;/p&gt;

&lt;p&gt;Modern web applications have a user perform at least one of the following operations on a database – creating a new record, reading or viewing existing records, updating, or deleting a record. If you have worked with a database, you have most likely worked with CRUD without realizing it.&lt;/p&gt;

&lt;p&gt;CRUD apps are used daily by several businesses and organizations to maintain their day-to-day workflow. HR uses CRUD apps to manage staff records and keep and track the keeping of employee leaves, and attendance. &lt;/p&gt;

&lt;p&gt;Customer success uses CRUD apps to solve customer tickets, and so on. Take a look at the blogging sites. You as a user can create your post, read your post, update your post and select your post. Bloggs are classic CRUD apps. &lt;/p&gt;







&lt;p&gt;&lt;strong&gt;How to Build a Crud Application.&lt;/strong&gt;&lt;br&gt;
This is a step-by-step procedure on how to implement a simple user crud operation app with validation. Using this crud app, you can learn how to insert, read, update and delete data from a database in PHP.&lt;br&gt;
Follow the following steps to build a crud operation using PHP and MySQL;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Step 1 – Create Database Table&lt;/li&gt;
&lt;li&gt;Step 2 – Create an index page(with a form)&lt;/li&gt;
&lt;li&gt;Step 3 – Create a config Page&lt;/li&gt;
&lt;li&gt;Step 4 –  Create an action Page&lt;/li&gt;
&lt;li&gt;Step 5 – Create an update Page&lt;/li&gt;
&lt;li&gt;Step 6 – Create a Delete file.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Step 1: Create Database Table
&lt;/h2&gt;

&lt;p&gt;First, we need to create a database and database table where we save the ’ data or records.&lt;br&gt;
In the database, we will keep only four pieces of information in our table (people) – &lt;code&gt;name,&lt;/code&gt;Date of birth, ‘food, and ‘friend.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Database Name&lt;/strong&gt; – yearbook&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Table Name&lt;/strong&gt; –  people&lt;/p&gt;

&lt;p&gt;CREATE TABLE users (&lt;br&gt;
    uid INT   PRIMARY KEY AUTO_INCREMENT,&lt;br&gt;
    name VARCHAR(255) As defined,&lt;br&gt;
    email  VARCHAR(255) As defined,&lt;br&gt;
    dob    VARCHAR(255) As defined,&lt;br&gt;
    food  VARCHAR  (255) As defined,&lt;br&gt;
    friend VARCHAR  (255) As defined,&lt;br&gt;
    );&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Step 2: Create Index File
&lt;/h2&gt;

&lt;p&gt;our index will contain our form, from which users can log in.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;!doctype html&amp;gt;
  &amp;lt;html lang="en"&amp;gt;
    &amp;lt;head&amp;gt;
      &amp;lt;meta charset="utf-8"&amp;gt;
      &amp;lt;meta name="viewport" content="width=device-width, initial-scale=1"&amp;gt;
      &amp;lt;link href="css/bootstrap.min.css" rel="stylesheet" &amp;gt;
      &amp;lt;link rel="stylesheet" href="css/owl.carousel.min.css"&amp;gt;
      &amp;lt;link rel="stylesheet" href="css/owl.theme.default.min.css"&amp;gt;
      &amp;lt;link rel="stylesheet" type="text/css" href="css/aos.css"&amp;gt;
      &amp;lt;link rel="stylesheet" type="text/css" href="css/fontawesome/css/all.min.css"&amp;gt;
      &amp;lt;link rel="stylesheet" href="css/style.css"&amp;gt;
      &amp;lt;title&amp;gt;Hello, world!&amp;lt;/title&amp;gt;
    &amp;lt;/head&amp;gt;
    &amp;lt;body&amp;gt;
&amp;lt;section class="bg-dark py-5"&amp;gt;
   &amp;lt;div class="container"&amp;gt;
     &amp;lt;div class="row"&amp;gt;
      &amp;lt;div class="col-md-4 offset-md-4 bg-warning p-5"&amp;gt;
        &amp;lt;form action="action.php"    method="post"&amp;gt;

          &amp;lt;div class="input-group mb-3"&amp;gt;
            &amp;lt;span&amp;gt;
            &amp;lt;i class="fa fa-envelope"&amp;gt;&amp;lt;/i&amp;gt;
            &amp;lt;/span&amp;gt;
          &amp;lt;input type="text" name="name" class="form-control" placeholder="full name"&amp;gt;
        &amp;lt;/div&amp;gt;

      &amp;lt;div class="input-group mb-3"&amp;gt;
        &amp;lt;span&amp;gt;
        &amp;lt;i class="fa fa-calendar-alt"&amp;gt;&amp;lt;/i&amp;gt;
        &amp;lt;/span&amp;gt;
      &amp;lt;input type="text" name="name" class="form-control" placeholder="Date of Birth" 
     &amp;lt;/div&amp;gt;

    &amp;lt;div class= "input-group mb-3"&amp;gt;
     &amp;lt;span&amp;gt;
      &amp;lt;i class="fa fa-fish"&amp;gt;&amp;lt;/i&amp;gt;
      &amp;lt;/span&amp;gt;
&amp;lt;input type="text" name="name" class="form-control" placeholder="Forvourite food"
&amp;lt;/div&amp;gt; 

    &amp;lt;div class="input-group mb-3"&amp;gt;
     &amp;lt;span&amp;gt;
      &amp;lt;i class="fa fa-handshake"&amp;gt;&amp;lt;/i&amp;gt;
       &amp;lt;/span&amp;gt;
&amp;lt;input type="text" name="name" class="form-control" placeholder="best friend"
    &amp;lt;/div&amp;gt; 

&amp;lt;/form&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;/section&amp;gt;

      &amp;lt;script src="js/bootstrap.bundle.min.js" &amp;gt;&amp;lt;/script&amp;gt;
      &amp;lt;script src="Js/jquery.min.js"&amp;gt;&amp;lt;/script&amp;gt;
      &amp;lt;script src="js/owl.carousel.min.js"&amp;gt;&amp;lt;/script&amp;gt;
      &amp;lt;script src="js/aos.js"&amp;gt;&amp;lt;/script&amp;gt;
      &amp;lt;script src="js/script.js"&amp;gt;&amp;lt;/script&amp;gt;

    &amp;lt;/body&amp;gt;
  &amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h2&gt;
  
  
  Step 3: Create Config File
&lt;/h2&gt;

&lt;p&gt;The config file is enables us connect to the database.&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;?php 
$db= new mysqli ("localhost", "root", "", "yearbook");

/* server with default setting (user 'root' with no password) */
define('DB_SERVER', 'localhost');
define('DB_USERNAME', 'root');
define('DB_PASSWORD', '');


/* Attempt to connect to MySQL database */
$link = mysqli_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD,);
 // check connection.
?&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h2&gt;
  
  
  Step 4: Create an Action File
&lt;/h2&gt;

&lt;p&gt;On your action page, you check for the submit button. we also collect all data from the form. we do the insert query as well. if you insert data, it will insert and redirect you back to the index page using the header location.&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;?php
include_once("config.php");

if(isset($_POST['submit'])){
$name=$_POST['name'];
$DOB=$_POST['DOB'];
$food=$_POST['food'];
$friend=$_POST['friend'];
$db-&amp;gt;query (INSERT INTO people(name,DOB,food,friend) VALUES ('$name', '$DOB', '$food','$friend');

header(location:index.php);
}
?&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;THE READ SECTION&lt;/p&gt;

&lt;p&gt;To read information from your database. you need to include your config.php in your index.php file. just before your Doctype using include_once(“config.php”). This must be done because one cannot read a database without the config.&lt;/p&gt;

&lt;p&gt;The next step is to write a select query. Because we want to select all from people(which is the table name) we will write the following code.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;?php
include_once("config.php");
$list=db-&amp;gt;query("SELECT *FROM people order by DESC LIMIT 10")

?&amp;gt;



&amp;lt;!doctype html&amp;gt;
  &amp;lt;html lang="en"&amp;gt;
    &amp;lt;head&amp;gt;
      &amp;lt;meta charset="utf-8"&amp;gt;
      &amp;lt;meta name="viewport" content="width=device-width, initial-scale=1"&amp;gt;
      &amp;lt;link href="css/bootstrap.min.css" rel="stylesheet" &amp;gt;
      &amp;lt;link rel="stylesheet" href="css/owl.carousel.min.css"&amp;gt;
      &amp;lt;link rel="stylesheet" href="css/owl.theme.default.min.css"&amp;gt;
      &amp;lt;link rel="stylesheet" type="text/css" href="css/aos.css"&amp;gt;
      &amp;lt;link rel="stylesheet" type="text/css" href="css/fontawesome/css/all.min.css"&amp;gt;
      &amp;lt;link rel="stylesheet" href="css/style.css"&amp;gt;
      &amp;lt;title&amp;gt;Hello, world!&amp;lt;/title&amp;gt;
    &amp;lt;/head&amp;gt;
    &amp;lt;body&amp;gt;
     &amp;lt;section class="bg-dark py-5"&amp;gt;

        &amp;lt;div class="container"&amp;gt;
          &amp;lt;div class="row"&amp;gt;
            &amp;lt;div class="col-md-4 offset-md-4  bg-warning p-5"&amp;gt;
              &amp;lt;form action="action.php" method="post"&amp;gt;


                 &amp;lt;div class="input-group mb-3"&amp;gt;
                  &amp;lt;span class="input-group-text"&amp;gt;
                    &amp;lt;i class="fa fa-envelope"&amp;gt;&amp;lt;/i&amp;gt;
                  &amp;lt;/span&amp;gt;
                  &amp;lt;input type="text" name="name" class="form-control" placeholder="full name"&amp;gt;
                &amp;lt;/div&amp;gt;


               &amp;lt;div class="input-group mb-3"&amp;gt;
                  &amp;lt;span class="input-group-text"&amp;gt;
                    &amp;lt;i class="fa fa-calendar-alt"&amp;gt;&amp;lt;/i&amp;gt;
                  &amp;lt;/span&amp;gt;
                  &amp;lt;input type="text" name="DOB" class="form-control" placeholder="Date of Birth"&amp;gt;
                &amp;lt;/div&amp;gt;



              &amp;lt;div class="input-group mb-3"&amp;gt;
                  &amp;lt;span class="input-group-text"&amp;gt;
                    &amp;lt;i class="fa fa-fish"&amp;gt;&amp;lt;/i&amp;gt;
                  &amp;lt;/span&amp;gt;
  &amp;lt;input type="text" name="food" class="form-control" placeholder="Favourite food"&amp;gt;
            &amp;lt;/div&amp;gt; 


                &amp;lt;div class="input-group mb-3"&amp;gt;
                  &amp;lt;span class="input-group-text"&amp;gt;
                    &amp;lt;i class="fa fa-handshake"&amp;gt;&amp;lt;/i&amp;gt;
                  &amp;lt;/span&amp;gt;
&amp;lt;input type="text" name="friend" class="form-control" placeholder="Best friend"&amp;gt;
                &amp;lt;/div&amp;gt;
&amp;lt;input type="submit" name="submit" value="login" class="btn btn-dark col-12"&amp;gt;
           &amp;lt;/form&amp;gt;
           &amp;lt;?php 
           while ($row=$list-&amp;gt;fetch_assoc()):?&amp;gt;

            &amp;lt;div class="my-3"&amp;gt;
            &amp;lt;h3 class="text-muted"&amp;gt;&amp;lt;i class="fa fa-user"&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;?=$row['name'];?&amp;gt;&amp;lt;/h3&amp;gt;

            &amp;lt;p class="text-secondary"&amp;gt;
             &amp;lt;i class="fa fa-envelope text-dark"&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;?=$row['dob'];?&amp;gt;
             &amp;lt;i class="fa fa-fish text-dark"&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;?=$row['food'];?&amp;gt;
             &amp;lt;i class="fa fa-handshake text-dark"&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;?=$row['friend'];?&amp;gt;

&amp;lt;a href="delect.php?uid=&amp;lt;?=$row['uid']?&amp;gt; class="text-danger" title="delete"&amp;gt;&amp;lt;i class="fa fa-trash"&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/a&amp;gt;
&amp;lt;a href="update.php?uid=&amp;lt;?=$row['uid']?&amp;gt;" class="badge bg-success badge-pill"&amp;gt;update&amp;lt;i class="fa fa-edit"&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/a&amp;gt;
      &amp;lt;/p&amp;gt;
    &amp;lt;/div&amp;gt;
&amp;lt;?php endwhile;?&amp;gt;

  &amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;
     &amp;lt;/div&amp;gt;
      &amp;lt;/section&amp;gt;



      &amp;lt;script src="js/bootstrap.bundle.min.js" &amp;gt;&amp;lt;/script&amp;gt;
      &amp;lt;script src="Js/jquery.min.js"&amp;gt;&amp;lt;/script&amp;gt;
      &amp;lt;script src="js/owl.carousel.min.js"&amp;gt;&amp;lt;/script&amp;gt;
      &amp;lt;script src="js/aos.js"&amp;gt;&amp;lt;/script&amp;gt;
      &amp;lt;script src="js/script.js"&amp;gt;&amp;lt;/script&amp;gt;

    &amp;lt;/body&amp;gt;
  &amp;lt;/html&amp;gt;  
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;The “list” above is called a resource. our objective is to convert the resources into an associative array using &amp;lt;?PHP while ($row =$list → fetch_assoc);&lt;br&gt;
 $row is now the associative array.&lt;/p&gt;

&lt;p&gt;The above while loop brings everything to the database and displays it on the index page.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 4: Create an Update File
&lt;/h2&gt;

&lt;p&gt;In our update file, we have a button called the update.php. but that button is a link to our index .php. if (isset($_GET)[‘uid’]; means the user is suspicious, then you kill the page. you must be aware of the previous information before you can do an update. &lt;/p&gt;

&lt;p&gt;To get the previous information you do a select query. that will enable you to specify the person you to want to update. with the value attribute, the update change will be effected and changes will be made in the database. &lt;/p&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;?php&lt;br&gt;
  include_once("config.php");

&lt;p&gt;if(isset($_GET['uid'])){&lt;br&gt;
    $uid=$_GET['uid'];&lt;br&gt;
    }else{&lt;/p&gt;

&lt;p&gt;die(header('location:index.php'));&lt;br&gt;
  }&lt;br&gt;
  $list=$db-&amp;gt;query("SELECT * FROM people WHERE uid=$uid");&lt;br&gt;
  $person=$list-&amp;gt;fetch_assoc()&lt;/p&gt;

&lt;p&gt;//helps you read your database and put a limit to how much information that would &lt;br&gt;
display.&lt;br&gt;
  ?&amp;gt;&lt;/p&gt;

&lt;p&gt;&amp;lt;!doctype html&amp;gt;&lt;br&gt;
    &amp;lt;html lang="en"&amp;gt;&lt;br&gt;
      &amp;lt;head&amp;gt;&lt;br&gt;
        &amp;lt;meta charset="utf-8"&amp;gt;&lt;br&gt;
        &amp;lt;meta name="viewport" content="width=device-width, initial-scale=1"&amp;gt;&lt;br&gt;
        &amp;lt;link href="css/bootstrap.min.css" rel="stylesheet" &amp;gt;&lt;br&gt;
        &amp;lt;link rel="stylesheet" href="css/owl.carousel.min.css"&amp;gt;&lt;br&gt;
        &amp;lt;link rel="stylesheet" href="css/owl.theme.default.min.css"&amp;gt;&lt;br&gt;
        &amp;lt;link rel="stylesheet" type="text/css" href="css/aos.css"&amp;gt;&lt;br&gt;
        &amp;lt;link rel="stylesheet" type="text/css" href="css/fontawesome/css/all.min.css"&amp;gt;&lt;br&gt;
        &amp;lt;link rel="stylesheet" href="css/style.css"&amp;gt;&lt;br&gt;
        &amp;lt;title&amp;gt;Hello, world!&amp;lt;/title&amp;gt;&lt;br&gt;
      &amp;lt;/head&amp;gt;&lt;br&gt;
      &amp;lt;body&amp;gt;&lt;br&gt;
       &amp;lt;section class="bg-dark py-5"&amp;gt;&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;      &amp;amp;lt;div class="container"&amp;amp;gt;
        &amp;amp;lt;div class="row"&amp;amp;gt;
          &amp;amp;lt;div class="col-md-4 offset-md-4  bg-warning p-5"&amp;amp;gt;
            &amp;amp;lt;form action="update_action.php" method="post"&amp;amp;gt;


              &amp;amp;lt;div class="input-group mb-3"&amp;amp;gt;
                &amp;amp;lt;span class="input-group-text"&amp;amp;gt;
                  &amp;amp;lt;i class="fa fa-envelope"&amp;amp;gt;&amp;amp;lt;/i&amp;amp;gt;
                &amp;amp;lt;/span&amp;amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;&amp;lt;input type="text" name="name" class="form-control" placeholder="full name" value="&amp;lt;?=$person['name']?&amp;gt;"&amp;gt;&lt;br&gt;
                  &amp;lt;/div&amp;gt;&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;             &amp;amp;lt;div class="input-group mb-3"&amp;amp;gt;
                &amp;amp;lt;span class="input-group-text"&amp;amp;gt;
                  &amp;amp;lt;i class="fa fa-calendar-alt"&amp;amp;gt;&amp;amp;lt;/i&amp;amp;gt;
                &amp;amp;lt;/span&amp;amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;&amp;lt;input type="text" name="DOB" class="form-control" placeholder="Date of Birth" value="&amp;lt;?=$person ['dob']?&amp;gt;"&amp;gt;&lt;br&gt;
                  &amp;lt;/div&amp;gt;&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;            &amp;amp;lt;div class="input-group mb-3"&amp;amp;gt;
                &amp;amp;lt;span class="input-group-text"&amp;amp;gt;
                  &amp;amp;lt;i class="fa fa-fish"&amp;amp;gt;&amp;amp;lt;/i&amp;amp;gt;
                &amp;amp;lt;/span&amp;amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;&amp;lt;input type="text" name="food" class="form-control" placeholder="Favourite food" value="&amp;lt;?=$person['food']?&amp;gt;"&amp;gt;&lt;br&gt;
                  &amp;lt;/div&amp;gt; &lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;              &amp;amp;lt;div class="input-group mb-3"&amp;amp;gt;
                &amp;amp;lt;span class="input-group-text"&amp;amp;gt;
                  &amp;amp;lt;i class="fa fa-handshake"&amp;amp;gt;&amp;amp;lt;/i&amp;amp;gt;
                &amp;amp;lt;/span&amp;amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;&amp;lt;input type="text" name="friend" class="form-control" placeholder="Best friend" value="&amp;lt;?=$person['friend']?&amp;gt;"&amp;gt;&lt;br&gt;
                  &amp;lt;/div&amp;gt;&lt;br&gt;
&amp;lt;input type="hidden" name="uid" value="&amp;lt;?=$person['uid']?&amp;gt;"&amp;gt;&lt;br&gt;
&amp;lt;input type="submit" name="submit" value="login" class="btn btn-dark col-12"&amp;gt;&lt;/p&gt;

&lt;p&gt;&amp;lt;/form&amp;gt;&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;       &amp;amp;lt;/div&amp;amp;gt; 
    &amp;amp;lt;/div&amp;amp;gt;
  &amp;amp;lt;/div&amp;amp;gt;
&amp;amp;lt;/section&amp;amp;gt;



    &amp;amp;lt;script src="js/bootstrap.bundle.min.js" &amp;amp;gt;&amp;amp;lt;/script&amp;amp;gt;
    &amp;amp;lt;script src="Js/jquery.min.js"&amp;amp;gt;&amp;amp;lt;/script&amp;amp;gt;
    &amp;amp;lt;script src="js/owl.carousel.min.js"&amp;amp;gt;&amp;amp;lt;/script&amp;amp;gt;
    &amp;amp;lt;script src="js/aos.js"&amp;amp;gt;&amp;amp;lt;/script&amp;amp;gt;
    &amp;amp;lt;script src="js/script.js"&amp;amp;gt;&amp;amp;lt;/script&amp;amp;gt;

  &amp;amp;lt;/body&amp;amp;gt;
&amp;amp;lt;/html&amp;amp;gt;
&lt;/code&gt;&lt;/pre&gt;

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

&lt;/div&gt;
&lt;h2&gt;
&lt;br&gt;
  &lt;br&gt;
  &lt;br&gt;
  Step 5: Create a Delete File&lt;br&gt;
&lt;/h2&gt;
&lt;br&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;?php&lt;br&gt;
include_once("config.php");

&lt;p&gt;if (isset($_GET['uid'])){&lt;br&gt;
        $uid=$_GET['uid'];&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;    $db-&amp;amp;gt;query("DELETE FROM people WHERE uid='$uid'");


    header("location: index.php");
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;}&lt;/p&gt;

&lt;p&gt;?&amp;gt;&lt;br&gt;
&lt;/p&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h1&gt;
&lt;br&gt;
  &lt;br&gt;
  &lt;br&gt;
  Conclusion&lt;br&gt;
&lt;/h1&gt;

&lt;p&gt;Finally, we have come to the completion of this tutorial and hopefully, you got value from it.&lt;/p&gt;

&lt;p&gt;Thanks for reading, please hit the like, clap, or heart button to show some love, I will see you in the next tutorial…&lt;/p&gt;

&lt;p&gt;We learned how to build a simple crude application with SQL and PHP.&lt;/p&gt;

&lt;p&gt;If you have any questions, please leave them in the comments. Like and share, and till next time, all the best!&lt;/p&gt;

&lt;h1&gt;
  
  
  About the Author
&lt;/h1&gt;

&lt;p&gt;I am Jennifer Eze, an enthusiastic developer with a passion for JavaScript, PHP, HTML &amp;amp; CSS.&lt;/p&gt;

&lt;p&gt;I work as a freelancer, building websites for clients, and love writing technical tutorials to teach others what I do. I am eager to hear from you. Reach me on &lt;a href="https://www.linkedin.com/in/jennifer-eze-969272239/"&gt;LinkedIn&lt;/a&gt;, &lt;a href="https://github.com/nnekajenny"&gt;Github&lt;/a&gt;, or my &lt;a href="https://nnekajenny.github.io/"&gt;website&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>php</category>
      <category>programming</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
