Học thuyết trong Symfony là gì?

Dự án Doctrine là ngôi nhà của một bộ thư viện PHP được chọn chủ yếu tập trung vào việc cung cấp các dịch vụ bền vững và chức năng liên quan. Các dự án giải thưởng của nó là Trình ánh xạ quan hệ đối tượng và Lớp trừu tượng cơ sở dữ liệu mà nó được xây dựng trên. Bạn có thể đọc thêm về các dự án bên dưới hoặc xem danh sách tất cả các dự án

Trình ánh xạ quan hệ đối tượng [ORM] cho PHP nằm trên lớp trừu tượng cơ sở dữ liệu mạnh mẽ [DBAL]. Một trong những tính năng chính của nó là tùy chọn viết các truy vấn cơ sở dữ liệu bằng một phương ngữ SQL hướng đối tượng độc quyền có tên là Doctrine Query Language [DQL], lấy cảm hứng từ Hibernates HQL. Điều này cung cấp cho các nhà phát triển một giải pháp thay thế mạnh mẽ cho SQL, duy trì tính linh hoạt mà không yêu cầu sao chép mã không cần thiết

DBAL là một lớp trừu tượng hóa cơ sở dữ liệu mạnh mẽ với nhiều tính năng để xem xét nội quan lược đồ cơ sở dữ liệu, quản lý lược đồ và trừu tượng hóa PDO

Tài liệu

Tài liệu được render trên symfony. trang web com. Nguồn của tài liệu có sẵn trong thư mục Tài nguyên/tài liệu

Các ứng dụng web đọc và lưu dữ liệu vào cơ sở dữ liệu. Trong Symfony, điều này có thể được thực hiện bằng cách sử dụng PDO hoặc khung tùy chỉnh. Nhiều nhà phát triển đang sử dụng Doctrine, vì Symfony cung cấp khả năng tích hợp tốt cho nó. Plugin Symfony cung cấp một số phương tiện điều hướng và hoàn thành mã cho Doctrine

Hoàn thành mã cho các lược đồ, kho lưu trữ và thực thể của Doctrine

Trong trình chỉnh sửa, nhấn Ctrl+Space để gọi hoàn thành mã và thực hiện bất kỳ thao tác nào sau đây

  • Chỉ định một mục trong lược đồ cơ sở dữ liệu YAML .

  • Truy xuất một kho lưu trữ cụ thể bằng trình quản lý đối tượng của Doctrine

  • Gọi các phương thức của một kho lưu trữ cụ thể

  • Gọi các phương thức của một thực thể cụ thể được tìm nạp từ kho lưu trữ

  • Tạo truy vấn trên đối tượng/mô hình quan hệ với Doctrine QueryBuilder .

  • Chỉ định các trường để tìm kiếm khi gọi các chức năng như findBy, findAllBy hoặc

    symfony console doctrine:database:create

    0

PhpStorm cũng cho phép bạn làm việc trực tiếp với cơ sở dữ liệu

Điều hướng mã cho các thực thể và trường

Để điều hướng đến phần khai báo của một thực thể, đặt dấu mũ tại vị trí sử dụng của nó và nhấn Ctrl+B. Ngoài ra, Ctrl + Nhấp vào cách sử dụng. Nếu cả khai báo thực thể và kho lưu trữ đều được định vị, hãy chọn một khai báo cụ thể để điều hướng đến từ menu bật lên

Doctrine hiện được định cấu hình để nói chuyện với cơ sở dữ liệu của chúng tôi, nằm bên trong bộ chứa Docker. Đó là nhờ máy chủ nhà phát triển Symfony hiển thị biến môi trường

symfony console doctrine:database:create

1 này, biến này trỏ đến vùng chứa. Đối với tôi, vùng chứa có thể truy cập được trên cổng 50739

Bây giờ hãy chắc chắn rằng cơ sở dữ liệu thực tế đã được tạo. Nhưng trước tiên, trong

symfony console doctrine:database:create

2, hãy xóa

symfony console doctrine:database:create

3. sau đó đóng tập tin đó

Quay qua thiết bị đầu cuối của bạn và chạy

Điều này in mọi lệnh

symfony console doctrine:database:create

4 có sẵn, bao gồm một loạt lệnh mới bắt đầu bằng từ

symfony console doctrine:database:create

5. ồ. Hầu hết những thứ này không quan trọng lắm và chúng ta sẽ đi qua những thứ còn thiếu

Ví dụ: một tên là

symfony console doctrine:database:create

6. Tuyệt, hãy thử nó

php bin/console doctrine:database:create

Và. lỗi. Nhìn kĩ. nó đang cố kết nối với cổng 5432. Nhưng biến môi trường của chúng tôi đang trỏ đến cổng 50739. Như thể nó đang sử dụng giá trị

symfony console doctrine:database:create

1 từ tệp

symfony console doctrine:database:create

8 của chúng tôi thay vì giá trị thực được đặt bởi tệp nhị phân Symfony

Và, trên thực tế, đó chính xác là những gì đang xảy ra. Và, nó có ý nghĩa. Khi chúng tôi làm mới trang trong trình duyệt của bạn, trang đó được xử lý thông qua mã nhị phân ________ 10, giúp trang có cơ hội thêm biến môi trường

Nhưng khi chúng tôi chạy lệnh

symfony console doctrine:database:create

4 - trong đó

symfony console doctrine:database:create

2 chỉ là một tệp PHP nằm trong thư mục

symfony console doctrine:database:create

3, tệp nhị phân

symfony console doctrine:database:create

0 không bao giờ được sử dụng như một phần của quy trình đó. Điều này có nghĩa là nó không bao giờ có cơ hội thêm biến môi trường. Và vì vậy, Symfony quay lại sử dụng giá trị từ

symfony console doctrine:database:create

8

Để khắc phục điều này, bất cứ khi nào chúng tôi chạy lệnh

symfony console doctrine:database:create

4 cần biến môi trường Docker, thay vì chạy

symfony console doctrine:database:create

4, hãy chạy

symfony console doctrine:database:create

8

symfony console doctrine:database:create

Đó thực sự là một lối tắt để chạy

symfony console doctrine:database:create

4. nó không khác. Nhưng thực tế là chúng tôi đang thực hiện nó thông qua mã nhị phân

symfony console doctrine:database:create

0 mang lại cho nó cơ hội để thêm các biến môi trường

Khi chúng tôi thử cái này. Vâng. Chúng tôi gặp lỗi vì dường như cơ sở dữ liệu đã tồn tại, nhưng nó đã kết nối thành công và nói chuyện với cơ sở dữ liệu

Ok, còn một chút cấu hình cuối cùng mà chúng ta cần thiết lập. Mở

symfony console doctrine:database:create

11. Tập tin này đến từ công thức. Tìm

symfony console doctrine:database:create

12 và bỏ bình luận nó

học thuyết. dbal. dòng 3 - 6server_version. '13'. dòng 8 - 43

Giá trị "13" này đề cập đến phiên bản công cụ cơ sở dữ liệu của tôi. Vì tôi đang sử dụng Postgres phiên bản 13, tôi cần 13 ở đây. Nếu bạn đang sử dụng MySQL, bạn có thể cần 8 hoặc 5. 7

Điều này giúp Doctrine xác định những tính năng mà cơ sở dữ liệu của bạn hỗ trợ hoặc không hỗ trợ. vì phiên bản mới hơn của cơ sở dữ liệu có thể hỗ trợ các tính năng mà phiên bản cũ hơn không có. Đây không phải là một phần cấu hình đặc biệt thú vị, chúng tôi chỉ cần đảm bảo rằng nó được đặt

đội được rồi. tất cả các thiết lập nhàm chán đã được thực hiện. Tiếp theo. hãy tạo lớp thực thể đầu tiên của chúng tôi. Thực thể là khái niệm cơ bản nhất trong Doctrine và là chìa khóa để nói chuyện với bảng cơ sở dữ liệu đầu tiên của chúng tôi

Học thuyết trong lập trình là gì?

Dự án Doctrine là ngôi nhà của một số thư viện PHP chủ yếu tập trung vào lưu trữ cơ sở dữ liệu và ánh xạ đối tượng . Các dự án cốt lõi là Trình ánh xạ quan hệ đối tượng [ORM] và Lớp trừu tượng cơ sở dữ liệu [DBAL] mà nó được xây dựng dựa trên.

Chú thích học thuyết là gì?

Chú thích học thuyết cho phép triển khai chức năng chú thích tùy chỉnh cho các lớp và hàm PHP .

Học thuyết có phải là khuôn khổ không?

Học thuyết pháp lý là một khuôn khổ , tập hợp các quy tắc, các bước thủ tục hoặc thử nghiệm, thường được thiết lập thông qua tiền lệ trong thông luật, qua đó các phán quyết có thể được xác định trong một quy phạm pháp luật nhất định .

Giáo lý di cư là gì?

Dự án Di chuyển Doctrine cung cấp chức năng bổ sung ngoài DBAL và ORM để lập phiên bản lược đồ cơ sở dữ liệu của bạn . Nó giúp việc triển khai các thay đổi đối với nó trở nên dễ dàng và an toàn theo cách có thể được xem xét và kiểm tra trước khi được triển khai vào sản xuất.

Chủ Đề