PHP 7 Why It’s Great and Our Compatible Extensions

We have great news at Extendware. Not only are we adding new Magento 2.0 extensions weekly, but we are also updating our extensions to PHP7. Many of them are available now so we thought we would share a little bit about PHP7 here in our blog!

Much Faster Speed

A great advantage of the new PHPNG engine is the significant performance improvement. The development team of PHPNG refactored the Zend Engine, and remarkably optimized memory usage. With PHP 7, not only your code will be executed faster, but you will also need fewer servers to serve the same number of users.

64-Bit Windows Systems Support

PHP is a prominent member of the LAMP stack which means its native environment is Linux, but it’s also possible to run it on a Windows system. PHP 7 introduces consistent 64-bit support which means both native 64-bit integers and large files will be supported, allowing you to confidently run the language on your 64-bit Windows system in the future.

The New Zend Engine

The Zend engine has been powering PHP since 1999 when it was introduced with the PHP 4 release. Zend PHP#NG-01-01(not to be confused with the Zend Framework) is an open source execution engine written in C that interprets the PHP language. PHP 7 receives an entirely new version of the engine coming under the code name of PHP#NG (Next Generation). The enhanced functionality of the initial engine and adds an extensible object model and a significant performance enhancement to the language.

Anonymous Classes

PHP 7 enables you to use anonymous classes, already a well-established practice in other object-oriented languages like C# and Java. An anonymous class is a class without a name. The object it instantiates has the same functionality as an object of a named class.

The syntax is the same as what we are used to in traditional PHP classes, only the name is missing. If anonymous classes are used well, they can speed up coding as well execution time. Anonymous classes are excellent when a class is used only once during execution and in cases when a class doesn’t need to be documented.

Error Handling

Handling fatal and catchable fatal errors have never been an easy task for PHP coders. The new Engine PhP image 2-01Exceptions will allow you to replace these types of errors with exceptions. If the exception is not caught, PHP will continue to return the same fatal errors as it does in the 5.X series.

The new Engine Exception objects don’t extend the Exception Base Class. This ensures backward compatibility and results in two different kinds of exceptions in error handling: traditional and engine exceptions. To enable programmers to catch both, PHP 7 introduces a new shared Parent Class under the name of Base Exception.

New Spaceship and Null Coalescing Operators

The Spaceship operator runs under the official name of Combined Comparison Operator. The notation of the new operator looks like this: <=> (kind of like a simplified spaceship, if you imagine it right). The Spaceship Operator returns 0 if both operands are equal, 1 if the left is greater, and -1 if the right is greater. It’s also called a three-way comparison operator, and it already exists in other popular programming languages like Perl and Ruby.

The Null Coalescing operator is denoted with two question marks ( ?? ). You can use it when you want to check if something exists and return a default value, in case it doesn’t. The coalesce operator returns the result of its first operand if it exists and is not null, and the second operand in any other cases

Enables Accurate Type Declarations

Have you ever wanted to prevent unintended return values by declaring the return type of a function? PHP 7 enables developers to enhance the quality of their code with the help of return type declarations.

Imports from the Same Namespace

The new Group Use Declarations feature will be crucial for those who want to import many classes from the same namespace. The new syntax cuts verbosity, makes your code tidier and easier on the eyes, and saves you a lot of typing time. It will also be easier to read through and debug codes, as group use declarations help you identify the imports that belong to the same module.

Frees Up Space

The goal of PHP 7 was to free up the space to enable improvement, so it was necessary to get rid of many deprecated functionalities and old and unsupported Server APIs and extensions.  All the removed items have been deprecated for a while in PHP 5 so most likely you haven’t used them for a long time. However please note if you have a legacy app running on older PHP versions the new PHP 7 can potentially break the code.

Check out some of our updated PHP7 compatible extensions!

LLucene-Searchucene Search

Increase revenue and customer satisfaction with faster, more relevant search results. Lucene Search is a powerful and flexible search solution that helps ensure your customers can always find the products they want.

 

Full Page CacheFull-Page-Cache-(Web)

Full Page Cache reduces your Magento store’s First Byte Time, Increases your web server request rate, reduces database load, and makes your store much more responsive

 

 

CacCache-Crawlerhe Warmer

The Magento Full Page Cache Crawler / Warmer will ensure your Full Page Cache solution is always “warmed” and ready to serve your store pages at the fastest speed possible. The extension is efficiently coded to reduce bandwidth, CPU, and crawling time.

 

 Image OptimizationImage-Optimization-(Web)

Images are very important for online stores, but unnecessarily large images can slow down the user experience and reduce search engine rankings. Image Optimization will optimize your images and reduce their size without sacrificing image quality, so that your site images are faster loading.

 

Auto-Translate-(for-web)Auto Translate

Increase your stores potential customer base by allowing users to translate the page to their preferred language. Ensure advertising campaigns and feeds targeting certain languages will automatically translate to that languageMinify 1.0

 

Product-Labels-(For-web)

Product Labels

Automatically highlight your special offers, featured products, sales, and more. Multiple images / labels per products supported, flexible rules, and many, many options to empower you to market your products the best way possible.

Why Not Follow and Like Us?

Reduce Page Size, Bandwidth, Server Load and More with the Minify Js/Css Extension for Magento

One of the worst feelings one can have is jumping on a website to make a purchase and the process is slower than molasses dripping out of a jar! Faster load times are ideal for online businesses and ensures your customers will stay and make purchases rather than give up and throw their laptop out the window in frustration…or worse, go to your competitor!

A process called Minification will help to alleviate all of these issues. It simply means that all of the unnecessary characters in your page’s source code will be extracted and your store pages will be as compact as possible when sent over the internet.

Minify Technologies
Minify Technologies

With Minify Js/CSS HTML you can :

Minify Your Javascript, CSS, and HTML

The Minify Js / CSS extension reduces the size of your Javascript, CSS, and HTML using 1 of 4 minify technologies (JSMin, JSMin Plus, YUI Compressor, and Closure Compiler). These technologies work by removing comments, rewriting CSS statements in a more efficient manner, removing white space, and rewriting Javascript variables. This extension will even minify your inline JS / CSS. On a default Magento Commerce install, you can expect the following (as shown in the graph found in the product image gallery):

Ability to Defer Loading of Javascript Loading for Even Faster Loading

Easily enable javascript deferment to eliminate render-blocking javaScript so that your page loads will not block while waiting for javascript to load. This can greatly improve google page speed score for javascript compatible with deferred loading.

Minify Inline Javascript                                                                               

Javascript is only half the story. The HTML and Javascript / CSS that are inside of each of your pages are equally important. Importantly, this data cannot be cached by the browser, so it must be downloaded on every page request. Other solutions completely ignore inline data.

Versioning of JS / CSS Files                                                                            

Ensure your content is always up-to-date. No need to flush caches or wait for files to be updated on the frontend. Your files will show any changes you have made immediately.

Intelligently Combine Javascript

On a default Magento Commerce install, the number of Web server requests will be reduced by 16 (this number is usually even higher on a non-default install). This significantly reduces request latency and bandwidth and marginally reduces the HTML size of page. Also, it means your Web server will not have to work as hard which will allow you to server more requests per second.
Do not compare the Extendware Minify JS / CSS extension’s ability to combine files with other modules.

Compress your Javascript and CSS                                                                        

Your Javascript and CSS will be compressed using 3 different compression algorithms (gzip, gzdefalt, and gzcompress). All files are pre-compressed, so they are not compressed on a per-request basis. This reduces latency and CPU load and speeds up high traffic Web sites.

Ability to Change Hostnames
Ability to Change Hostnames

Minify Non-Standard JS / CSS Files                                                                      

Some themes directly output javascript / css files to the theme instead of following Magento standards. Usually these cannot be minified, but with our technology they can be minified!

Improve the Browser Cache Management of Javascript / CSS files 

Javascript and CSS files have forever expiries added to them. This means that once downloaded the user will never have to make another request for your Javascript and CSS. This reduces latency, bandwidth, and your server load. When making changes to files the changes will still appear immediately on the site as the filenames will change.

Ability to Change Hostnames of URLs

Browsers generally have a 2-5 connection limit per hostname. For this reason it makes sense to use mutliple hostnames, so the browser will make more connections which can reduce download time. We support selecting custom hostnames for certain urls to maximize the number of browser connections.

Choose the Minification Algorithms that is Best for Your Needs

Different algorithmns have different characteristics and requirements. We don’t limit your choice. We include them all so that your site can be optimized as much as possible.

Compatible With Almost All CDNs                                                                          

Minifying javascript / css is compatible even if you use a content delivery network.

3 Different Compression Algorithms
3 Different Compression Algorithms

So simply install the Minify Js / CSS extension and reduce page size, bandwidth, request count, and server load and your customers will thank you!

If you can believe it, the above list is not a complete list of features. Please try the online demo or install as a install as a risk free trial and take advantage of our risk-free 30 day refund guarantee to fully see the power and elegance of the Minify JSS/CSS extension.

Why Not Follow and Like Us?

Minify HTML in Magento

Minify-Js--Css-(Web)Minifying HTML in Magento is one of those hidden Magento performance tweaks that few stores do. Almost everyone is minifying javascript and css thanks you our Minify Javascript / CSS Magento extension. However, few people enable the ability to Minify HTML which this extensions also supports.

Why should I Minify HTML?

It is important to optimize the size of your main HTML page because these cannot be cached by the browser (unlike javascript / css) and as a result the speed enhancement will affect almost every request. Many servers will compress the HTML of a page and that is extremely important to the page size. However, if the server is not doing this, then HTML minification becomes extremely important. Even when compression is used the minification process of HTML can still decrease page size by many percent, which will add up when you consider it affects every request.

How do I enable HTML Minification in Magento?

It is simple. Follow these steps:

  1. Purchase Minify Javascript / CSS for Magento and install it in your store
  2. In your store backend go to Extendware -> Manage Extensions -> Minify JS / CSS -> Configure -> Files and enable the HTML Minification option. There are three different modes to choose from. Usually the default is best setup.

Quick Overview

Speed up your site, improve your search engine site rankings and conversion rate, and improve your user experience in the process. Minify Js / CSS extension reduces page size, bandwidth, request count, and server load without anything more than installing this easy to use and feature-full extension.


 

Why Not Follow and Like Us?

Magento eliminate render-blocking JavaScript

Defer loading of javascript can significantly decrease the page load of your Magento store. Magento uses a lot of javascript and the browser will wait for this javascript to completely download before it renders the page. Now, the Magento Minify Javascript / CSS can eliminate render-blocking javascript.

Site Optimizer already will increase your site speed by minifying javascript / css / html and merging your js / css and even optimizing your images and putting forever expiries on your resources. Javascript deferred loading is the next step to fully optimize your store speed. Our deferred loading technology will work out-of-the-box with all of our Magento extensions and default magento. It will also work with many 3rd party extensions without any modifications.

In addition to javascript deferment we have updated the Site Optimizer with other under-the-hood improvements such as optimizing media images that are inside of cms pages and static block content.


Quick Extension Overview

Speed up your site, improve your search engine site rankings and conversion rate, and improve your user experience in the process. Minify Js / CSS extension reduces page size, bandwidth, request count, and server load without anything more than installing this easy to use and feature-full extension.


 

Why Not Follow and Like Us?

Performance of Merging Javascript / CSS in Magento

Minify-Js--Css-(Web)Summary: Built-in merging of Javascript / CSS will slow down your store. You need Magento Minify Javascript / Css to properly merge files

Many store owners are enabling Javascript / CSS merging in Magento in order to “increase performance”. You can go to System -> Developer and look under Javascript and CSS Settings to see if your store is currently merging Javascript / CSS. If you have enabled merging, then we recommend that you disable this setting now. If you need proper merging, then you should purchase Minify JS / CSS.

Why is built-in merging of Javascript / CSS bad?

It breaks the browser cache. Merging is not done in an intelligent way. It is done too aggressively as all files are merged into one css and one javascript file. This is effective one a single page, but is not effective for a site as complex as Magento. As your customers change page types (home page -> catalog page -> product page) then it will generate new merged URLs which breaks the browser cache and causes the redownloading of all your CSS / JS files.

Why does the default merging generate different URLs for different page types?

Different page types have different CSS / Javascript requirements. Your home page may include 10 javascript files while your catalog page might include 12 javascript files. As a consequence, the merge URL for the 10 file merge will be different than for the 12 file merge.

Does this mean it is better to disable merging?

Yes, your site will be faster if you disable merging. Alternatively, you can use Minify JS / CSS for Magento, which merges intelligently. Your Google Page Speed will decrease if you disable merging and do not use Site Optimizer. However, Google Page Speed only measures page speed. It does not measure site speed. An individually loaded page will be faster with merging enabled, but your entire site will be slower. So, if your customers visit more than one page, you want to disable merging.

Is there a way to verify merging is done properly or not?

Yes, go to the home page of your site and record all javascript / css urls. Then, do the same for a catalog page and a product page. Next, verify that the urls are all the same if the same content is shown. With default merging enabled, you will notice different urls and when you go to the urls you will notice that 90% of the javascript / css is duplicated among the different urls.


Quick Extension Overview

Speed up your site, improve your search engine site rankings and conversion rate, and improve your user experience in the process. Minify Js / CSS extension reduces page size, bandwidth, request count, and server load without anything more than installing this easy to use and feature-full extension.


 

Why Not Follow and Like Us?

Magento Javascript / CSS Merging

Extendware’s Magento Minify JS / CSS 1.2.8 was released today and it includes some very important compatibility features. In previous versions of Magento Minify JS / CSS the order of javascript / CSS was not guaranteed to be the same as before the extension is installed. Now, the order that these files are loaded is guaranteed to be the same as before when selecting the “Never”, “Automatic” and “Always” merging modes. “Automatic (aggressive)”, the previous behavior, can still be used and it will merge more files. The order of loaded files only affects some Magento stores, so try the different merge modes and see which one is best for your store.

In addition, this release solved an issue where the merging of pre-minified files and normal files were causing issues with some browsers. Now pre-minified files are not combined with normal files and this solves the browser issues.

Why Not Follow and Like Us?