What is PHP Laravel 7 and How to install PHP Laravel 7 in Ub...
Blog Standard

What is PHP Laravel 7 and How to install PHP Laravel 7 in Ubuntu 20.10?

 

What is the need for using a framework?

A framework is a platform which is used to simplify the process of creating web applications.
It is something which provides you a structure around which you could add code to have a great fuctionality of the system.It allows a standard way of creating applications.

While we creating web application,without framework, first you may have to create a empty folder, then create index.html or index.php files,autoload files, session files etc.And you have to do this task repeatedly for each project your are creating.Frameworks reduces this type of redudancy in doing tasks and helps us to focus on logic of the web applications we are creating and it also saves our precious time.

Frameworks follows a MVC (Model View Controller)pattern. It controls the flow of data from Model, View to Controller and we have to just worry only about logic not fuctionality of web applications.

Model: It will focus on the what type of data the web applications dealing with.
View:It provides an user interface for developing applications.Views in framework is like a small adapter that resides on the top of the DOM.
Controller:It is a handler of inputs,such as clicks or browser events.

If we use a framework for development of web applications , then framework designer will always time to time update that framework, and we not have to worry about new evolving technologies or patterns.

Why choose Laravel and what are its features?

Php language has various frameworks Laravel, Symfony, CodeIgniter, Yii 2, Phalcon, CakePHP, Zend , Slim, etc.Laravel is one of the most popular framework.It is an open source PHP framework and is developed by Taylor Otwell.

User Authentication: Most of the modern day web applications need user authentication and it can be done in super easy by using Laravel Framework for that you just need some minimum configurations. Laravel creates components like user model, the register and login controller and corresponding view as well.It helps to add functionality as per the desired business logic of application. Socialite packages offered by Laravel enables your application to authenticate users using various social networks like Facebook, Google Plus and Twitter.

Composer For Dependency Management: Composer helps you to install laravel packages and also check package.json files to see what dependencies the application is using.A Composer also helps to update dependencies using a single Composer command.

Blade Templating Engine: Blad makes view code clean and also offers the template inheritance so that you could divide your templates into sections and inherit those sections into other view files.

The Eloquent ORM: Eloquent is laravel ORM (Object Relationship Mapping) which helps to fetch data from database,creates relationships between tables ,create various joins in tables and also offers many helper function that make interacting with the database super easy.Some commonly using databases are MySQL,PostgreSQL,SQLite,SQL Server and using Eloquent provides compatability with any of these databases.

Ques And Scheduler: While developing an application, there are many time consuming tasks like generation of a PDF report as CSV file that the user has requested.We must ensure that such type of tasks do not create a bottleneck in the user's process. Ques services of Laravel provides a unified API to defer such tasks for a later stage in the application.

Command Scheduler: Laravel’s Command Scheduler provides a clean API schedule various tasks using the inbuilt functions. So there is no need to log in to your machine’s terminal using SSH, and all these scheduled jobs are a part of your code.

Clean And Simple Routing: Laravel could handle all web routes using web.php file. Laravel could group easily the routes required for common middleware.

Convention Over Configurations Approach: Different components have different naming conventions and hardly have to focus on the configurations.Zend like frameworks are highly depend on configurations but Laravel framework will take care these naming conventions and everything will start to work magically.

Easy Notification Emails: Every modern-day applicatios has email notification facility.Laravel helps in sending out email notification and is super easy.Laravel facilitates sending mail through local or cloud based services through various notification email services such as Mailgun, adrill, SparkPost, Amazon SES, Send Mail etc.And can also send notifications via Slack and SMS using Nexmo.

Artisan Commands: Artisan is the command line interface for Laravel and helps developers to automate many task using the command line itself.Artisan commands can be used for doing comman tasks such as, creating a model, creating a controller, creating a database seeder, migrating the database, so on and so forth.

Testing Automation For Test Driven Development: Using Laravel,its became easy to write uit tests for your application and ensure that things are working the way you want them to.It supports PHPUnit and makes test-driven development for PHP applications very easy.

Separation Of Business Logic And Presentation Code:Laravel follows a Model View Controller (MVC) architectural pattern to separate the business logic from the view.

Laravel Installation

Let's discuss about installation of Laravel in Linux OS.

Before Installing Laravel, we must checks the requirements that to be satisfied by server.
These are that requirements:

  • PHP >= 7.2.5BCMath PHP Extension
  • Ctype PHP Extension
  • Fileinfo PHP extension
  • JSON PHP Extension
  • Mbstring PHP Extension
  • OpenSSL PHP Extension
  • PDO PHP Extension
  • Tokenizer PHP Extension
  • XML PHP Extension

Fortunately, Installing LAMP before Laravel will make server satisfies all these requirements. Check out this blog post to understand how to install and configure LAMP in Linux.

After installing LAMP, to find installed extensions type command:

$ sudo apt-cache search php | grep php-

shinimol@shinimol-Lenovo-G50-80:~$ sudo apt-cache search php | grep php-
php-all-dev - package depending on all supported PHP development packages
php-cgi - server-side, HTML-embedded scripting language (CGI binary) (default)
php-cli - command-line interpreter for the PHP scripting language (default)
php-common - Common files for PHP packages
php-curl - CURL module for PHP [default]
php-dev - Files for PHP module development (default)
php-gd - GD module for PHP [default]
php-gmp - GMP module for PHP [default]
php-ldap - LDAP module for PHP [default]
php-mysql - MySQL module for PHP [default]
php-odbc - ODBC module for PHP [default]
php-pear - PEAR Base System
php-pgsql - PostgreSQL module for PHP [default]
php-pspell - pspell module for PHP [default]
php-snmp - SNMP module for PHP [default]
php-sqlite3 - SQLite3 module for PHP [default]
php-tidy - tidy module for PHP [default]
php-xml - DOM, SimpleXML, WDDX, XML, and XSL module for PHP [default]
php-xmlrpc - XMLRPC-EPI module for PHP [default]
pkg-php-tools - various packaging tools and scripts for PHP packages
cakephp-scripts - rapid application development framework for PHP (scripts)
elpa-php-mode - PHP Mode for GNU Emacs
kdevelop-php-l10n - localization files for KDevelop PHP plugin
libphp-adodb - ADOdb is a PHP database abstraction layer library
libphp-embed - HTML-embedded scripting language (Embedded SAPI library) (default)
libphp-jabber - Object-oriented PHP interface for the Jabber/XMPP protocol
libphp-jpgraph - Object oriented graph library for php
libphp-jpgraph-examples - Object oriented graph library for php (examples)
libphp-magpierss - provides an XML-based RSS parser in PHP
libphp-phpmailer - full featured email transfer class for PHP
libphp-predis - Flexible and feature-complete PHP client library for the Redis key-value store
libphp-serialization-perl - Perl module to manipulate serialized PHP data structures
libphp-simplepie - RSS and Atom feed parsing in PHP
libphp-snoopy - Snoopy is a PHP class that simulates a web browser
libphp-swiftmailer - transitional dummy package
mlmmj-php-web - web interface for mlmmj, written in php
mlmmj-php-web-admin - administrative web interface for mlmmj, written in php
php-amqp - AMQP extension for PHP
php-amqplib - pure PHP implementation of the AMQP protocol
php-apcu - APC User Cache for PHP
php-apcu-bc - APCu Backwards Compatibility Module
php-arthurhoaro-web-thumbnailer - PHP library which will retrieve a thumbnail for any given URL
php-ast - AST extension for PHP 7
php-auth-sasl - Abstraction of various SASL mechanism responses
php-bcmath - Bcmath module for PHP [default]
php-bz2 - bzip2 module for PHP [default]
php-cache-integration-tests - Integration tests for PSR-6 and PSR-16 cache implementations
php-cache-lite - Fast and Safe little cache system
php-cache-tag-interop - Framework interoperable interfaces for tags
php-cas - Central Authentication Service client library in php
php-cboden-ratchet - PHP WebSocket library
php-cocur-slugify - Converts a string to a slug for PHP
php-codecoverage - collection, processing, and rendering for code coverage
php-codesniffer - PHP, CSS and JavaScript coding standard analyzer and checker
php-composer-ca-bundle - utility library to find a path to the system CA bundle
php-composer-semver - utilities, version constraint parsing and validation
php-composer-spdx-licenses - SPDX licenses list and validation library
php-composer-xdebug-handler - Restarts a process without Xdebug
php-console-commandline - A full featured command line options and arguments parser
php-console-table - Library that makes it easy to build console style tables
php-constant-time - Constant-time Implementations of RFC 4648 Encoding (Base-64, Base-32, Base-16)
php-date - Generic date/time handling class for PEAR
php-db - Database Abstraction Layer
php-db-dataobject - PHP PEAR module for object based SQL query building
php-deepcopy - create deep copies (clones) of objects
php-defuse-php-encryption - Simple Encryption in PHP
php-dflydev-fig-cookies - FIG Cookies for PHP
php-directory-scanner - recursive directory scanner and filter
php-doctrine-annotations - Docblock Annotations Parser - Doctrine component
php-doctrine-bundle - bundle library - Doctrine component
php-doctrine-cache - cache library - Doctrine component
php-doctrine-collections - Collections Abstraction library - Doctrine component
php-doctrine-common - common extensions for Doctrine
php-doctrine-data-fixtures - Data Fixtures for all Doctrine Object Managers
php-doctrine-dbal - database abstraction layer for Doctrine
php-doctrine-event-manager - Doctrine Event Manager component
php-doctrine-inflector - string manipulations library - Doctrine component
php-doctrine-instantiator - lightweight utility to instantiate objects in PHP
php-doctrine-lexer - base lexer library - Doctrine component
php-doctrine-orm - tool for object-relational mapping
php-doctrine-persistence - Doctrine Persistence abstractions
php-doctrine-reflection - Doctrine Reflection component
php-dompdf - HTML to PDF converter
php-ds - PHP extension providing efficient data structures for PHP 7
php-easyrdf - PHP library to consume and produce RDF
php-email-validator - A library for validating emails against several RFCs
php-embed - Get info from any web service or page
php-enchant - Enchant module for PHP [default]
php-evenement - Very simple event dispatching library for PHP
php-excimer - PHP extension that provides a non-static, non-global profiler
php-fabiang-sasl - PHP SASL2 Authentication Library
php-facedetect - Detect faces with PHP
php-fdomdocument - extension to PHP's standard DOM
php-fig-link-util - Common utility implementations for HTTP links
php-file-iterator - FilterIterator implementation for PHP
php-finder-facade - convenience wrapper for Symfony's Finder component
php-finder-facade-doc - convenience wrapper for Symfony's Finder component - documentation
php-font-lib - read, parse, export and make subsets of different fonts
php-fpdf - PHP class to generate PDF files
php-fpm - server-side, HTML-embedded scripting language (FPM-CGI binary) (default)
php-fxsl - XSL wrapper and extension to XSLTProcessor
php-gearman - PHP wrapper to libgearman
php-geoip - GeoIP module for PHP
php-geos - GEOS bindings for PHP
php-geshi - Generic Syntax Highlighter
php-getid3 - scripts to extract information from multimedia files
php-gmagick - Provides a wrapper to the GraphicsMagick library
php-gnupg - PHP wrapper around the gpgme library
php-google-recaptcha - reCAPTCHA PHP client library
php-guestfs - guest disk image management system - PHP bindings
php-guzzlehttp-promises - Guzzle promises library
php-guzzlehttp-psr7 - PSR-7 message implementation that also provides common utility methods
php-hamcrest - This is the PHP port of Hamcrest Matchers
php-htmlawed - htmLawed PHP code to purify & filter HTML
php-htmlpurifier - Standards-compliant HTML filter
php-http - PECL HTTP module for PHP Extended HTTP Support
php-http-httplug - HTTPlug, the HTTP client abstraction for PHP
php-http-message-factory - Factory interfaces for PSR-7 HTTP Message
php-http-promise - Promise used for asynchronous HTTP requests
php-http-psr7-integration-tests - Test suite for PSR7
php-http-request - Provides an easy way to perform HTTP requests
php-http-request2 - Provides an easy way to perform HTTP requests
php-http-webdav-server - WebDAV Server Baseclass
php-httpful - A Readable, Chainable, REST friendly, PHP HTTP Client
php-icinga - PHP library to communicate with and use Icinga
php-igbinary - igbinary PHP serializer
php-illuminate-container - Illuminate Database, Container component
php-illuminate-contracts - Illuminate Database, Contracts component
php-illuminate-database - Illuminate Database
php-illuminate-support - Illuminate Database, Support component
php-image-text - Image_Text - Advanced text maipulations in images
php-imagick - Provides a wrapper to the ImageMagick library
php-imap - IMAP module for PHP [default]
php-interbase - Interbase module for PHP [default]
php-intl - Internationalisation module for PHP [default]
php-invoker - Invoke callables with a timeout
php-json - JSON module for PHP [default]
php-json-schema - implementation of JSON schema
php-klogger - simple logging class
php-league-commonmark - Markdown parser based on the CommonMark JS reference implementation
php-league-html-to-markdown - An HTML-to-markdown conversion helper for PHP
php-letodms-core - Document management system
php-libvirt-php - libvirt bindings for PHP
php-log - Logging Framework
php-lorenzo-pinky - A Foundation for Emails (Inky) template transpiler
php-lua - PHP Embedded lua interpreter
php-luasandbox - PHP extension that provides a sandboxed Lua environment
php-mail - Class that provides multiple interfaces for sending emails
php-mail-mime - PHP PEAR module for creating MIME messages
php-mailparse - Email message manipulation for PHP
php-mapi - Complete and feature rich groupware solution - PHP MAPI bindings
php-mapscript - php-cgi module for MapServer
php-mapscript-ng - PHP MapServer module (SWIG)
php-mariadb-mysql-kbs - Knowledge base about MariaDB and MySQL server variables
php-markdown - PHP library for rendering Markdown data
php-masterminds-html5 - An HTML5 parser and serializer
php-mbstring - MBSTRING module for PHP [default]
php-mdb2 - database abstraction layer
php-mdb2-driver-mysql - mysql MDB2 driver
php-mdb2-driver-pgsql - pgsql MDB2 driver
php-memcache - memcache extension module for PHP
php-memcached - memcached extension module for PHP, uses libmemcached
php-mf2 - Microformats2 is the simplest way to markup structured information in HTML
php-mikey179-vfsstream - Virtual file system to mock the real file system in unit tests
php-mime-type - Utility class for dealing with MIME types
php-mockery - mock object framework for PHPUnit and other testing framework
php-mockery-doc - mock object framework for PHPUnit - documentation
php-mongodb - MongoDB driver for PHP
php-monolog - send logs to various destination and web services
php-msgpack - PHP extension for interfacing with MessagePack
php-nesbot-carbon - simple PHP API extension for DateTime
php-net-dime - The Net_DIME package implements DIME encoding and decoding
php-net-dns2 - PHP5 Resolver library used to communicate with a DNS server
php-net-ftp - Net_FTP provides an OO interface to the PHP FTP functions plus some additions
php-net-idna2 - PHP Pear module for handling international domain names
php-net-imap - Provides an implementation of the IMAP protocol
php-net-ipv6 - Check and validate IPv6 addresses
php-net-ldap2 - Object oriented interface for searching and manipulating LDAP-entries
php-net-ldap3 - Object oriented interface for searching and manipulating LDAP entries
php-net-nntp - NNTP implementation
php-net-publicsuffix - PHP module for detecting registered domains and public suffixes
php-net-sieve - Handles talking to a sieve server
php-net-smtp - PHP PEAR module implementing SMTP protocol
php-net-socket - Network Socket Interface
php-net-url - Easy parsing of Urls
php-net-url2 - Class for parsing and handling URL
php-net-whois - PHP PEAR module for querying whois services
php-netscape-bookmark-parser - generic Netscape bookmark parser
php-nikic-fast-route - Fast request router for PHP
php-nrk-predis - Flexible and feature-complete PHP client library for the Redis key-value store
php-nyholm-psr7 - A fast PHP7 implementation of PSR-7
php-oauth - OAuth 1.0 consumer and provider extension
php-parsedown - Parser for Markdown
php-parser - convert PHP code into abstract syntax tree
php-patchwork-utf8 - UTF-8 strings handling for PHP
php-pclzip - ZIP archive manager class for PHP
php-pcov - Code coverage driver
php-pecl-http - pecl_http module for PHP Extended HTTP Support [dummy]
php-pecl-http-dev - pecl_http module for PHP Extended HTTP Support [dummy]
php-phar-io-manifest - reading phar.io manifest information from a PHP Archive (Phar)
php-phar-io-version - handling version information and constraint
php-phpdbg - server-side, HTML-embedded scripting language (PHPDBG binary) (default)
php-phpdocumentor-reflection-common - Common reflection classes - phpDocumentor component
php-phpdocumentor-reflection-docblock - DocBlock parser - phpDocumentor component
php-phpdocumentor-type-resolver - TypeResolver and FqsenResolver - phpDocumentor component
php-phpmyadmin-motranslator - translation API for PHP using Gettext MO files
php-phpmyadmin-shapefile - translation API for PHP using Gettext MO files
php-phpmyadmin-sql-parser - validating SQL lexer and parser
php-phpseclib - implementations of an arbitrary-precision integer arithmetic library
php-phpspec-prophecy - object mocking framework - phpspec component
php-pimple - simple dependency injection container -- class
php-pinba - Pinba module for PHP
php-propro - propro module for PHP
php-propro-dev - propro module for PHP development headers [dummy]
php-proxy-manager - library providing utilities to operate with Object Proxies
php-ps - ps module for PHP
php-psr - PSR interfaces for PHP
php-psr-cache - Common interface for caching libraries
php-psr-container - Common Container Interface (PHP FIG PSR-11)
php-psr-event-dispatcher - Standard interfaces for event handling
php-psr-http-client - Common interface for HTTP clients
php-psr-http-factory - Common interfaces for PSR-7 HTTP message factories
php-psr-http-message - Common interface for HTTP messages
php-psr-link - Common interfaces for HTTP links
php-psr-log - common interface for logging libraries
php-psr-simple-cache - Common interfaces for simple caching
php-pubsubhubbub-publisher - WebSub publisher library for PHP
php-radius - radius client library for PHP
php-raintpl - “the easiest” Template Engine for PHP
php-random-compat - PHP 5.x polyfill for random_bytes() and random_int() from PHP 7
php-raphf - raphf module for PHP
php-raphf-dev - raphf module for PHP development headers [dummy]
php-ratchet-pawl - Asynchronous WebSocket client for RatchetPHP
php-ratchet-rfc6455 - Implementation of the WebSocket protocol for PHP
php-react-cache - Async, promise-based cache component for ReactPHP
php-react-child-process - Event-driven library for executing child processes with ReactPHP
php-react-dns - Asynchronous DNS resolver for ReactPHP
php-react-event-loop - ReactPHP's core reactor event loop for evented I/O
php-react-http - Event-driven, streaming HTTP/HTTPS server for ReactPHP
php-react-promise - lightweight implementation of CommonJS Promises/A for PHP
php-react-promise-stream - Link between promises and streams in ReactPHP
php-react-promise-timer - Trivial implementation of timeouts for promises on top of ReactPHP
php-react-socket - Asynchronous client and server socket connections for ReactPHP
php-react-stream - Event-driven streams for non-blocking I/O in ReactPHP
php-readline - readline module for PHP [default]
php-redis - PHP extension for interfacing with Redis
php-remctl - PECL module for Kerberos-authenticated command execution
php-respect-validation - PHP validation engine
php-robmorgan-phinx - Simple PHP Database Migrations
php-rrd - PHP bindings to rrd tool system
php-sabre-vobject - library to parse and manipulate iCalendar and vCard objects
php-sass - PHP bindings to libsass - fast, native Sass parsing in PHP
php-seclib - implementations of an arbitrary-precision integer arithmetic library
php-services-json - PHP implementaion of json_encode/decode
php-services-weather - This class acts as an interface to various online weather-services
php-shellcommand - An object oriented interface to shell commands
php-slim - PHP micro framework for quick and simple web applications and APIs
php-soap - SOAP module for PHP [default]
php-solr - PHP extension for communicating with Apache Solr server
php-sql-formatter - a PHP SQL highlighting library
php-ssh2 - Bindings for the libssh2 library
php-stomp - Streaming Text Oriented Messaging Protocol (STOMP) client module for PHP
php-swiftmailer - Swiftmailer, free feature-rich PHP mailer
php-sybase - Sybase module for PHP [default]
php-symfony - set of reusable components and framework for web projects
php-symfony-amazon-mailer - Symfony Amazon Mailer Bridge
php-symfony-asset - manage asset URLs
php-symfony-browser-kit - simulate the behavior of a web browser
php-symfony-cache - Symfony Cache component with PSR-6, PSR-16, and tags
php-symfony-cache-contracts - Generic abstractions related to caching
php-symfony-config - load configurations from different data sources
php-symfony-console - run tasks from the command line
php-symfony-contracts - A set of abstractions extracted out of the Symfony components
php-symfony-css-selector - convert CSS selectors to XPath expressions
php-symfony-debug - tools to make debugging of PHP code easier
php-symfony-debug-bundle - debugging tools for the Symfony framework
php-symfony-dependency-injection - standardize and centralize construction of objects
php-symfony-doctrine-bridge - integration for Doctrine with Symfony Components
php-symfony-dom-crawler - ease DOM navigation for HTML and XML documents
php-symfony-dotenv - .env files parser to make environment variables accessible
php-symfony-error-handler - manage errors and ease debugging
php-symfony-event-dispatcher - dispatch events and listen to them
php-symfony-event-dispatcher-contracts - Generic abstractions related to dispatching event
php-symfony-expression-language - compile and evaluate expressions
php-symfony-filesystem - basic filesystem utilities
php-symfony-finder - find files and directories
php-symfony-form - create HTML forms and process request data
php-symfony-framework-bundle - basic, robust and flexible MVC framework
php-symfony-google-mailer - Symfony Google Mailer Bridge
php-symfony-http-client - methods to fetch HTTP resources synchronously or asynchronously
php-symfony-http-client-contracts - Generic abstractions related to HTTP clients
php-symfony-http-foundation - object-oriented layer for the HTTP specification
php-symfony-http-kernel - building blocks for flexible and fast HTTP-based frameworks
php-symfony-inflector - words conversion between their singular and plural forms
php-symfony-intl - limited replacement layer for the PHP extension intl
php-symfony-ldap - abstraction layer for the PHP LDAP module
php-symfony-lock - create and manage locks
php-symfony-mailchimp-mailer - Symfony Mailchimp Mailer Bridge
php-symfony-mailer - help sending emails
php-symfony-mailgun-mailer - Symfony Mailgun Mailer Bridge
php-symfony-messenger - send and receive messages
php-symfony-mime - A library to manipulate MIME messages
php-symfony-monolog-bridge - integration for Monolog with Symfony Components
php-symfony-options-resolver - configure objects with option arrays
php-symfony-phpunit-bridge - integration for PHPUnit with Symfony Components
php-symfony-polyfill - Symfony polyfills backporting features to lower PHP versions
php-symfony-polyfill-apcu - Symfony polyfill backporting apcu_* functions to lower PHP versions
php-symfony-polyfill-ctype - Symfony polyfill for ctype functions
php-symfony-polyfill-iconv - Symfony polyfill for the Iconv extension
php-symfony-polyfill-intl-grapheme - Symfony polyfill for intl's grapheme_* functions
php-symfony-polyfill-intl-icu - Symfony polyfill for intl's ICU-related data and classes
php-symfony-polyfill-intl-idn - Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions
php-symfony-polyfill-intl-messageformatter - Symfony polyfill for intl's MessageFormatter class and related functions
php-symfony-polyfill-intl-normalizer - Symfony polyfill for intl's Normalizer class and related functions
php-symfony-polyfill-mbstring - Symfony polyfill for the Mbstring extension
php-symfony-polyfill-php54 - Symfony polyfill backporting some PHP 5.4+ features to lower PHP versions
php-symfony-polyfill-php55 - Symfony polyfill backporting some PHP 5.5+ features to lower PHP versions
php-symfony-polyfill-php56 - Symfony polyfill backporting some PHP 5.6+ features to lower PHP versions
php-symfony-polyfill-php70 - Symfony polyfill backporting some PHP 7.0+ features to lower PHP versions
php-symfony-polyfill-php71 - Symfony polyfill backporting some PHP 7.1+ features to lower PHP versions
php-symfony-polyfill-php72 - Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions
php-symfony-polyfill-php73 - Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions
php-symfony-polyfill-php74 - Symfony polyfill backporting some PHP 7.4+ features to lower PHP versions
php-symfony-polyfill-php80 - Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions
php-symfony-polyfill-util - Symfony utilities for portability of PHP codes
php-symfony-polyfill-uuid - Symfony polyfill for uuid functions
php-symfony-polyfill-xml - Symfony polyfill for xml's utf8_encode and utf8_decode functions
php-symfony-postmark-mailer - Symfony Postmark Mailer Bridge
php-symfony-process - execute commands in sub-processes
php-symfony-property-access - read from and write to an object or array
php-symfony-property-info - extract information about properties of PHP classes
php-symfony-proxy-manager-bridge - integration for ProxyManager with Symfony Components
php-symfony-routing - associate a request with code that generates a response
php-symfony-security - infrastructure for sophisticated authorization systems
php-symfony-security-acl - Symfony Security Component - ACL (Access Control List)
php-symfony-security-bundle - configurable security system for the Symfony framework
php-symfony-security-core - infrastructure for authorization systems - common features
php-symfony-security-csrf - infrastructure for authorization systems - CSRF protection
php-symfony-security-guard - infrastructure for authorization systems - Guard features
php-symfony-security-http - infrastructure for authorization systems - HTTP integration
php-symfony-sendgrid-mailer - Symfony Sendgrid Mailer Bridge
php-symfony-serializer - convert PHP objects into specific formats and vice versa
php-symfony-service-contracts - Generic abstractions related to writing services
php-symfony-stopwatch - profile PHP code
php-symfony-templating - tools needed to build a template system
php-symfony-translation - tools to internationalize an application
php-symfony-translation-contracts - Generic abstractions related to translation
php-symfony-twig-bridge - integration for Twig with Symfony Components
php-symfony-twig-bundle - configurable integration of Twig with the Symfony framework
php-symfony-validator - tools to validate classes
php-symfony-var-dumper - Symfony mechanism for exploring and dumping PHP variables
php-symfony-var-exporter - export serializable PHP data structure to plain PHP code
php-symfony-web-link - manage links between resources
php-symfony-web-profiler-bundle - collect requests information for analysis and debugging
php-symfony-web-server-bundle - provide commands for applications using the PHP built-in web server
php-symfony-workflow - manage a workflow or finite state machine
php-symfony-yaml - convert YAML to PHP arrays and the other way around
php-tcpdf - PHP class for generating PDF files on-the-fly
php-text-captcha - Generation of CAPTCHAs
php-text-figlet - Engine for use FIGlet fonts to rendering text
php-text-languagedetect - Language detection class
php-text-password - Creating passwords with PHP
php-text-template - Simple template engine
php-text-wiki - transform Wiki and BBCode markup into XHTML, LaTeX or plain text markup
php-thrift - PHP language support for Thrift
php-tideways - Tideways PHP Profiler Extension
php-tijsverkoyen-css-to-inline-styles - convert HTML into HTML with inline styles
php-timer - Utility class for timing
php-token-stream - Wrapper around PHP's tokenizer extension
php-tokenizer - tokenized PHP source to XML converter
php-twig - Flexible, fast, and secure template engine for PHP
php-twig-cssinliner-extra - A Twig extension to allow inlining CSS
php-twig-doc - Twig template engine documentation
php-twig-extensions - extensions for the Twig template system
php-twig-extra-bundle - A Symfony bundle for extra Twig extensions
php-twig-html-extra - A Twig extension for HTML
php-twig-i18n-extension - i18n extension for the Twig template system
php-twig-inky-extra - A Twig extension for the inky email templating engine
php-twig-intl-extra - A Twig extension for Intl
php-twig-markdown-extra - A Twig extension for Markdown
php-uopz - UOPZ extension for PHP 7
php-uploadprogress - file upload progress tracking extension for PHP
php-uuid - PHP UUID extension
php-validate - validation class
php-webmozart-assert - Assertions to validate method input/output with nice error messages
php-wikidiff2 - external diff engine for mediawiki
php-wmerrors - PHP extension that enhances and customizes handling of PHP errors
php-xajax - A library to develop Ajax applications
php-xdebug - Xdebug Module for PHP
php-xml-htmlsax3 - SAX parser for HTML and other badly formed XML documents
php-xml-rpc2 - PHP XML-RPC client/server library
php-xml-svg - XML_SVG API
php-yac - YAC (Yet Another Cache) for PHP
php-yaml - YAML-1.1 parser and emitter for PHP
php-zend-code - Zend Framework - Code component
php-zend-eventmanager - Zend Framework - EventManager component
php-zend-stdlib - Zend Framework - Stdlib component
php-zeroc-ice - PHP extension for Ice
php-zeta-base - Zeta Components - Base package
php-zeta-console-tools - Zeta Components - ConsoleTools package
php-zeta-unit-test - Zeta Components - UnitTest package
php-zip - Zip module for PHP [default]
php-zmq - ZeroMQ messaging bindings for PHP
php-mythtv - PHP Bindings for MythTV

 

Composer provides an installer script written in PHP. We’ll download it, verify that it’s not corrupted, and then use it to install Composer.
Curl should be present in your system, type
curl -sS https://getcomposer.org/installer -o composer-setup.php
if this error occurs, ie is curl not found,then install curl first

shinimol@shinimol-Lenovo-G50-80:~$ curl -sS https://getcomposer.org/installer -o composer-setup.php
Command 'curl' not found, but can be installed with:
sudo apt install curl

 

To install curl, type
$ sudo apt install curl

shinimol@shinimol-Lenovo-G50-80:~$ sudo apt install curl

 

Curl installed successfully.
So now we are going to install Composer.Composer is used to facilitate installation and updates for project dependencies. It will check which other packages a specific project depends on and install them for you, using the appropriate versions according to the project requirements. Composer is also commonly used to bootstrap new projects based on popular PHP frameworks, such as Symfony and Laravel.
To download composer installer script type:
$ curl -sS https://getcomposer.org/installer -o composer-setup.php

shinimol@shinimol-Lenovo-G50-80:~$ curl -sS https://getcomposer.org/installer -o composer-setup.php

 

To facilitate the verification step, you can use the following command to programmatically obtain the latest hash from the Composer page and store it in a shell variable
$ HASH=curl -sS https://composer.github.io/installer.sig
and then
$ echo $HASH

shinimol@shinimol-Lenovo-G50-80:~$ HASH=curl -sS https://composer.github.io/installer.sig
shinimol@shinimol-Lenovo-G50-80:~$ echo $HASH
756890a4488ce9024fc62c56153228907f1545c228516cbf63f885e036d37e9a59d27d63f46af1d4d07ee0f76181c7d3
shinimol@shinimol-Lenovo-G50-80:~$ php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
Installer verified

 

Now composer installer script is verified, now install composer for that type:
$ sudo apt install composer

shinimol@shinimol-Lenovo-G50-80:~$ sudo apt install composer
Reading package lists… Done
Building dependency tree
Reading state information… Done
The following additional packages will be installed:
jsonlint php-composer-ca-bundle php-composer-semver php-composer-spdx-licenses php-composer-xdebug-handler php-json-schema
php-symfony-console php-symfony-filesystem php-symfony-finder php-symfony-polyfill-php80 php-symfony-process
Suggested packages:
fossil mercurial subversion php-symfony-event-dispatcher php-symfony-lock
The following NEW packages will be installed:
composer jsonlint php-composer-ca-bundle php-composer-semver php-composer-spdx-licenses php-composer-xdebug-handler php-json-schema
php-symfony-console php-symfony-filesystem php-symfony-finder php-symfony-polyfill-php80 php-symfony-process
0 upgraded, 12 newly installed, 0 to remove and 4 not upgraded.
Need to get 575 kB of archives.
After this operation, 3,429 kB of additional disk space will be used.
Do you want to continue? [Y/n] y

 

Type 'y' for confirmation

After installation successfull, to test installation type
$ composer

shinimol@shinimol-Lenovo-G50-80:~$ composer
         ______
  / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                    /_/

Composer 1.10.10 2020-08-03 11:35:19

Usage:
  command [options] [arguments]

Options:
  -h, --help                     Display this help message
  -q, --quiet                    Do not output any message
  -V, --version                  Display this application version
      --ansi                     Force ANSI output
      --no-ansi                  Disable ANSI output
  -n, --no-interaction           Do not ask any interactive question
      --profile                  Display timing and memory usage information
      --no-plugins               Whether to disable plugins.
  -d, --working-dir=WORKING-DIR  If specified, use the given directory as working directory.
      --no-cache                 Prevent use of the cache
  -v|vv|vvv, --verbose           Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug

Available commands:
  about                Shows the short information about Composer.
  archive              Creates an archive of this composer package.
  browse               [home] Opens the package's repository URL or homepage in your browser.
  check-platform-reqs  Check that platform requirements are satisfied.
  clear-cache          [clearcache|cc] Clears composer's internal package cache.
  config               Sets config options.
  create-project       Creates new project from a package into given directory.
  depends              [why] Shows which packages cause the given package to be installed.
  diagnose             Diagnoses the system to identify common errors.
  dump-autoload        [dumpautoload] Dumps the autoloader.
  exec                 Executes a vendored binary/script.
  fund                 Discover how to help fund the maintenance of your dependencies.
  global               Allows running commands in the global composer dir ($COMPOSER_HOME).
  help                 Displays help for a command
  init                 Creates a basic composer.json file in current directory.
  install              [i] Installs the project dependencies from the composer.lock file if present, or falls back on the composer.json.
  licenses             Shows information about licenses of dependencies.
  list                 Lists commands
  outdated             Shows a list of installed packages that have updates available, including their latest version.
  prohibits            [why-not] Shows which packages prevent the given package from being installed.
  remove               Removes a package from the require or require-dev.
  require              Adds required packages to your composer.json and installs them.
  run-script           [run] Runs the scripts defined in composer.json.
  search               Searches for packages.
  show                 [info] Shows information about packages.
  status               Shows a list of locally modified packages, for packages installed from source.
  suggests             Shows package suggestions.
  update               [u|upgrade] Upgrades your dependencies to the latest version according to composer.json, and updates the composer.lock file.
  validate             Validates a composer.json and composer.lock.

Now I wish to create a project named Sample, for that I created a folder Sample in directory /var/www/html
The Bootstrap and Vue scaffolding provided by Laravel is located in the laravel/ui Composer package, which may be installed using Composer. In Sample folder, type command
composer require laravel/ui

shinimol@shinimol-Lenovo-G50-80:~$ cd /var/www/html/Sample/
shinimol@shinimol-Lenovo-G50-80:/var/www/html/Sample$ composer require laravel/ui

Once the laravel/ui package has been installed, you may install the frontend scaffolding using the ui Artisan command. To generate login and registration scaffolding, type command
php artisan ui bootstrap --auth

shinimol@shinimol-Lenovo-G50-80:/var/www/html/Sample$ php artisan ui bootstrap --auth
Bootstrap scaffolding installed successfully.

Then install your project's frontend dependencies using the Node package manager (NPM), type command
sudo apt install npm and then your pc's password.

shinimol@shinimol-Lenovo-G50-80:/var/www/html/Sample$ sudo apt install npm
[sudo] password for shinimol:
After this operation, 256 MB of additional disk space will be used.
Do you want to continue? [Y/n] y

At last, project folder is created and laravel is installed successfully in it.

CLI Commands used in Laravel

Command-line interface included with Laravel is artisan.It provides a number of helpful commands used while developing applications. It is driven by the powerful Symfoy Console component.

1)The following command will help to view a list of helpful commands that can be assist to build an application is:
php artisan list

2)The following command is to do database migration for all the tables, run the command below:
php artisan migrate

3)The following command will start the Laravel development server and provide a URL to visit the running Laravel application:
php artisan serve

4)The following command can be used to take the Laravel application in or out of the Maintenance Mode:
In Maintenance:
php artisan down

Out of Maintenance:
php artisan up

5)The following command will display list of all the routes:
php artisan route:list

6)The following command will create a full authentication system:
php artisan ui vue --auth

7)The following command will create a migration:
php artisan make:migration create_articles_table

8) The following command will create controller :
php artisan make:controller

9) The following command will create model:

php artisan make:model -m

Cover ImageNo file chosen Version 2.4.18Copyright © 2014-2019 AdminLTE. All rights reserved.