Note
To continue learning more about Laravel Sail, review its complete documentation.
Installation
Laravel is a web application framework with expressive, elegant syntax. A web framework provides a structure and starting point for creating your application, allowing you to focus on creating something amazing while we sweat the details.
Laravel strives to provide an amazing developer experience while providing powerful features such as thorough dependency injection, an expressive database abstraction layer, queues and scheduled jobs, unit and integration testing, and more.
Whether you are new to PHP web frameworks or have years of experience, Laravel is a framework that can grow with you. We’ll help you take your first steps as a web developer or give you a boost as you take your expertise to the next level. We can’t wait to see what you build.
Note New to Laravel? Check out the Laravel Bootcamp for a hands-on tour of the framework while we walk you through building your first Laravel application.
Why Laravel?
There are a variety of tools and frameworks available to you when building a web application. However, we believe Laravel is the best choice for building modern, full-stack web applications.
A Progressive Framework
We like to call Laravel a “progressive” framework. By that, we mean that Laravel grows with you. If you’re just taking your first steps into web development, Laravel’s vast library of documentation, guides, and video tutorials will help you learn the ropes without becoming overwhelmed.
If you’re a senior developer, Laravel gives you robust tools for dependency injection, unit testing, queues, real-time events, and more. Laravel is fine-tuned for building professional web applications and ready to handle enterprise work loads.
A Scalable Framework
Laravel is incredibly scalable. Thanks to the scaling-friendly nature of PHP and Laravel’s built-in support for fast, distributed cache systems like Redis, horizontal scaling with Laravel is a breeze. In fact, Laravel applications have been easily scaled to handle hundreds of millions of requests per month.
Need extreme scaling? Platforms like Laravel Vapor allow you to run your Laravel application at nearly limitless scale on AWS’s latest serverless technology.
A Community Framework
Laravel combines the best packages in the PHP ecosystem to offer the most robust and developer friendly framework available. In addition, thousands of talented developers from around the world have contributed to the framework. Who knows, maybe you’ll even become a Laravel contributor.
Your First Laravel Project
Before creating your first Laravel project, you should ensure that your local machine has PHP and Composer installed. If you are developing on macOS, PHP and Composer can be installed within minutes via Laravel Herd. In addition, we recommend installing Node and NPM.
After you have installed PHP and Composer, you may create a new Laravel project via the Composer create-project command:
composer create-project laravel/laravel example-app
Or, you may create new Laravel projects by globally installing the Laravel installer via Composer. Or, if you installed PHP and Composer via Laravel Herd, the Laravel installer is already available to you:
composer global require laravel/installer laravel new example-app
After the project has been created, start Laravel’s local development server using the Laravel’s Artisan CLI serve command:
cd example-app php artisan serve
Once you have started the Artisan development server, your application will be accessible in your web browser at http://localhost:8000 . Next, you’re ready to start taking your next steps into the Laravel ecosystem. Of course, you may also want to configure a database.
Note
If you would like a head start when developing your Laravel application, consider using one of our starter kits. Laravel’s starter kits provide backend and frontend authentication scaffolding for your new Laravel application.
Laravel & Docker
We want it to be as easy as possible to get started with Laravel regardless of your preferred operating system. So, there are a variety of options for developing and running a Laravel project on your local machine. While you may wish to explore these options at a later time, Laravel provides Sail, a built-in solution for running your Laravel project using Docker.
Docker is a tool for running applications and services in small, light-weight “containers” which do not interfere with your local machine’s installed software or configuration. This means you don’t have to worry about configuring or setting up complicated development tools such as web servers and databases on your local machine. To get started, you only need to install Docker Desktop.
Laravel Sail is a light-weight command-line interface for interacting with Laravel’s default Docker configuration. Sail provides a great starting point for building a Laravel application using PHP, MySQL, and Redis without requiring prior Docker experience.
Note
Already a Docker expert? Don’t worry! Everything about Sail can be customized using the docker-compose.yml file included with Laravel.
Getting Started On macOS
If you’re developing on a Mac and Docker Desktop is already installed, you can use a simple terminal command to create a new Laravel project. For example, to create a new Laravel application in a directory named “example-app”, you may run the following command in your terminal:
curl -s "https://laravel.build/example-app" | bash
Of course, you can change “example-app” in this URL to anything you like – just make sure the application name only contains alpha-numeric characters, dashes, and underscores. The Laravel application’s directory will be created within the directory you execute the command from.
Sail installation may take several minutes while Sail’s application containers are built on your local machine.
After the project has been created, you can navigate to the application directory and start Laravel Sail. Laravel Sail provides a simple command-line interface for interacting with Laravel’s default Docker configuration:
cd example-app ./vendor/bin/sail up
Once the application’s Docker containers have been started, you can access the application in your web browser at: http://localhost.
Note
To continue learning more about Laravel Sail, review its complete documentation.
Getting Started On Windows
Before we create a new Laravel application on your Windows machine, make sure to install Docker Desktop. Next, you should ensure that Windows Subsystem for Linux 2 (WSL2) is installed and enabled. WSL allows you to run Linux binary executables natively on Windows 10. Information on how to install and enable WSL2 can be found within Microsoft’s developer environment documentation.
Note
After installing and enabling WSL2, you should ensure that Docker Desktop is configured to use the WSL2 backend.
Next, you are ready to create your first Laravel project. Launch Windows Terminal and begin a new terminal session for your WSL2 Linux operating system. Next, you can use a simple terminal command to create a new Laravel project. For example, to create a new Laravel application in a directory named “example-app”, you may run the following command in your terminal:
curl -s https://laravel.build/example-app | bash
Of course, you can change “example-app” in this URL to anything you like – just make sure the application name only contains alpha-numeric characters, dashes, and underscores. The Laravel application’s directory will be created within the directory you execute the command from.
Sail installation may take several minutes while Sail’s application containers are built on your local machine.
After the project has been created, you can navigate to the application directory and start Laravel Sail. Laravel Sail provides a simple command-line interface for interacting with Laravel’s default Docker configuration:
cd example-app ./vendor/bin/sail up
Once the application’s Docker containers have been started, you can access the application in your web browser at: http://localhost.
Note
To continue learning more about Laravel Sail, review its complete documentation.
Developing Within WSL2
Of course, you will need to be able to modify the Laravel application files that were created within your WSL2 installation. To accomplish this, we recommend using Microsoft’s Visual Studio Code editor and their first-party extension for Remote Development.
Once these tools are installed, you may open any Laravel project by executing the code . command from your application’s root directory using Windows Terminal.
Getting Started On Linux
If you’re developing on Linux and Docker Compose is already installed, you can use a simple terminal command to create a new Laravel project.
First, if you are using Docker Desktop for Linux, you should execute the following command. If you are not using Docker Desktop for Linux, you may skip this step:
docker context use default
Then, to create a new Laravel application in a directory named “example-app”, you may run the following command in your terminal:
curl -s https://laravel.build/example-app | bash
Of course, you can change “example-app” in this URL to anything you like – just make sure the application name only contains alpha-numeric characters, dashes, and underscores. The Laravel application’s directory will be created within the directory you execute the command from.
Sail installation may take several minutes while Sail’s application containers are built on your local machine.
After the project has been created, you can navigate to the application directory and start Laravel Sail. Laravel Sail provides a simple command-line interface for interacting with Laravel’s default Docker configuration:
cd example-app ./vendor/bin/sail up
Once the application’s Docker containers have been started, you can access the application in your web browser at: http://localhost.
Note
To continue learning more about Laravel Sail, review its complete documentation.
Choosing Your Sail Services
When creating a new Laravel application via Sail, you may use the with query string variable to choose which services should be configured in your new application’s docker-compose.yml file. Available services include mysql , pgsql , mariadb , redis , memcached , meilisearch , minio , selenium , and mailpit :
curl -s "https://laravel.build/example-app?with=mysql,redis" | bash
If you do not specify which services you would like configured, a default stack of mysql , redis , meilisearch , mailpit , and selenium will be configured.
You may instruct Sail to install a default Devcontainer by adding the devcontainer parameter to the URL:
curl -s "https://laravel.build/example-app?with=mysql,redis&devcontainer" | bash
Ederney Covered Wishing Well
Ederney Folklore – The Glendarragh Wishing Well on the edge of Ederney village (on the Lack road). The said well was originally part of the Glendarragh Lodge grounds but in the late 1850s was separated by the construction of a new Ederney to Lack road.
A wishing well is a term from Celtic folklore to describe wells where it was thought that any spoken wish would be granted. The idea that a wish would be granted came from the idea that water housed deities or had been placed there as a gift from the gods, since water was a source of life and often a scarce commodity.
The Celtic peoples believed that springs and wells to be sacred places. Sometimes the places were marked with wooden statues possibly of the god associated with the pool. Water was seen to have healing powers and consequently wells became popular with many people drinking, bathing or just simply wishing over it. In the circumstance of the Glendarragh Wishing Well, a 19th century born Ederney (Edenclaw) resident and apparent foreseer, Terence Boyle believed that uttering a wish at the well would be granted and had been a custom in the area for centuries
Such a myth may be a leftover from ancient mythology such as Mímir’s Well from Nordic myths, also known as the “Well of Wisdom”, a well that could grant you infinite wisdom provided you sacrificed something you held dear. Odin was asked to sacrifice his right eye which he threw into the well to receive not only the wisdom of seeing the future but the understanding of why things must be. Mímir is the Nordic god of wisdom, and his well sits at the roots of Yggdrasil, the World Tree which draws its water from the well.
Meanwha local historian explains the myth surrounding wells and springs and has interpreted that such bodies of water were, for example, closely identified with the goddesses, Bóann and Sionann, who are thought to be part of the water’s flow. These revered water springs are also frequently associated with the fruit of certain trees.
In pre-Christian Ireland, he detailed that such wells were visited at distinct times of the year including Imbolc on the 1st February, Beltaine on the 1st May , Lughnasa on the 1st August and Samhain on the 1st November. These were known as key ‘turning-points’ in the Celtic calendar. This is particularly true for Samhain, where the veil between the living and the dead was at its thinnest point, and frequently visions of the good people were seen in sacred places.
Research indicates that many sites essentially comprise of three elements which include – the well, spring, or other water source; a sacred tree – usually very large and very old; and a hill or standing stone. These features played a part in the prescribed rituals for pilgrims who came to the sites looking for favours. These were known as “patterns” and almost always involved some kind of circular walk following the direction of the sun movement from east to west. In the case of the Glendarragh Wishing Well, the local historian was particularly enthused by its Well’s architectural circular structure with its easterly facing opening directed towards the rising sun. He believed the key element involved in these practices at such wells centred on meditation where the individual hoped to achieve some benefit.
Situated outside Ederney Village on the main road to Omagh, this unusual covered Wishing Well is the only one of its kind in the local area. Access to the Well is obtained through a Kissing Gate which is located near to the roadside.