Chúng tôi sẽ giả vờ rằng bạn vừa mua một chiếc máy Mac mới và đang cố gắng khởi động và chạy nhanh nhất có thể. Sẽ có một vài điều mà bạn cần để bắt đầu, chẳng hạn như brew
, composer
và Docker
Nếu bạn không cần lấy dự án Laravel từ GitHub và đây là lần đầu tiên bạn cài đặt dự án Laravel trên máy tính của mình…
Tôi là một kỹ sư phần mềm có kinh nghiệm. Tôi thích tạo các ứng dụng có thiết kế đáp ứng, đẹp, trực quan, hiện đại. Tôi thành thạo HTML, CSS, JavaScript, Ionic, React, PHP, Laravel và FlutterLaravel Sail là giao diện dòng lệnh cho phép bạn tạo và quản lý ứng dụng Laravel của mình trên môi trường docker. Nếu bạn không biết gì hoặc biết một chút về docker, giao diện dòng lệnh này cho phép bạn quản lý môi trường docker cục bộ của mình
Laravel Sail hoạt động như thế nào?
Ưu điểm của việc sử dụng sail là tất cả các phụ thuộc dự án của bạn được quản lý bởi docker. Ví dụ. nếu dự án của bạn yêu cầu
- PHP
- mysql
- làm lại
- phụ thuộc khác
Sail sẽ cài đặt tất cả các phụ thuộc dự án của bạn bằng cách sử dụng docker phía sau hiện trường. Bạn không cần cài đặt bất kỳ phụ thuộc nào ở trên trên máy cục bộ của mình để làm việc với dự án Laravel
Hãy xem sơ đồ sau để hiểu cách thức hoạt động của Laravel Sail
Trong dự án Laravel Sail của bạn, bạn sẽ tìm thấy một tệp có tên docker-compose. yml. Tệp này về cơ bản xác định các dịch vụ khác nhau mà dự án của bạn yêu cầu. Ví dụ: nếu dự án Laravel của bạn yêu cầu
- PHP
- mysql
- làm lại
Sau đó, bạn sẽ thấy tất cả các phụ thuộc ở trên trong các dịch vụ trong docker-compose. tập tin yml. Về cơ bản, nó nói với sails rằng tôi muốn tạo tất cả các thùng chứa được đề cập trong các dịch vụ trong docker-compose. tập tin yml
Khi sails chạy, nó sẽ kéo tất cả các hình ảnh cần thiết từ dockerhub và sau đó tạo vùng chứa cho từng dịch vụ được xác định trong docker-compose của bạn. tập tin yml. Bạn có thể thêm nhiều dịch vụ hơn nếu bạn cần dựa trên dự án của bạn, chúng ta sẽ tìm hiểu chi tiết về chúng sau trong hướng dẫn này
Bạn tiết kiệm rất nhiều thời gian để tìm ra cài đặt cục bộ cho php, redis hoặc mysql hoặc một số phụ thuộc khác trên máy của bạn
Làm cách nào để cài đặt Laravel Buồm?
Bạn cần cài đặt các phần phụ thuộc sau trên máy mac hoặc linux trước khi tiếp tục với Laravel Sail
- Xoăn
- docker
Khi bạn đã cài đặt các phụ thuộc ở trên, hãy bắt đầu cài đặt một dự án laravel mới bằng cách sử dụng Laravel Sail. Mở cửa sổ đầu cuối của bạn và chạy từng lệnh một
# install laravel using curl
# change example-app to your project name
curl -s "//laravel.build/example-app" | bash
# once installed run docker containers using
./vendor/bin/sail up
# to destroy running container run
./vendor/bin/sail down
Cho đến nay, bạn đã cài đặt dự án Laravel bằng cách sử dụng tập lệnh bash do Laravel cung cấp. Sau khi dự án được cài đặt cục bộ, bạn sẽ tìm thấy các cánh buồm ở vị trí sau
./vendor/bin/sail
Làm cách nào để cài đặt Laravel Sail trong dự án Laravel hiện có?
Nếu bạn đã có dự án Laravel và bạn không sử dụng Laravel Sail, về cơ bản bạn có thể chạy các lệnh sau để cài đặt Sail trong dự án hiện tại của mình
# install composer dependency for sail
composer require laravel/sail --dev
# publish Sail's docker-compose.yml file to the root of your application
php artisan sail:install
Làm cách nào để chạy ứng dụng Laravel của bạn bằng Sail?
Khi bạn đã cài đặt Sail trong dự án Laravel của mình, bạn cần biết một số lệnh quan trọng sau để tương tác với ứng dụng Laravel dockerized của bạn
Hãy nhớ rằng tất cả các dịch vụ của bạn chạy trên các bộ chứa docker khác nhau và do đó bạn sẽ không thể chạy các lệnh Laravel trực tiếp từ thiết bị đầu cuối của mình, do đó chúng tôi sử dụng giao diện dòng lệnh Sail
Laravel Sail về cơ bản cho phép bạn chạy các lệnh bên trong vùng chứa đang chạy mà không cần đăng nhập vào vùng chứa bằng ssh. Bạn sẽ hiểu ý của tôi khi chúng ta bắt đầu chạy các lệnh sau
# Run Laravel Project Locally
# Following command will run all containers
# Defined in docker-compose.yml file
./vendor/bin/sail up
# If you want to stop all running containers
./vendor/bin/sail stop
# To check what containers are running run
# It will list all containers if any of them running
./vendor/bin/sail
# To destroy your running laravel app run
# This command will destroy all of your docker containers
./vendor/bin/sail down
# If you want to run unit tests
./vendor/bin/sail test
./vendor/bin/sail test --group orders
Làm cách nào để chạy các lệnh thủ công của Laravel bằng Sail?
Như tôi đã nói trước đó, các dịch vụ của bạn chạy bên trong docker container và do đó, việc thực thi lệnh Laravel artisan sẽ không hoạt động nếu bạn đang sử dụng Laravel Sail, tuy nhiên khi sử dụng sail, bạn có thể chạy tất cả các lệnh thủ công của mình
Đây là cách bạn có thể chạy artisan hoặc các lệnh khác bằng Laravel Sail
# run artisan command using sail
# use following syntax for your artisan commands
./vendor/bin/sail artisan
# example
./vendor/bin/sail artisan queue:work
# if you want to execute php command or script use
# following syntax for php commands
./vendor/bin/sail php
# example
./vendor/bin/sail php --version
# to run composer commands using sail
# use following syntax
./vendor/bin/sail composer
# exaamples
./vendor/bin/sail composer install
./vendor/bin/sail composer update
./vendor/bin/sail composer require laravel/sanctum
# if your project runs on npm or node or yarn use
# following sytaxes
./vendor/bin/sail npm
./vendor/bin/sail yarn
./vendor/bin/sail node
# examples
./vendor/bin/sail yarn install
./vendor/bin/sail npm install
./vendor/bin/sail node --version
# if you want to ssh into container
./vendor/bin/sail bash
# if you want to check container logs
./vendor/bin/sail logs -f
# if you want to restart specific service
./vendor/bin/sail restart
./vendor/bin/sail restart mysql
Tôi hy vọng bạn thích hướng dẫn này, hãy theo dõi các bài viết sắp tới của tôi về Laravel 8. Hãy thích và chia sẻ bài viết của tôi nếu bạn tiếp tục muốn tôi viết những bài báo tuyệt vời. Cảm ơn bạn