Top 10 Laravel Packages

Top 10 Laravel Packages

Packages for Laravel
A great way to accelerate development is to identify the packages that will provide the functionality we need out of the box. In our experience working with multiple Laravel projects, we found the following packages to be useful. Packages add functionality to Laravel. Packages can be a great way to work with dates like Carbon or an entire testing framework like Behat.

There are different types of packages. Some are standalone, which means they will work with all frameworks. Both Carbon and Behat are examples of such packages. It’s easy to use these packages — simply by requesting it in COMPOSER.JS file. The Packages mentioned here — whether for routes, controllers, views or configuration — are there to enhance Laravel application, and can be used only for Laravel.

The actual instructions are not listed here because I think it’s important that you get used to pulling that information from the source. Additionally, there’s no way I can stay on top of all the updates and there’s no sense in duplicating information. I will, of course, add any special notes when appropriate.

1.Image
Package: Image Maintainer: intervention
Creating a thumbnail or manipulating images can be a time-consuming process, especially in eCommerce projects where scores of such images are required. Laravel has introduced Image package which allows developers to create such images in a jiffy. Image Package helper class helps developers manipulate images in many ways. It provides features such as saving thumbnails of the image, setting it as grayscale, and a whole lot more.

2. Laravel Debug Bar
Package: Laravel-debugbar Maintainer: barryvdh
This is an absolute must for development. It installs a debug bar that sits at the bottom of the page and provides helpful information on routes, DB queries and more.
Note:- This is a package used to integrate PHP Debug Bar with Laravel 5. It includes a ServiceProvider to register the debug bar and attach it to the output. You can publish assets and configure it through Laravel. It bootstraps some Collectors to work with Laravel and implements a couple of custom DataCollectors, specific to Laravel. It is configured to display Redirects and (jQuery) Ajax Requests.

3. Laravel IDE Helper
Package: Laravel-ide-helper Maintainer: barryvdh
This installs a helper class, which helps PhpStorm recognize application’s laravel classes, so the developer doesn’t end up with unnecessary error messages from his IDE. This one doesn’t need configuration in config/app.php. Instead, one would have to initialize from artisan commands.

4. HTML
Package: Html Maintainer: laravelcollective
This one replaces the illuminate/html class, since that class is no longer supported and is no longer included in the core as of laravel 5. This package is essential if you like using the form model binding as shown below:

{!!Form::model($marketingImage, ['route' => ['marketingimage.destroy',
$marketingImage->id],
'method' => 'DELETE',
'class' => 'form',
'files' => true]
)!!}

But obviously, this is not very necessary, which is why it’s no longer in the core. You could simply create a form manually using bootstrap. You must remember to add:

<input type="hidden" name="_token" value="{{ csrf_token() }}">

That will add your csrf token to the post data.
This is very convenient which is why I use it whenever I can. When you are installing this, you will see instructions for adding the ‘Form’ alias. Please note that the bootstrapper package has Form alias as well and you cannot use both because it will cause a conflict. You can avoid the conflict by simply avoiding the bootstrapper form alias.

Note: Most instructions for adding to providers array and the alias array do not use the new PHP::class syntax. I recommend using the new syntax, which is better because it allows you to use your IDE to click into the class.

For example, old style alias:

'Form' => 'Collective\Html\FormFacade'

New style:

'Form' => Collective\Html\FormFacade::class,

You can do the same for the providers, in this case, it’s the html provider:

Collective\Html\HtmlServiceProvider::class,

5. Generators
Package : Generators Maintainer: way
This Laravel package provides a variety of generators to speed up your development process. These generators include:

generate:model
generate:view
generate:controller
generate:seed
generate:migration
generate:pivot
generate:resource
Generate:scaffold

Laracast generators give us an artisan command for creating pivot table migrations.

6. Excel
Package : Excel Maintainer: maatwebsite
Laravel Excel brings the power of PHP Office’s PHPExcel to Laravel 5 with a touch of the Laravel Magic. It includes features like importing Excel and CSV to collections, exporting models, arrays, and views to Excel, importing batches of files and importing a file through the config file.

The package also has a solution for dealing with very large imports. We can now use ->chunk() to import the data in chunks. Together with a queue, it can import large quantities of data.

7. Laravel-schema
Package: Laravel-schema Maintainer: autn
Be it a professional developer or just a beginner, everyone wants to get rid of the need for database querying. Writing queries requires you to remember the syntax and be cautious since a single mistake can lead to a big disaster. Laravel Schema Package had made all the database manipulation and operations very easy. Now developers have a lot of options to make database dance to their tunes without having to remember the syntax.

Laravel-schema package is helpful to view the schema information from Application server instead of logging into the Database server. It generates Mysql database schema from migration files. With this package, we can easily create database tables and perform all database operations without writing complicated queries.

You can understand the ease of use of Laravel Schema package with the following example of table creation. To create a new database table, the Schema::create method is used:

Schema::create('users', function($table)
{
  $table->increments('id');
});

The first argument passed to the create method is the name of the table and the second is a closure which will receive a Blueprint object which may be used to define the new table.

8. Laravel JSValidation
Package : Laravel-jsvalidation Maintainer :proengsoft
Validating every field of a form is a very tedious and time-consuming job with loads of space for error. Every time when we need to validate things, we re-write the code. Laravel had fixed this problem for everyone by releasing a validation Package.

Developers can validate forms automatically by referencing them to their pre-defined validations. The messages are loaded from our validations and translated according to your localization preferences. With JSvalidation, we can validate our forms using Javascript automatically. The main goal of this package is its ability to reuse our PHP validation logic to validate forms via Javascript. If we validate our forms using controller, the simplest way to reuse our validation rules is by sharing our rules between controller methods. By using FormRequest, you could configure your validations directly in the view.

Laravel Javascript Validation package helps us reuse our Laravel Validation Rules, Messages, FormRequest and Validators to validate forms automatically on the client side without re-writing any Javascript code or using HTML Builder Class.

9. Agent
Package: Agent Maintainer: jensseggers
Agent is a PHP desktop/mobile user agent parser with support for Laravel, based on Mobile Detect. It provides both desktop support and additional functionality. This Laravel package utilizes Mobile Detect PHP Class under the hood:

Mobile_Detect is a lightweight PHP class for detecting mobile devices (including tablets). It uses the User-Agent string in combination with specific HTTP headers to detect the mobile environment.

Nice syntax too:

Agent::is('Windows');
Agent::isNexus();
Agent::isMobile();

10. Bootstrapper
Package: Bootstrapper Maintainer: Patricktalmadge
This is a pretty wrapper for a lot of bootstrap related work. I haven’t gone too far deep into it, but I do use the breadcrumb widget. As I noted in the laravel collective HTML package, there is a conflict with the form alias. I would advise that you leave that out when updating the aliases array in config/app.php.

As Laravel continues to progress and more packages enter the marketplace, we will cover them for sure. Are there any packages you feel should have made this list? Or do you have something to say about some of the packages mentioned? Let us know!

Laravel and Other Frameworks

Laravel and Other Frameworks

Laravel and Other Frameworks

Developers have many choices while choosing a scripting language, sometimes deciding one becomes bit complicated.Developers choose a particular language as per the requirement of the project.We have many languages available like ASP, JSP, Perl, CGI, and PHP. May be there is always a debate between PHP and ASPX , but its hard to argue against the popularity of PHP, because big IT Giants are already using PHP. Facebook, one of the top social networking website is using PHP. Another reason of popularity of the php is WordPress. WordPress uses PHP to power its internals, which in return is powering more than 26% of the web. Currently, PHP powers more than 82% of websites (whose server-side programming languages the Web Technology Surveys site is able to track).

Why pick a PHP framework?

What makes developers to use PHP Frameworks rather then using core php for application development?

Working in core php without framework takes lot of time and makes developers work hard but on using any PHP framework this problem is solved.Now developers are using frameworks which makes development faster .Now you don’t have to write complex queries to retrieve the data from the database. PHP frameworks provide CRUD operations (Create, Read, Update, and Delete).

Few Benefits of using framework are summed up below:

Development is faster using Less Code (Rapid application development)

  • Frameworks enable developers to scale systems easily.
  • Code maintenance is easier than with a vanilla PHP application. The application code is concise and easy to work with.
  • Frameworks are better in securing the web application from common security threats.
  • The don’t repeat yourself (DRY) principle ensures that minimal code has maximum impact.
  • Pre-Build Libraries & Tools that can help you with Database Abstraction
  • Model view control (MVC) Architecture
  • Input/Output Filtering & From Validation
  • Session & Cookie handling with session management security integration.
  • Any value passed to database object gets filtered against SQL injection attacks central authentication service architecture
  • All HTML generating functions, such as form helpers and URL helpers filter the output automatically
  • Cross Site Request Forgery (CSRF) Protection and Client-Side Cross-site scripting protection (xss)
  • Encrypting cookies automatically is only a matter of changing a config option Suitable for teamwork
  • Community support and lot more

Sometimes too many options create difficult situation and deciding one become bit difficult.Choosing one among many ,needs lot of analysis and knowledge of all.

How to choose a PHP framework

Before choosing any of the available framework one has to analyse them of some parameters .Any framework, meeting the required parameters can be selected.Few of the parameters are defined below.

  • Features and functionality of the framework? (Does it offer what I need?)
  • Learning curve of the framework.
  • Scalablity of the framework.
  • Updates and Maintenance by the core team.
  • Long Term Support (LTS Support) .
  • Framework Community Support?

As we already discussed that it is not easy job to decide any particular framework for application development and it takes a lot to decide which one is best among many options. Lets now try to Analyse top most 5 frameworks so that we can conclude on one.

Some of the key point feature of laravel :

  1. Restful routing.
  2. Inherent Database Version control
  3. A lightweight Blade Templating Engine -A lightweight Blade Templating Engine that is powerfully driven by template inheritance of files having blade.php extension. This comes under the View part of the robust MVC architecture of Laravel.
  4. Composer — An amazing tool that lets you manage your application’s third-party packages easily.
  5. Comes bundled with Eloquent –An ORM that offers a beautifully simple Active Record implementation to work with your databases and is relatively faster than all other PHP frameworks.
  6. Built-in uni-testing and simply readable impressive syntax.
  7. Larger Community catering to thousands of programming geeks and application developers
  8. Intelligently designed to offer incredible flexibility to developers that help them create each and everything from small sites to giant enterprise applications.
  9. Application Logic that can be incorporated within any of your web applications using two ways — Either the Laravel Controllers or Route declarations utilizing a syntax similar to Sinatra framework.
  10. Automatic Pagination- We can use pagination to handle multiple pages with the help of configuration option in the “app/config/view.php” file. Generally for developers pagination is a heavy and hectic task especially the bunch of unnecessary configurations clutters up everything in the code. But with the help of Laravel, they can do this task in a jiffy by getting db record count and using a limit or an offset via ‘paginate’ option in two views — Slider View and Simple view. The best part with Laravel is, both of these views are fully compatible with Twitter Bootstrap framework also.

Get more information from laravel official community website Laravel.com

Let’s discuss Codeigniter framework

Another popular PHP framework is CodeIgniter , Choice :which is developed using most famous architectural the model-view-controller design pattern and its considered by a lot of companies as a most user-friendly framework for small to large scale project. Codeigniter is among the most popular frameworks because of many reasons and developers love to work with CodeIgniter.

CodeIgniter Features making it developers PrChoice:

  • Develop using MVC pattern
  • No PHP Version Conflicts
  • Less Chances to Mess The Code
  • Less Duplication of Code
  • Most Active Online Community
  • Built-in Libraries and Helpers
  • Cache Class
  • Security and Encryption
  • Database abstraction .
  • Easy to understand and extend
  • Little to no server requirements.
  • All the tools you need in one little package.

Get CodeIgniter Rocks Web Framework information from ww.codeigniter.com

The Fast, secure and professional PHP Framework — YII

Depending on developer’s requirements & Expertise, any framework be its YII or cakephp, can be the best framework..when you are going to rank best framework, you have to review all the aspect of every framework, Yii framework is the best for developing a website.

YII, one of the most important distinction which separates yii from all other PHP web framework is the AJAX integrated widgets.Unlike CakePHP yii have owned automated code generation tools. Yii have powerful back end setting tools that’s allow you select the feature you want to load on the front-end.

YII selected features list:

  • Fast — YII is very much known for its speed
  • Utilizes Modern Technologies — CRUD Feature
  • Highly Extensible
  • Database tables as objects (so that we don’t need to query all time)
  • Easy Form Validation
  • Great support for Jquery and ajax.
  • Inbuilt Authentication and Authorization
  • Shorten Development Time
  • Easy to Tune for Better Performance

Like any other good framework yii help you to develop quick modern web application with great performance and securities.

Have you tried with other php framework then just YII –yiiframework.com

ZEND FRAMEWORK

Zend is another best open source framework to create web applications and services. Zend is the fully object oriented language because of that it allows developers create special variations and individual component. Zend frameworks have the best features like extensive validation which you can use to validate data coming from forms. You can also use MVC components to create ZF projects.The components of Zend framework is unique. Developers can use these components as they want and it offers a robust, high-performance MVC implementation MVC implementation.

Features of Zend framework :

  • Extensive collection of unit tests
  • Ability to make code reusable.
  • List of advanced PHP Extensions and Components
  • You can select single components instead of the complete Zend Framework
  • Simply a collection of classes
  • You simply instantiate a Zend_Validate class and call the method
  • You can use client libraries to simply access to web services

Why You Should Use Cakephp ?

Developers who are looking for a free open-source and rapid development framework for PHP can choose CakePHP. Cakephp community’s primary goal is to enable you to work in a structured and rapid manner without loss of time and flexibility.If you want to start with CakePHP then you don’t have to waste more time, because a team of CakePHP provides you all the tools you need to get started.So CakePhp Community is strong and developers can take advantage of that.

Here’s a quick list of features you’all enjoy when using CakePHP :

  • Clean MVC Conventions
  • Active, friendly community
  • Compatible with versions 4 and 5 of PHP
  • Batteries Included — The things you need are built-in
  • Application scaffolding
  • Code generation tools
  • Fast and flexible templating (PHP syntax, with helpers)
  • Request dispatcher with clean, custom URLs and routes
  • Integrated CRUD for database interaction
  • Email, Cookie, Security, Session, and Request Handling Components
  • Data Sensitization Techniques used flexible working arrangements applied.
  • Works from any web site directory, with little to no Apache configuration involved.

I will say that there are lots of interesting things going on in other framework but most of just reuse. If you want to develop small — medium scale web application then CakePHP is useful framework.

Get more details about CakePHP –http://cakephp.org/

Symfony is among the top most 3 PHP Frameworks. It is one of the most actively used framework that ships with a powerful ORM and excellent documentation. The frequency of its fast adoption can be cited from the fact that Drupal, the most popular Open source CMS framework worldwide uses the symfony components upto its latest version (Drupal 8).

Exclusive Features

  1. The most stable, sustainable and flexible 3 in 1 framework that is quickly adaptable to all your needs
  2. Entirely Configurable with its “Dependency Injector” and “Event Dispatcher”
  3. Can be used as a standalone micro framework (Symfony 2) without you having to reinvent the wheel and installing the entire framework
  4. Lets you build and customize everything as per your own needs
  5. Growing Ecosystem of expert Community, Mailing Lists and IRCs etc. and many other service companies
  6. Extensible upto the brim and is presented as “Bundles” that are intended to add extra functionalities to the framework.
  7. Lets you leverage the power and strength of development by allowing to validate roles and improve productivity
  8. Apparently accessible to satiate professionals and advanced users with its amazing documentation and best practices.

After reviewing Google trend comparisons, there are no doubts to say that laravel become most popular PHP framework of 2016.

Only reviewing google trend graph we can define that laraval is one of the best PHP framework. Yes , Every framework has an own key point which one best on specific industries. So it is also important to review other popular php frameworks.

After reading this article, you are aware of which is the best frameworks and answer is Laravel Framework. Now, PHP developers choose any of the frameworks for PHP development as they comfortable and requirement. And For business purpose if you want to grow your business and create website with these frameworks, you should always exploring every single option available and keep your eyes on the latest technologies.