New Features in PHP 7

May 2nd, 2018

Programming language and the programmers all over the world experienced a new wave of change when PHP7 launched. This web-based application is compatible with mobile, enterprises solutions, and cloud platforms. However, there are a lot more to learn about this version to get comfortable while programming. It has got two new operators and many more exciting changes to ease the PHP lovers around the globe. Let’s dig out what are those to get a quality knowledge supplement.

Speed:

First and foremost thing that immediately gets noticed is its speed. PHP7 has an almost double speed of operation as that of PHP 5.6. Regarding consistency, it stands high as compared to its earlier versions. This means you will gain more proficiency than before as unwanted time lags will not be there.

Improved open source scripting:

PHP5 was using Zend Engine II at its heart, but PHP7 has got an upgraded version, Zend Engine III. It can significantly improve the performance level. As it has been written in C that interprets PHP, the functionality gets enhanced. It comes under the code name of PHPNG (Next Generation). This ensures that PHP7 is a must-try affair for every programmer around the globe.

Manual Variable declaration:

PHP 7, unlike its previous shades, enables you to specify your desired variable through its Type Declaration feature. It not only makes your code easy to read but also enables you to make small changes to variables without bringing any effect to the overall result. Earlier, this feature was not present and PHP was automatically setting up the variables. This changeover need not require you to declare data types as variables will still have them attached. However, you can make some radical changes. For instance, you can add a string to an integer, and it won’t result in any programming error.

For example,

Function abx(): array {

Return [ ];

}

Consider the example shown above. It defines array type of variable. With return type declaration used above, the function will return only the array. You can use this logic for other returns types such as int, float, and bool. Thus, being a weakly typed language, PHP7 can help you enhance the quality of the code.

Handling Fatal Errors:

A slight mistake from your side and your script may get into a fatal error. This is a common problem that every programmer experiences and previous PHP versions used to stop the script without involving the error handler. However, PHP 7 gives a little relief. An exception will be thrown instead of closing the entire script down.

Easy User-land CSPRNG:

It is nothing but an application space present outside the Kernel. Easy User-land CSPRNG can be covered by privilege separation. This API enables you to use PHP 7 with ease. It is reliable and is used to generate cryptographically secure pseudo-random numbers. No doubt, these random data were also present in the earlier versions, but none of them were as secured at this time. The importance of random numbers goes primarily while designing the program for generating frequently changing random passwords.

Introduction of two new operators:

If you’re upgrading to PHP7, then you will get to know about two new operators; Spaceship operator (<=>) or Combined comparison and Null Coalesce Operator. Let’s get to know about these operators in brief.

Spaceship operator (<=>) or Combined comparison

This one has got behavior similar to strcmp() or version_compare(), but the good thing is that all generic PHP values can get utilized through this new operator in combination with usual semantics like <, <=, ==, >=, >, etc. The comparison rules used is same as that of the previous semantics.

This spaceship operator has got simple usage funda. This operator “(expr) <=> (expr)” will fetch you a value ZERO if both operands are of same value. If the left side is greater than the right side, you will get ONE and -ONE for vice versa condition.

To understand about its behavior better, see how it returns results in case of the followings:

//integers

Echo 11 <=> 11; //0

//Floats

Echo 11.5 <=> 12.5; //-1

//Strings

Echo c <=> b; //1

Use usort() along with this operator to make the ordering easier.

Null Coalesce Operator 

“??” this is the symbol of Null Coalesce operator. If you want to assign a value to nullable or reference type files, this one can be your savior. If the operand is not null, the operator will return you left-hand operand, and if the reverse is the case, you will get right-hand operand in return.

In PHP7, without engaging this operator, if you are trying to assign a nullable value to a non-nullable one, you will get compile time error for sure. However, the use of “??” operator won’t let that happen.

See the below example for more clarity.

Int? a = null; //here a is a nullable value type

Int x = 0; //here a is a non-nullable value type

X = a;

You will get compile time error as below:

Cannot implicitly convert “int”; to “int.” An explicit conversion exists.

Anonymous class:

A new entry to PHP7 is “anonymous classes.” These classes have no name and can be defined simply with a keyword “new class.” The functionality goes in the similar line as that of an object of named class. They have internally generated names so, we need not define them again. They are useful for creating one-off objects.

For example, consider the below one;

Anonymous class_Image

Earlier, for creating a new class, it was required to override a property or method. That was extending the named class. However, with Anonymous class, your job will be easy for creating a simple one-off object.

Namespace:

If you want to encapsulate the items, then Namespace is what you will be looking for in PHP7. It can import a group of classes, functions, and constraints from the same namespace.

See this example below.

Before PHP7, you need to work as below:

Use xyz\abc\class Z

Use xyz\abc\class Y as newcode

After PHP7, you can work as below:

Use xyz\abc\ {class Z, class Y as newcode};

Here, we have highlighted the most important ones. However, there is a long list of the same. There are few technical advantages also. For instance, it is a commonly known fact that Linux is a more favorable playground for PHP rather than Windows and until now, it was running smoothly on 32-bit Windows, but the current version supports 64-bit windows as well. Therefore, with so much of changeovers, PHP7 can be quoted as one of the major release after PHP5 since 2004. Try to keep digging this new platform to gain maximum output with minimum input.

How to chose POS system for your restaurant

April 29th, 2018

Whеthеr уоur rеѕtаurаnt nееdѕ a new роint of sale system оr уоu аrе аdding such a ѕуѕtеm fоr the vеrу firѕt time, hеrе аrе some tips to help you рiсk out thе best POS fоr уоur rеѕtаurаnt. Dесiding on a POS ѕуѕtеm fоr a restaurant iѕ a big commitment. This оnе ѕуѕtеm will bе thе lifе blооd of the restaurants ability tо соllесt рurсhаѕеѕ bу customers. Thеrе аrе hundrеdѕ оf diffеrеnt systems out оn the mаrkеt thаt rеѕtаurаntѕ саn uѕе аnd thiѕ саn mаkе it diffiсult tо decide which one iѕ best choice. Cеrtаin ѕtерѕ should be tаkеn tо ensure thаt a rеѕtаurаnt will bе gеtting thе bеѕt ѕуѕtеm.

One of thе mаin thingѕ that a restaurant needs tо consider are thе nееdѕ of thе business. Some businesses аrе ѕmаll and therefore соuld uѕе a ѕinglе terminal оr a linked nеtwоrk system tо ѕаtiѕfу thеir demand. Othеr rеѕtаurаntѕ аrе lаrgеr and therefore nееd multiрlе terminals whiсh have a сеntrаl hub соntrоl their ѕуѕtеm. It iѕ also imроrtаnt tо find a ѕуѕtеm thаt will bе аblе tо trасk invеntоrу and еvеn make purchase orders. Aссоrding tо Infоrmаtiоn Wееk’ѕ “Whаt Tо Lооk Fоr In A Pоint Of Sаlе System”, a ѕtudу was done whеrе 93% оf ѕtоrеѕ ѕаid they hаd nоtiсеd invеntоrу decreasing due tо thеft аnd miѕсоunting by еmрlоуееѕ. POS ѕуѕtеmѕ thаt trасk inventory will grеаtlу rеduсе thе mаnаgеr’ѕ timе ѕреnt with inventory and will hеlр with invеntоrу lоѕѕ аnd ѕhоrtаgеѕ. These nееdѕ will dеtеrminе which type of ѕуѕtеm a rеѕtаurаnt needs tо be lооking at аnd by indentifying them first, it will ѕаvе timе аnd еliminаtе any wrоng сhоiсеѕ.

Sеtting a budgеt will аlѕо help a restaurant nаrrоw thеir choices. A rеѕtаurаnt should include all the hardware, software, аnd ѕеrviсеѕ thаt will bе nееdеd tо mаkе the system work. It iѕ a ѕmаrt idеа to try аnd get everything from оnе рlасе аѕ thiѕ саn сut соѕtѕ аnd will gеt rid of аnу “blame games” thаt might gо оn if ѕоmеthing gоеѕ wrong with the system. For the ѕоftwаrе, a rеѕtаurаnt has thе choice оf leasing wеb-bаѕеd software оr buуing it. Wеb-bаѕеd software is leased to a rеѕtаurаnt frоm a third party. This iѕ a good idеа fоr rеѕtаurаntѕ bесаuѕе thе third раrtу is able to bасk uр thеir ѕуѕtеm аnd save thеir filеѕ in саѕе the restaurant wоuld lose thеm fоr аnу rеаѕоn. InfоrmаtiоnWееk stated thаt ѕtudiеѕ found that 60% of businesses thаt lоѕе filеѕ will shut dоwn in 6 mоnthѕ аftеr thе incident. Buуing thе ѕоftwаrе will rеduсе thе соѕt, but dоеѕ nоt рrоvidе аnу bасkuр for thе rеѕtаurаnt’ѕ filеѕ unless the restaurant do it themselves or reach an agreement with the software supplier to set up daily backups of the files.

Trуing a demo оf a POS ѕуѕtеm is invaluable to a restaurant. Bу trуing a dеmо, thеу will lеаrn hоw thе ѕуѕtеm works and will ѕее thе pros and cons firѕthаnd. It will аlѕо ѕhоw thеm if thе ѕуѕtеm will fit intо thеir business with ease оr if it will be a сhаllеngе.

When picking a POS ѕуѕtеm, a restaurant wants tо mаkе sure thаt it is gеtting a gооd рrоduсt frоm a rерutаblе company. Thеу ѕhоuld rеѕеаrсh the соmраnу аnd mаkе ѕurе thаt they hаvе no рriоr рrоblеmѕ.

A tutorial on How to Create WordPress Child Theme

April 22nd, 2018

WordPress provides numerous themes to help the users. Besides, you can customize the themes to make it more palatable according to your needs. However, being a WordPress user, you must know how frequently you get updates on your theme. As soon as you update the theme, you will notice that all the changes you have done so far in your current theme are gone. Not updating your theme is not a good option too. Keeping your site away from updates also invites bugs and even hackers. That is when child themes come to rescue. A child theme is an identical theme of the parent theme.

Therefore, even if the parent theme is updated, you can still use your customized theme without compromising the security of your site. With a child theme, you can edit the CSS Stylesheet, PHP template, functions.php files along with image and JavaScript. Whether you are a coder or a designer, you can make changes in your WordPress with ease.

Advantages of Child Theme

Speed up development

A child theme is just an identical copy of parent theme such as its style, templates, and files. Therefore, you do not have to create a new theme from the start. With a child theme, you can make substantial changes in your theme without affecting the parent theme, which saves you a lot of unnecessary re-coding, and helps you to achieve your target sooner. Also, while coding in a child theme, if you forget to code for something, then you can always resort back to the functionality of parent’s theme.

Avoid any damage to your website

Skipping an update in your parent themes is dangerous. WordPress keeps updating its themes to increase the safety of your website and to fix an annoying bug. You will never know where you may land if you avoid any updates. With a child theme, you can retain all your parent’s theme modification and changes separately and update your parent themes without having to worry about losing your modification.

Usually, any update made to the theme gets waived away once the developer makes any modification to it. So, as a user, you may feel disheartened when your customized applications will be gone. However, you can simply avoid this by going for a child theme. You can make n-number of changes to the website without interfering with the theme.

Let’s know how to set up a basic child theme

Though, it can be done directly from the server; it is recommended to set-up everything locally followed by installing it as a normal theme by using the “Theme” menu. The whole process will be a hassle-free affair.

Create a folder

As a first step, you need to create a new folder for your child theme. You can get the theme inside the WordPress at location “wp-content/themes.” Give it a name similar to your parent theme and attach “-child” at last for easy recognition. Use any name you want but make sure it does not have any space in between.

Style Sheet

The design of the entire website depends on the code that is present inside the Style Sheet. Create a new text file and name it “style.css”. Then you have to paste the “stylesheet header” code at the beginning of the file.

Some terminologies may confuse you.

  • Theme Name: This is the prima facie that will represent your theme in the WordPress.
  • Theme URI: A Theme URI or an Author URI is important to make your theme get accepted in the WordPress theme directory. It represents the demonstration theme.
  • Description: It will show up when you will click on the theme menu.
  • Author: It’s no one but you, the creator of the theme itself.
  • Author URI: This contains the name of your website. You can put it here as optional.
  • Template: It is nothing but the folder name. As it is case-sensitive, you have to be little cautious. Otherwise, you will end up getting an error message.
  • Version: If you are getting started with your child theme, it will show up as 1.0 and will increase progressively with the number of upgradation your child theme takes.
  • License: WordPress themes get released under GPL license, and you shouldn’t change that for any reason.
  • Tags: These are relevant keywords that best describe your WordPress theme and help it getting visibility during search engine.

Activation

Before activation, you need your folder and style sheet to be ready with you. Once you have them by your side, go to the “themes” present under the “Appearance” section. Then click on the “Theme details,” and you will get the stylesheet header over there. Now, one last job is to click on the “Activate” button and you are done!

Few More things to do

Now the next step is to create the “functions.php” file as it will determine the look and behaviour of your website. The task is not hard; you have to paste the text “function.php” into the following code; 

<?php

//*Code goes here

As of now, the website will look more like a text type as you are using a parent theme. It’s time to inherit the information from that parent theme. All you have to do is to copy the code “@import url (“../twentyfifteen/style.css”)” into your “style.css” section of the child theme. The old way of copying several stylesheets will only make your website run slow.

Have we inserted theme image yet? Again, adding theme image is not a hard task either. Choose a big image of size 880 × 660 pixels, although it will be shown as 387 × 290. Go for a PNG image over JPEG and GIF. Name that image as “screenshot.png” and place it into your child theme folder.

Now, one question may strike your mind. Do you need to make a child theme every time your WordPress website demands a change? Actually, it depends. If the change you require is regarding colour or font size, go for a “custom CSS plugin” but if you have big changes in mind related to templates or anything in that magnitude, go for a child theme for sure without giving any second thought.