Làm cách nào để tạo và chạy dự án laravel?

Kể từ lần phát hành đầu tiên vào năm 2011, Laravel đã trải qua sự tăng trưởng theo cấp số nhân. Vào năm 2015, nó đã trở thành framework PHP được đánh dấu sao nhiều nhất trên GitHub và trở thành framework dành cho mọi người trên toàn thế giới. Nếu bạn muốn tìm hiểu thêm về lịch sử, hãy xem Laravel là gì

Laravel tập trung vào người dùng cuối trước. có nghĩa là nó tập trung vào sự đơn giản, rõ ràng và hoàn thành công việc. Mọi người và các công ty đang sử dụng nó để xây dựng mọi thứ, từ các dự án theo sở thích đơn giản cho đến các công ty trong danh sách Fortune 500

Mục tiêu của tôi với hướng dẫn Laravel này là tạo một hướng dẫn cho những người mới học Laravel. Hướng dẫn này sẽ đưa bạn từ bước khởi đầu của một ý tưởng thành một ứng dụng có thể triển khai thực sự. Nếu bạn muốn đọc nó dưới dạng sách điện tử, bạn có thể tham gia Bản tin Laravel hàng tuần của chúng tôi và nhận nó miễn phí

Cái nhìn về Laravel này sẽ không đầy đủ, nhưng nếu bạn muốn có phần giới thiệu đầy đủ hơn, tôi khuyên bạn nên đọc cuốn sách Laravel. lên và chạy. Hướng dẫn này mong đợi một vài điều kiện tiên quyết và đây là những gì bạn sẽ cần phải làm theo

  • Môi trường PHP cục bộ [Valet, Homestead, Vagrant, MAMP, v.v. ]
  • Một cơ sở dữ liệu [Tôi sẽ sử dụng MySQL]
  • Đã cài đặt PHPUnit
  • Đã cài đặt nút JS

Ghi chú. Để phát triển PHP cục bộ, tôi khuyên dùng Mac OSX và Valet vì nó tự động thiết lập mọi thứ. Nếu bạn đang dùng Windows, hãy xem xét Homestead hoặc một số hương vị của máy ảo. Một tùy chọn khác là cổng Valet do cộng đồng cung cấp

Tôi đang cố gắng thực hiện quy trình tạo ứng dụng mới giống như trong môi trường thế giới thực. Thật ra code và ý tưởng là từ một project do mình xây dựng

Lập kế hoạch

Mọi dự án đều phải bắt đầu từ đâu đó; . Bất kể nó bắt nguồn từ đâu, việc lập kế hoạch kỹ lưỡng cho tất cả các tính năng trước khi bạn bắt đầu viết mã là điều tối quan trọng trong việc hoàn thành một dự án

Cách bạn lên kế hoạch phụ thuộc vào cách trí óc bạn hoạt động. Là một người trực quan, tôi thích lập kế hoạch trên giấy, vẽ ra cách tôi hình dung màn hình trông như thế nào và sau đó làm ngược lại cách tôi viết mã cho nó. Những người khác thích viết kế hoạch dự án trong tệp văn bản, wiki hoặc một số công cụ bản đồ tư duy. Không quan trọng bạn lập kế hoạch như thế nào, chỉ cần bạn thực hiện nó

Đối với hướng dẫn này, chúng tôi sẽ xây dựng một thư mục liên kết. Dưới đây là danh sách các mục tiêu cơ bản cho ứng dụng liên kết này

  1. Hiển thị danh sách liên kết đơn giản
  2. Tạo biểu mẫu nơi mọi người có thể gửi liên kết mới
  3. Xác thực biểu mẫu
  4. Chèn dữ liệu vào cơ sở dữ liệu

Bắt đầu nào

Những bước đầu tiên

Với một kế hoạch tấn công đơn giản được vạch ra, đã đến lúc bắt đầu và chạy một dự án trống hoàn toàn mới. Tôi muốn đặt tất cả các dự án của mình vào thư mục ~/Sites và các hướng dẫn này sẽ sử dụng vị trí đó. Tôi đã “đỗ” thư mục này trong Valet, vì vậy mọi thư mục sẽ tự động được ánh xạ tới “tên thư mục. kiểm tra” trong trình duyệt

Mở ứng dụng đầu cuối của bạn và chuyển vào thư mục này

1mkdir ~/Sites

2cd ~/Sites

Laravel cung cấp một trình cài đặt tiện lợi. Nếu bạn dự định viết ứng dụng Laravel, hãy làm theo tài liệu cài đặt để biết chi tiết về cách thiết lập trình cài đặt

Cho dù bạn đã thiết lập trình cài đặt hay muốn sử dụng trình soạn thảo, hãy chạy một trong các thao tác sau để tạo dự án Laravel mới cho ứng dụng

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=links_development

5DB_USERNAME=root

6DB_PASSWORD=

7

1# Via the installer

2laravel new links

3

4# Via composer

5composer create-project --prefer-dist laravel/laravel links "7.*"

Điều này sẽ tạo một thư mục mới tại

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=links_development

5DB_USERNAME=root

6DB_PASSWORD=

8 và cài đặt một dự án Laravel mới

Truy cập

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=links_development

5DB_USERNAME=root

6DB_PASSWORD=

9 trong trình duyệt hiện hiển thị trang chào mừng mặc định của Laravel

Thiết lập cơ sở dữ liệu

Khi bạn tạo một dự án Laravel mới, quá trình cài đặt sẽ tự động tạo một tệp

1php artisan migrate

0 [được sao chép từ tệp

1php artisan migrate

1] để cấu hình và thông tin đăng nhập. Tùy thuộc vào thiết lập của bạn, bạn sẽ cần sửa đổi khối cài đặt sau để phù hợp với cấu hình cơ sở dữ liệu của mình

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=laravel

5DB_USERNAME=root

6DB_PASSWORD=

Bạn có thể muốn tạo một cơ sở dữ liệu mới cho dự án này

________số 8

Sau đó, bạn sẽ muốn điều chỉnh cấu hình cơ sở dữ liệu trong

1php artisan migrate

0

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=links_development

5DB_USERNAME=root

6DB_PASSWORD=

Cách tốt nhất để kiểm tra kết nối cơ sở dữ liệu của bạn là chạy lệnh thủ công

1php artisan migrate

3

1php artisan migrate

Nếu mọi thứ diễn ra theo đúng kế hoạch, bạn sẽ thấy một số thứ như sau sau khi chạy lệnh di chuyển

Giàn giáo xác thực

Laravel có gói bên thứ nhất riêng biệt để tạo giàn giáo phổ biến giúp thiết lập xác thực dễ dàng. Để sử dụng nó, chúng ta cần cài đặt gói UI composer

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=links_development

5DB_USERNAME=root

6DB_PASSWORD=

3

Gói giao diện người dùng cung cấp một số lệnh để thiết lập giàn giáo cho các công cụ như React, Vue và Bootstrap. Chúng tôi sẽ tạo giàn giáo xác thực đơn giản cho dự án này, nhưng vui lòng làm theo tài liệu thiết lập giao diện người dùng

Chạy phần sau để tạo tuyến đường, bộ điều khiển, chế độ xem và các tệp khác cần thiết cho auth

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=links_development

5DB_USERNAME=root

6DB_PASSWORD=

4

Cuối cùng, chúng ta cần biên dịch giao diện người dùng CSS của mình như sau

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=links_development

5DB_USERNAME=root

6DB_PASSWORD=

5

Lệnh

1php artisan migrate

4 sẽ lắng nghe các thay đổi của tệp đối với tệp JS và CSS và tự động cập nhật chúng. Bạn có thể muốn có

1php artisan migrate

5 chạy trong một tab riêng biệt trong khi phát triển

Mặc dù hướng dẫn này sẽ không đi sâu vào xác thực bằng cách chạy lệnh này, nhưng nó sẽ sửa đổi chế độ xem và tuyến đường của chúng tôi. Vì vậy, bằng cách thực hiện sớm, chúng tôi không phải lo lắng về việc nó làm hỏng bất kỳ mã nào của chúng tôi

Với những điều cơ bản được thiết lập và hoạt động, đã đến lúc bắt đầu viết mã

Xây dựng danh sách liên kết

Nếu bạn bắt đầu nghĩ về một dự án đã hoàn thành, bạn rất dễ bị choáng ngợp. Cách tốt nhất để chống lại điều này là chia dự án thành các nhiệm vụ nhỏ. Vì vậy, hãy bắt đầu bằng cách hiển thị danh sách các liên kết

Mặc dù việc hiển thị danh sách các liên kết nghe giống như một nhiệm vụ nhỏ nhưng nó vẫn yêu cầu cơ sở dữ liệu, bảng cơ sở dữ liệu, dữ liệu trong bảng, truy vấn cơ sở dữ liệu và tệp dạng xem

Tạo di chuyển sẽ là bước đầu tiên và công cụ dòng lệnh Laravel Artisan có thể giúp chúng ta xây dựng điều đó

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=links_development

5DB_USERNAME=root

6DB_PASSWORD=

8

Bây giờ, hãy mở tệp mà lệnh này đã tạo. Nó sẽ được đặt tại cơ sở dữ liệu/di chuyển/{{datetime}}_create_links_table. php. Bạn cũng sẽ nhận thấy một số di chuyển khác trong thư mục này mà khung cung cấp

Bên trong phương thức “up[]”, thêm lược đồ sau

1# Via the installer

2laravel new links

3

4# Via composer

5composer create-project --prefer-dist laravel/laravel links "7.*"

0

Lưu tệp và chạy di chuyển

1php artisan migrate

Trong khi bạn đang làm việc với dữ liệu thử nghiệm, bạn có thể nhanh chóng áp dụng lược đồ

1# Via the installer

2laravel new links

3

4# Via composer

5composer create-project --prefer-dist laravel/laravel links "7.*"

2

Tiếp theo, chúng tôi cần một số dữ liệu và một mô hình để làm việc với bảng cơ sở dữ liệu của chúng tôi. Laravel cung cấp hai tính năng để trợ giúp việc này, thứ nhất là trình tạo cơ sở dữ liệu, cung cấp dữ liệu cho cơ sở dữ liệu và thứ hai, tệp nhà máy mô hình cho phép chúng tôi tạo dữ liệu mô hình giả mà chúng tôi có thể sử dụng để điền vào cơ sở dữ liệu phát triển và thử nghiệm của mình

1# Via the installer

2laravel new links

3

4# Via composer

5composer create-project --prefer-dist laravel/laravel links "7.*"

3

Lệnh

1php artisan migrate

6 tạo tệp mô hình

1php artisan migrate

7. Các mô hình Laravel cung cấp một API cơ sở dữ liệu mạnh mẽ được gọi là Eloquent, bạn có thể khám phá rất chi tiết trong tài liệu Eloquent

Cờ

1php artisan migrate

8 sẽ tạo tệp nhà máy mới trong đường dẫn

1php artisan migrate

9 để tạo dữ liệu ứng dụng. Trong trường hợp của chúng tôi, tệp

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=links_development

5DB_USERNAME=root

6DB_PASSWORD=

30 mới sẽ bao gồm định nghĩa nhà máy trống cho mô hình

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=links_development

5DB_USERNAME=root

6DB_PASSWORD=

31 của chúng tôi

Mở tệp

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=links_development

5DB_USERNAME=root

6DB_PASSWORD=

32 và điền thông tin sau

1# Via the installer

2laravel new links

3

4# Via composer

5composer create-project --prefer-dist laravel/laravel links "7.*"

4

Chúng tôi sử dụng phương pháp

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=links_development

5DB_USERNAME=root

6DB_PASSWORD=

33 để tạo tiêu đề và

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=links_development

5DB_USERNAME=root

6DB_PASSWORD=

34 để xóa dấu chấm ở cuối câu

Tiếp theo, tạo link seeder để chúng ta dễ dàng thêm dữ liệu demo vào bảng

1# Via the installer

2laravel new links

3

4# Via composer

5composer create-project --prefer-dist laravel/laravel links "7.*"

5

Lệnh

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=links_development

5DB_USERNAME=root

6DB_PASSWORD=

35 tạo một lớp cơ sở dữ liệu mới để tạo dữ liệu cho bảng

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=links_development

5DB_USERNAME=root

6DB_PASSWORD=

7 của chúng tôi

Mở tệp

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=links_development

5DB_USERNAME=root

6DB_PASSWORD=

37 và thêm vào như sau

1# Via the installer

2laravel new links

3

4# Via composer

5composer create-project --prefer-dist laravel/laravel links "7.*"

6

Để “kích hoạt”

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=links_development

5DB_USERNAME=root

6DB_PASSWORD=

38, chúng ta cần gọi nó từ phương thức chạy chính của

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=links_development

5DB_USERNAME=root

6DB_PASSWORD=

39

1# Via the installer

2laravel new links

3

4# Via composer

5composer create-project --prefer-dist laravel/laravel links "7.*"

7

Giờ đây, bạn có thể chạy các lần di chuyển và khởi tạo để thêm dữ liệu vào bảng một cách tự động. Sử dụng lệnh

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=links_development

5DB_USERNAME=root

6DB_PASSWORD=

40, chúng ta có thể có được một lược đồ rõ ràng áp dụng tất cả các lần di chuyển và sau đó khởi tạo cơ sở dữ liệu

1# Via the installer

2laravel new links

3

4# Via composer

5composer create-project --prefer-dist laravel/laravel links "7.*"

8

Sử dụng trình bao tinker, bạn có thể bắt đầu tìm hiểu về dữ liệu mô hình

1# Via the installer

2laravel new links

3

4# Via composer

5composer create-project --prefer-dist laravel/laravel links "7.*"

9

Chúng tôi có vị trí dữ liệu và một mô hình để tương tác với cơ sở dữ liệu. Hãy bắt đầu xây dựng giao diện người dùng để thêm các liên kết mới vào ứng dụng

Định tuyến và Chế độ xem

Để xây dựng chế độ xem hiển thị danh sách các liên kết, chúng tôi cần cập nhật lộ trình chính của dự án và cũng xác định một lộ trình mới sẽ hiển thị biểu mẫu gửi của chúng tôi. Chúng tôi có thể thêm các tuyến đường mới vào ứng dụng của mình trong tệp

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=links_development

5DB_USERNAME=root

6DB_PASSWORD=

41

Trong tệp tuyến đường web, bạn sẽ thấy tuyến đường mặc định bên dưới

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=laravel

5DB_USERNAME=root

6DB_PASSWORD=

0

Để tạo một tuyến mới, chúng ta có thể sử dụng một tuyến đóng hoặc một lớp điều khiển chuyên dụng. Trong hướng dẫn này, chúng tôi sẽ sử dụng các bao đóng cho các tuyến gửi và lập chỉ mục của chúng tôi

Trước tiên, hãy cập nhật lộ trình về nhà bằng cách lấy tập hợp các liên kết từ cơ sở dữ liệu và chuyển chúng đến chế độ xem

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=laravel

5DB_USERNAME=root

6DB_PASSWORD=

1

Đối số thứ hai có thể là một mảng dữ liệu kết hợp và khóa cuối cùng là tên biến trong tệp mẫu

Bạn cũng có thể sử dụng API thông thạo để xác định các biến nếu muốn

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=laravel

5DB_USERNAME=root

6DB_PASSWORD=

2

Tiếp theo, chỉnh sửa lời chào mừng. lưỡi. php và thêm một

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=links_development

5DB_USERNAME=root

6DB_PASSWORD=

42 đơn giản để hiển thị tất cả các liên kết

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=laravel

5DB_USERNAME=root

6DB_PASSWORD=

3

Đây là giao diện của

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=links_development

5DB_USERNAME=root

6DB_PASSWORD=

43 HTML

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=laravel

5DB_USERNAME=root

6DB_PASSWORD=

4

Nếu bạn làm mới trình duyệt của mình, bây giờ bạn sẽ thấy danh sách tất cả các liên kết được thêm vào. Khi tất cả đã được thiết lập, hãy chuyển sang gửi liên kết

Hiển thị biểu mẫu gửi liên kết

Chúng tôi sắp hoàn thành việc tạo ứng dụng đầu tiên của mình trong Laravel

Chúng tôi sẽ hoàn thiện hướng dẫn Laravel này với khả năng người khác gửi liên kết vào ứng dụng, yêu cầu ba trường. tiêu đề, URL và mô tả

Tôi là một người trực quan và trước khi lên kế hoạch cho các tính năng yêu cầu HTML, tôi muốn vẽ chúng ra để tôi có thể hình dung được những gì tôi đang xây dựng trong đầu. Đây là một bản vẽ đơn giản của hình thức này

Vì chúng tôi đã thêm tất cả cấu trúc cốt lõi, nhà máy mô hình, quá trình di chuyển và mô hình nên trong phần trước, chúng tôi có thể gặt hái những lợi ích bằng cách sử dụng lại tất cả những thứ đó cho phần này

Đầu tiên, tạo một route mới trong routes/web. tập tin php

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=laravel

5DB_USERNAME=root

6DB_PASSWORD=

5

Tiếp theo, chúng ta cần tạo mẫu

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=links_development

5DB_USERNAME=root

6DB_PASSWORD=

44 tại

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=links_development

5DB_USERNAME=root

6DB_PASSWORD=

45 với đánh dấu bootstrap soạn sẵn sau

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=laravel

5DB_USERNAME=root

6DB_PASSWORD=

6

Có khá nhiều thứ đang diễn ra trong biểu mẫu này, vì vậy hãy điểm qua những điểm chính có thể gây nhầm lẫn khi bạn mới làm quen với Laravel

Gần đầu biểu mẫu, chúng tôi có một điều kiện lưỡi kiểm tra xem có bất kỳ lỗi xác thực nào không. Khi có lỗi, thông báo cảnh báo bootstrap sẽ được hiển thị, nhắc người dùng sửa các trường biểu mẫu không hợp lệ

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=laravel

5DB_USERNAME=root

6DB_PASSWORD=

7

Mỗi trường biểu mẫu riêng lẻ kiểm tra lỗi xác thực và hiển thị thông báo lỗi và xuất ra lớp

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=links_development

5DB_USERNAME=root

6DB_PASSWORD=

46

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=laravel

5DB_USERNAME=root

6DB_PASSWORD=

8

Nếu người dùng gửi dữ liệu không hợp lệ, tuyến đường sẽ lưu trữ xác thực trong phiên và chuyển hướng người dùng quay lại biểu mẫu. Hàm

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=links_development

5DB_USERNAME=root

6DB_PASSWORD=

47 sẽ điền dữ liệu đã gửi ban đầu. Nếu người dùng quên gửi một trong các trường, các trường khác có dữ liệu sẽ được điền sau khi xác thực không thành công và hiển thị lỗi

Nếu một trường có lỗi, chỉ thị

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=links_development

5DB_USERNAME=root

6DB_PASSWORD=

48 sẽ cung cấp một biến thông báo lỗi mà bạn có thể sử dụng trong khối chỉ thị

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=laravel

5DB_USERNAME=root

6DB_PASSWORD=

9

Một cách khác để kiểm tra và hiển thị lỗi liên quan đến biến ________ 149 được cung cấp cho chế độ xem sau khi xác thực không thành công và chuyển hướng

1# Connect via the mysql CLI

2mysql -u root -p

3mysql> create database links_development;

4mysql> exit

5

6# Or use the -e flag to run the create command

7mysql -u root -e'create database links_development'

0

Chỉ thị

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=links_development

5DB_USERNAME=root

6DB_PASSWORD=

48 sử dụng cùng một biến dưới mui xe, vui lòng sử dụng bất kỳ phương pháp nào bạn thích

Gửi biểu mẫu

Với biểu mẫu đã có, chúng tôi sẵn sàng xử lý việc gửi và xác thực dữ liệu biểu mẫu trên máy chủ. Quay lại tệp

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=links_development

5DB_USERNAME=root

6DB_PASSWORD=

41, tạo một tuyến khác cho yêu cầu

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=links_development

5DB_USERNAME=root

6DB_PASSWORD=

52

1# Connect via the mysql CLI

2mysql -u root -p

3mysql> create database links_development;

4mysql> exit

5

6# Or use the -e flag to run the create command

7mysql -u root -e'create database links_development'

1

Ghi chú. đảm bảo bạn thêm

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=links_development

5DB_USERNAME=root

6DB_PASSWORD=

53 gần đầu

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=links_development

5DB_USERNAME=root

6DB_PASSWORD=

54

Tuyến đường này phức tạp hơn một chút so với các tuyến đường khác

Đầu tiên, chúng ta sẽ inject đối tượng Illuminate\Http\Request, chứa dữ liệu POST và các dữ liệu khác về yêu cầu

Tiếp theo, chúng tôi sử dụng phương pháp

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=links_development

5DB_USERNAME=root

6DB_PASSWORD=

55 của yêu cầu để xác thực dữ liệu biểu mẫu. Phương thức xác thực đã được giới thiệu trong Laravel 5. 5 và là một lối tắt hay so với các phương thức khác được sử dụng để xác thực. Ngoài ra, các trường đã xác thực được trả về biến

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=links_development

5DB_USERNAME=root

6DB_PASSWORD=

56 và chúng tôi có thể sử dụng chúng để điền vào mô hình của mình

Chúng tôi yêu cầu cả ba trường và sử dụng ký tự ống, chúng tôi có thể xác định nhiều quy tắc. Tất cả ba quy tắc có thể có tối đa 255 ký tự và trường

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=links_development

5DB_USERNAME=root

6DB_PASSWORD=

57 yêu cầu một URL hợp lệ

Nếu xác thực không thành công, một ngoại lệ sẽ được đưa ra và tuyến đường trả về người dùng với dữ liệu đầu vào ban đầu và các lỗi xác thực

Tiếp theo, chúng tôi sử dụng chức năng trợ giúp của

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=links_development

5DB_USERNAME=root

6DB_PASSWORD=

58 để tạo một phiên bản mô hình

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=links_development

5DB_USERNAME=root

6DB_PASSWORD=

31 mới và sau đó lưu nó. Sử dụng tap cho phép chúng tôi gọi

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=links_development

5DB_USERNAME=root

6DB_PASSWORD=

80 và vẫn trả về phiên bản mô hình sau khi lưu

Thông thường, bạn sẽ phải thực hiện các thao tác sau mà không cần nhấn, nó chỉ thêm một chút đường cú pháp

1# Connect via the mysql CLI

2mysql -u root -p

3mysql> create database links_development;

4mysql> exit

5

6# Or use the -e flag to run the create command

7mysql -u root -e'create database links_development'

2

Nếu chúng tôi muốn điền dữ liệu vào một mô hình mới, chúng tôi cần cho phép các trường "có thể điền" thông qua gán hàng loạt. Thuộc tính có thể điền được thiết kế để ngăn không cho các trường được gán hàng loạt ngoại trừ các mục bạn xác định trong mảng

Hãy suy nghĩ về điều này trong một phút. chúng tôi đang lấy đầu vào của người dùng từ yêu cầu và gán hàng loạt các giá trị trên mô hình cơ sở dữ liệu. Nhận thức được sự nguy hiểm của dữ liệu do người dùng gửi và cẩn thận để bảo vệ dữ liệu mà bạn không có ý định để người dùng thao tác trực tiếp thông qua biểu mẫu

Trong trường hợp của chúng tôi, chúng tôi đang xác thực từng trường để cho phép chúng được chỉ định hàng loạt là an toàn. Để cho phép mô hình của chúng tôi gán giá trị cho các trường này, hãy mở tệp

1php artisan migrate

7 và cập nhật nó để trông giống như sau

1# Connect via the mysql CLI

2mysql -u root -p

3mysql> create database links_development;

4mysql> exit

5

6# Or use the -e flag to run the create command

7mysql -u root -e'create database links_development'

3

Nếu chúng tôi muốn tránh chuyển nhượng hàng loạt, đây là cách mã của chúng tôi có thể trông như thế nào

1# Connect via the mysql CLI

2mysql -u root -p

3mysql> create database links_development;

4mysql> exit

5

6# Or use the -e flag to run the create command

7mysql -u root -e'create database links_development'

4

Điều cuối cùng chúng tôi làm trong tuyến POST của mình là chuyển hướng người dùng trở lại trang chủ sau khi lưu liên kết thành công

Tại thời điểm này, biểu mẫu của chúng tôi sẽ ngăn việc gửi liên kết có trường không hợp lệ

Nếu biểu mẫu vượt qua xác thực, dữ liệu sẽ được lưu trong cơ sở dữ liệu và người dùng chuyển hướng trở lại trang chủ

Kiểm tra việc gửi biểu mẫu

Chúng tôi có một biểu mẫu hoạt động cơ bản, nhưng chúng tôi phải đảm bảo rằng nó tiếp tục hoạt động bằng cách viết các bài kiểm tra

Laravel làm cho việc kiểm tra HTTP trở nên dễ dàng để thực hiện kiểm tra tích hợp đối với các tuyến và phần mềm trung gian, vì vậy, hãy viết một số kiểm tra tính năng để xác minh mã của chúng tôi hoạt động như mong đợi

Trước khi bắt đầu, chúng ta cần điều chỉnh một số thứ trong tệp

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=links_development

5DB_USERNAME=root

6DB_PASSWORD=

82 để có thể sử dụng cơ sở dữ liệu SQLite trong bộ nhớ. Bạn sẽ cần đảm bảo rằng bạn đã cài đặt các mô-đun PHP phù hợp

Kể từ Laravel 7, tệp

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=links_development

5DB_USERNAME=root

6DB_PASSWORD=

82 của dự án định cấu hình cơ sở dữ liệu SQLite trong bộ nhớ. Nếu bạn đang sử dụng phiên bản Laravel cũ hơn, hãy thay đổi kết nối cơ sở dữ liệu bằng cách thêm vào như sau

1# Connect via the mysql CLI

2mysql -u root -p

3mysql> create database links_development;

4mysql> exit

5

6# Or use the -e flag to run the create command

7mysql -u root -e'create database links_development'

5

Tiếp theo, xóa kiểm tra trình giữ chỗ đi kèm với Laravel

1# Connect via the mysql CLI

2mysql -u root -p

3mysql> create database links_development;

4mysql> exit

5

6# Or use the -e flag to run the create command

7mysql -u root -e'create database links_development'

6

Chúng tôi đã sẵn sàng bắt đầu thử nghiệm biểu mẫu

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=links_development

5DB_USERNAME=root

6DB_PASSWORD=

84 thông qua các yêu cầu HTTP để đảm bảo rằng quá trình xác thực, lưu và chuyển hướng tuyến đường đang hoạt động như mong đợi

Trước tiên, hãy tạo một bài kiểm tra tính năng mới để kiểm tra tuyến đường của chúng tôi

1# Connect via the mysql CLI

2mysql -u root -p

3mysql> create database links_development;

4mysql> exit

5

6# Or use the -e flag to run the create command

7mysql -u root -e'create database links_development'

7

Lệnh tạo một tệp thử nghiệm mới với các phụ thuộc phù hợp, bao gồm một đặc điểm

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=links_development

5DB_USERNAME=root

6DB_PASSWORD=

85 mà chúng tôi sẽ sử dụng để xác minh rằng các liên kết của chúng tôi đang được lưu vào cơ sở dữ liệu khi hợp lệ

Mở tệp

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=links_development

5DB_USERNAME=root

6DB_PASSWORD=

86 mới và hãy xác định một vài bài kiểm tra khung trong phần thân của lớp mà chúng ta sẽ bổ sung

1# Connect via the mysql CLI

2mysql -u root -p

3mysql> create database links_development;

4mysql> exit

5

6# Or use the -e flag to run the create command

7mysql -u root -e'create database links_development'

8

Những bài kiểm tra này sẽ cung cấp cho bạn một cái nhìn tổng quan cấp cao về những gì chúng tôi sẽ kiểm tra

  1. Xác minh rằng các liên kết hợp lệ được lưu trong cơ sở dữ liệu
  2. Khi xác thực không thành công, các liên kết không có trong cơ sở dữ liệu
  3. URL không hợp lệ không được phép
  4. Quá trình xác thực sẽ không thành công khi các trường dài hơn quy tắc xác thực

    1DB_CONNECTION=mysql

    2DB_HOST=127.0.0.1

    3DB_PORT=3306

    4DB_DATABASE=links_development

    5DB_USERNAME=root

    6DB_PASSWORD=

    87
  5. Quá trình xác thực sẽ thành công khi các trường đủ dài theo

    1DB_CONNECTION=mysql

    2DB_HOST=127.0.0.1

    3DB_PORT=3306

    4DB_DATABASE=links_development

    5DB_USERNAME=root

    6DB_PASSWORD=

    87

Chúng tôi có thể thiếu một số thứ, nhưng đối với ứng dụng Laravel đầu tiên của bạn, đây là một danh sách phù hợp sẽ minh họa một số kỹ thuật kiểm tra HTTP cơ bản trong Laravel

Lưu một liên kết hợp lệ

Bài kiểm tra đầu tiên chúng tôi sẽ viết là bài kiểm tra xác minh rằng dữ liệu hợp lệ được lưu trữ trong cơ sở dữ liệu

1# Connect via the mysql CLI

2mysql -u root -p

3mysql> create database links_development;

4mysql> exit

5

6# Or use the -e flag to run the create command

7mysql -u root -e'create database links_development'

9

Hãy lưu ý đặc điểm của

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=links_development

5DB_USERNAME=root

6DB_PASSWORD=

85 để đảm bảo rằng mỗi bài kiểm tra có một cơ sở dữ liệu mới để cung cấp cho mỗi bài kiểm tra một môi trường cơ sở dữ liệu nguyên sơ với tất cả các lần di chuyển

Thử nghiệm đầu tiên của chúng tôi gửi dữ liệu bài đăng hợp lệ, dữ liệu này trả về một đối tượng phản hồi mà chúng tôi có thể sử dụng để xác nhận rằng tuyến đường của chúng tôi đã phản hồi như mong đợi. Chúng tôi xác minh rằng cơ sở dữ liệu chứa một bản ghi có tiêu đề mà chúng tôi vừa tạo

Tiếp theo, chúng tôi xác minh rằng phản hồi là mã trạng thái

1# Via the installer

2laravel new links

3

4# Via composer

5composer create-project --prefer-dist laravel/laravel links "7.*"

00 với tiêu đề

1# Via the installer

2laravel new links

3

4# Via composer

5composer create-project --prefer-dist laravel/laravel links "7.*"

01 trỏ đến trang chủ

Cuối cùng, chúng tôi yêu cầu trang chủ và xác minh rằng tiêu đề liên kết hiển thị trên trang chủ

Hãy chạy thử nghiệm đầu tiên của chúng tôi để đảm bảo mọi thứ diễn ra như mong đợi. Laravel 7 thêm lệnh

1# Via the installer

2laravel new links

3

4# Via composer

5composer create-project --prefer-dist laravel/laravel links "7.*"

02 mới hoặc bạn có thể sử dụng

1# Via the installer

2laravel new links

3

4# Via composer

5composer create-project --prefer-dist laravel/laravel links "7.*"

03

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=links_development

5DB_USERNAME=root

6DB_PASSWORD=

0

Bạn sẽ thấy rằng bộ thử nghiệm vượt qua

Thử nghiệm Xác nhận Không thành công

Khi người dùng thường gửi dữ liệu xấu, chúng tôi hy vọng quá trình xác thực sẽ kích hoạt một ngoại lệ và chúng tôi có thể sử dụng điều đó để đảm bảo rằng lớp xác thực của chúng tôi đang hoạt động

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=links_development

5DB_USERNAME=root

6DB_PASSWORD=

1

Chúng tôi sử dụng Laravel's

1# Via the installer

2laravel new links

3

4# Via composer

5composer create-project --prefer-dist laravel/laravel links "7.*"

04 để đảm bảo rằng phiên có lỗi xác thực cho từng trường bắt buộc của chúng tôi. Bởi vì chúng tôi đã gửi dữ liệu trống cho tuyến đường, chúng tôi hy vọng quy tắc

1# Via the installer

2laravel new links

3

4# Via composer

5composer create-project --prefer-dist laravel/laravel links "7.*"

05 sẽ kích hoạt cho từng trường

Hãy chạy bộ thử nghiệm để xác minh công việc của chúng tôi cho đến nay

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=links_development

5DB_USERNAME=root

6DB_PASSWORD=

2

Kiểm tra Xác thực URL

Chúng tôi mong đợi chỉ những URL hợp lệ mới vượt qua xác thực để ứng dụng của bạn không cố hiển thị dữ liệu không hợp lệ

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=links_development

5DB_USERNAME=root

6DB_PASSWORD=

3

Laravel có phương thức

1# Via the installer

2laravel new links

3

4# Via composer

5composer create-project --prefer-dist laravel/laravel links "7.*"

06 vô hiệu hóa mã xử lý ngoại lệ tuyến đường của Laravel được sử dụng để tạo phản hồi HTTP sau một ngoại lệ. Chúng tôi sử dụng lợi thế này để có thể kiểm tra đối tượng ngoại lệ xác thực và xác nhận đối với các thông báo lỗi

Chúng tôi lặp lại các trường hợp khác nhau [thêm trường hợp của riêng bạn nếu bạn muốn bao gồm nhiều trường hợp hơn] và nắm bắt các trường hợp của

1# Via the installer

2laravel new links

3

4# Via composer

5composer create-project --prefer-dist laravel/laravel links "7.*"

07. Nếu văn bản vượt qua quá trình xử lý ngoại lệ, chúng tôi sẽ thất bại kiểm tra theo cách thủ công vì chúng tôi cho rằng tuyến đường sẽ đưa ra một ngoại lệ

1# Via the installer

2laravel new links

3

4# Via composer

5composer create-project --prefer-dist laravel/laravel links "7.*"

08 mỗi lần

Khối

1# Via the installer

2laravel new links

3

4# Via composer

5composer create-project --prefer-dist laravel/laravel links "7.*"

09 sử dụng đối tượng trình xác thực để kiểm tra lỗi

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=links_development

5DB_USERNAME=root

6DB_PASSWORD=

57 và khẳng định rằng thông báo lỗi thực tế khớp với thông báo lỗi xác thực dự kiến

Tôi thích sử dụng kỹ thuật

1# Via the installer

2laravel new links

3

4# Via composer

5composer create-project --prefer-dist laravel/laravel links "7.*"

11, tiếp theo là

1# Via the installer

2laravel new links

3

4# Via composer

5composer create-project --prefer-dist laravel/laravel links "7.*"

12 như một biện pháp an toàn thay vì sử dụng các chú thích ngoại lệ do PHPUnit cung cấp. Hãy chắc chắn

1# Via the installer

2laravel new links

3

4# Via composer

5composer create-project --prefer-dist laravel/laravel links "7.*"

13 trong ngoại lệ bị bắt để tránh các lỗi kiểm tra gây nhầm lẫn. Tôi cảm thấy việc nắm bắt ngoại lệ cho phép khả năng thực hiện các xác nhận không thể thực hiện được và cung cấp khả năng kiểm soát chi tiết hơn mà tôi thích trong hầu hết các trường hợp

Kiểm tra xác thực độ dài tối đa

Chúng tôi sẽ thử nghiệm một số tình huống với quy tắc xác thực

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=links_development

5DB_USERNAME=root

6DB_PASSWORD=

87. khi trường không xác thực được độ dài tối đa có độ dài

1# Via the installer

2laravel new links

3

4# Via composer

5composer create-project --prefer-dist laravel/laravel links "7.*"

15 ký tự và khi trường đủ dài để vượt qua xác thực ở

1# Via the installer

2laravel new links

3

4# Via composer

5composer create-project --prefer-dist laravel/laravel links "7.*"

16 ký tự

Mặc dù Laravel chứa chức năng quy tắc xác thực

1# Via the installer

2laravel new links

3

4# Via composer

5composer create-project --prefer-dist laravel/laravel links "7.*"

17, tôi muốn kiểm tra nó để xác minh rằng ứng dụng của tôi áp dụng các quy tắc. Nếu ai đó xóa quy tắc xác thực

1# Via the installer

2laravel new links

3

4# Via composer

5composer create-project --prefer-dist laravel/laravel links "7.*"

17, thì các bài kiểm tra sẽ bắt được quy tắc đó

Tôi muốn kiểm tra ngưỡng của các quy tắc xác thực tối thiểu và tối đa để thận trọng hơn nhằm đảm bảo ứng dụng của tôi tôn trọng các ranh giới tối thiểu và tối đa mà tôi đã đặt

Đầu tiên, hãy kiểm tra kịch bản “độ dài tối đa”

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=links_development

5DB_USERNAME=root

6DB_PASSWORD=

4

Một lần nữa, chúng tôi tắt xử lý ngoại lệ và tạo dữ liệu có một ký tự quá dài để vượt qua xác thực

Chúng tôi xác nhận từng trường để đảm bảo rằng tất cả chúng đều có thông báo lỗi xác thực độ dài tối đa

Cuối cùng, chúng ta cần

1# Via the installer

2laravel new links

3

4# Via composer

5composer create-project --prefer-dist laravel/laravel links "7.*"

13 trong trường hợp ngoại lệ bị bắt và sử dụng

1# Via the installer

2laravel new links

3

4# Via composer

5composer create-project --prefer-dist laravel/laravel links "7.*"

12 làm dây an toàn để không vượt qua bài kiểm tra

Tiếp theo, chúng tôi kiểm tra kịch bản “dưới mức tối đa”

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=links_development

5DB_USERNAME=root

6DB_PASSWORD=

5

Chúng tôi tạo dữ liệu biểu mẫu đủ dài để vượt qua xác thực

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=links_development

5DB_USERNAME=root

6DB_PASSWORD=

87 và xác nhận rằng dữ liệu có trong cơ sở dữ liệu sau khi gửi dữ liệu

Chạy bộ thử nghiệm và đảm bảo mọi thứ đều ổn

1DB_CONNECTION=mysql

2DB_HOST=127.0.0.1

3DB_PORT=3306

4DB_DATABASE=links_development

5DB_USERNAME=root

6DB_PASSWORD=

6

Phần kết luận

Chúc mừng bạn đã thực hiện nó thông qua hướng dẫn

Hướng dẫn này được thiết kế để giúp bạn bắt đầu xây dựng ứng dụng của mình và bạn có thể sử dụng hướng dẫn này làm nền tảng để đạt được các kỹ năng cần thiết để phát triển ứng dụng của mình. Tôi biết điều này bao gồm rất nhiều tính năng và có thể khiến bạn choáng ngợp nếu bạn không quen thuộc với khuôn khổ này

Tôi hy vọng phần giới thiệu về Laravel này sẽ cho bạn thấy lý do tại sao rất nhiều người hào hứng với framework

Tham gia bản tin hàng tuần và xem phần hướng dẫn về Laravel trên trang web để đi sâu hơn và tìm hiểu nhiều hơn về Laravel

Làm cách nào để tạo một dự án Laravel?

Cài đặt Laravel .
Thông qua trình cài đặt Laravel. Đầu tiên các bạn tải bộ cài đặt Laravel bằng Composer. .
Qua Composer Create-Project. .
Máy chủ phát triển cục bộ. .
thư mục công cộng. .
Tệp cấu hình. .
Quyền thư mục. .
Khóa ứng dụng. .
Cấu hình bổ sung

Làm cách nào để chạy chương trình đầu tiên trong laravel?

Mở ứng dụng đầu cuối của bạn và chuyển sang thư mục này . Laravel cung cấp một trình cài đặt tiện lợi. Nếu bạn dự định viết ứng dụng Laravel, hãy làm theo tài liệu cài đặt để biết chi tiết về cách thiết lập trình cài đặt. Điều này sẽ tạo một thư mục mới tại ~/Sites/links và cài đặt một dự án Laravel mới.

Làm thế nào để sử dụng laravel cho một dự án?

Bước 1. Tạo tệp ứng dụng Laravel. Chạy lệnh sau trong cửa sổ đầu cuối của bạn. .
Bước 2. Tạo cơ sở dữ liệu và lược đồ. .
Bước 3. Định cấu hình môi trường ứng dụng Laravel. .
Bước 5. Di chuyển lược đồ vào cơ sở dữ liệu. .
Bước 5. Khởi động máy chủ phát triển. .
Cấu trúc tệp. .
Luồng yêu cầu. .
Tạo PHP Laravel Models, Controllers

Làm cách nào tôi có thể lưu trữ miễn phí dự án laravel của mình?

Cài đặt Nodejs và npm. Điều đầu tiên bạn cần đảm bảo rằng bạn đã cài đặt Node và npm trên máy của mình. .
Bắt đầu Dự án Laravel của bạn. Nếu bạn đã có dự án, bạn có thể bỏ qua bước này 👇. .
Tạo tài khoản và tải xuống Heroku Toolbelt. Đăng ký tài khoản miễn phí trên Heroku từ ĐÂY. .
Tạo Procfile

Chủ Đề