ADVERTISEMENT
  • Trang chủ
  • Tin Tức
  • Liên hệ
Thứ Hai, Tháng Sáu 5, 2023
Tin Tức Giáo Dục Học Tập Tiny
No Result
View All Result
  • Giáo Án
  • Học Tập
    • Lớp 1
    • Lớp 2
    • Lớp 3
    • Lớp 4
    • Lớp 5
    • Lớp 6
    • Lớp 7
    • Lớp 8
    • Lớp 9
    • Lớp 10
    • Lớp 11
    • Lớp 12
  • Sách Tham Khảo
    • Sách Tham Khảo Lớp 1
    • Sách Tham Khảo Lớp 2
    • Sách Tham Khảo Lớp 3
    • Sách Tham Khảo Lớp 4
    • Sách Tham Khảo Lớp 5
    • Sách Tham Khảo Lớp 6
    • Sách Tham Khảo Lớp 7
    • Sách Tham Khảo Lớp 8
    • Sách Tham Khảo Lớp 9
    • Sách Tham Khảo Lớp 10
    • Sách Tham Khảo Lớp 11
    • Sách Tham Khảo Lớp 12
  • Ôn Thi
    • Thi THPT Quốc Gia
    • Địa Lý
    • Giáo Dục Công Dân
    • Hóa Học
    • Lịch Sử
    • Ngoại Ngữ
    • Ngữ Văn
    • Sinh Học
    • Vật Lý
    • Toán Học
  • Sách Kinh Tế
  • Sách Ngoại Ngữ
    • Tiếng Nhật
    • Tiếng Pháp
    • Tiếng Trung
  • Biểu mẫu
    • Giáo dục – Đào tạo
  • Sách Văn Học
  • Sách Y Học
  • Tài Liệu
    • Thủ tục hành chính
    • Việc làm – Nhân sự
    • Y học
    • Bộ đội – Quốc phòng – Thương binh
    • Doanh nghiệp
    • Giáo dục – Đào tạo
    • Giao thông vận tải
    • Hôn nhân – Gia đình
    • Quyền Dân sự
    • Tin Tức
  • Tâm Lý & Kỹ Năng
  • Giáo Án
  • Học Tập
    • Lớp 1
    • Lớp 2
    • Lớp 3
    • Lớp 4
    • Lớp 5
    • Lớp 6
    • Lớp 7
    • Lớp 8
    • Lớp 9
    • Lớp 10
    • Lớp 11
    • Lớp 12
  • Sách Tham Khảo
    • Sách Tham Khảo Lớp 1
    • Sách Tham Khảo Lớp 2
    • Sách Tham Khảo Lớp 3
    • Sách Tham Khảo Lớp 4
    • Sách Tham Khảo Lớp 5
    • Sách Tham Khảo Lớp 6
    • Sách Tham Khảo Lớp 7
    • Sách Tham Khảo Lớp 8
    • Sách Tham Khảo Lớp 9
    • Sách Tham Khảo Lớp 10
    • Sách Tham Khảo Lớp 11
    • Sách Tham Khảo Lớp 12
  • Ôn Thi
    • Thi THPT Quốc Gia
    • Địa Lý
    • Giáo Dục Công Dân
    • Hóa Học
    • Lịch Sử
    • Ngoại Ngữ
    • Ngữ Văn
    • Sinh Học
    • Vật Lý
    • Toán Học
  • Sách Kinh Tế
  • Sách Ngoại Ngữ
    • Tiếng Nhật
    • Tiếng Pháp
    • Tiếng Trung
  • Biểu mẫu
    • Giáo dục – Đào tạo
  • Sách Văn Học
  • Sách Y Học
  • Tài Liệu
    • Thủ tục hành chính
    • Việc làm – Nhân sự
    • Y học
    • Bộ đội – Quốc phòng – Thương binh
    • Doanh nghiệp
    • Giáo dục – Đào tạo
    • Giao thông vận tải
    • Hôn nhân – Gia đình
    • Quyền Dân sự
    • Tin Tức
  • Tâm Lý & Kỹ Năng
No Result
View All Result
Tin Tức Giáo Dục Học Tập Tiny
No Result
View All Result
ADVERTISEMENT

Trang chủ » Blog » Hướng dẫn php design patterns dependency injection – php thiết kế mẫu phụ thuộc tiêm

Hướng dẫn php design patterns dependency injection – php thiết kế mẫu phụ thuộc tiêm

Sam Van by Sam Van
27 Tháng Mười, 2022
in Blog
0
Hướng dẫn php design patterns dependency injection – php thiết kế mẫu phụ thuộc tiêm
ADVERTISEMENT
Ngày 9 2 1930 diễn ra sự kiện nào dưới đây

DesignPotyernsphp

Có thể bạn quan tâm
  • 7 tính chất 3 đường trung trực tốt nhất, đừng bỏ qua
  • sam puckett là gì – Nghĩa của từ sam puckett
  • 5 miền bắc có mấy mùa tốt nhất
  • Hướng dẫn sử dụng zalo trên máy tính
  • 6 virtual desktop windows 7 hay nhất, đừng bỏ lỡ

Xem Tắt

2.6.1.Mục đích¶

Để thực hiện một kiến trúc được ghép nối một cách lỏng lẻo để có được mã có thể kiểm tra, duy trì và mở rộng tốt hơn.

Bạn Đang Xem: Hướng dẫn php design patterns dependency injection – php thiết kế mẫu phụ thuộc tiêm

2.6.2.Cách sử dụng¶

Xem Thêm : Top 6 lịch khám theo yêu cầu bệnh viện đại học y hay nhất

DatabaseConfiguration được tiêm và DatabaseConnection sẽ nhận được tất cả những gì nó cần từ $config.Nếu không có DI, cấu hình sẽ được tạo trực tiếp trong DatabaseConnection, điều này không tốt cho việc thử nghiệm và mở rộng nó.

2.6.3.Ví dụ;

  • Học thuyết2 ORM sử dụng tiêm phụ thuộc, ví dụ:Đối với cấu hình được tiêm vào một đối tượng
    <?php
    
    declare(strict_types=1);
    
    namespace DesignPatternsStructuralDependencyInjection;
    
    class DatabaseConfiguration
    {
        public function __construct(
            private string $host,
            private int $port,
            private string $username,
            private string $password
        ) {
        }
    
        public function getHost(): string
        {
            return $this->host;
        }
    
        public function getPort(): int
        {
            return $this->port;
        }
    
        public function getUsername(): string
        {
            return $this->username;
        }
    
        public function getPassword(): string
        {
            return $this->password;
        }
    }
    

    0.Đối với mục đích thử nghiệm, người ta có thể dễ dàng tạo một đối tượng giả của cấu hình và đưa vào đối tượng

    <?php
    
    declare(strict_types=1);
    
    namespace DesignPatternsStructuralDependencyInjection;
    
    class DatabaseConfiguration
    {
        public function __construct(
            private string $host,
            private int $port,
            private string $username,
            private string $password
        ) {
        }
    
        public function getHost(): string
        {
            return $this->host;
        }
    
        public function getPort(): int
        {
            return $this->port;
        }
    
        public function getUsername(): string
        {
            return $this->username;
        }
    
        public function getPassword(): string
        {
            return $this->password;
        }
    }
    

    0

  • Nhiều khung đã có các thùng chứa cho DI tạo đối tượng thông qua mảng cấu hình và bơm chúng khi cần (tức là trong bộ điều khiển)

2.6.4.Sơ đồ uml

Hướng dẫn php design patterns dependency injection - php thiết kế mẫu phụ thuộc tiêm

2.6.5.Mã số¶

Bạn cũng có thể tìm thấy mã này trên GitHub

Xem Thêm : Ngày 9 2 1930 diễn ra sự kiện nào dưới đây

DatabaseConfiguration.php

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?php

declare(strict_types=1);

namespace DesignPatternsStructuralDependencyInjection;

class DatabaseConfiguration
{
    public function __construct(
        private string $host,
        private int $port,
        private string $username,
        private string $password
    ) {
    }

    public function getHost(): string
    {
        return $this->host;
    }

    public function getPort(): int
    {
        return $this->port;
    }

    public function getUsername(): string
    {
        return $this->username;
    }

    public function getPassword(): string
    {
        return $this->password;
    }
}

DatabaseConnection.php

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php

declare(strict_types=1);

namespace DesignPatternsStructuralDependencyInjection;

class DatabaseConnection
{
    public function __construct(private DatabaseConfiguration $configuration)
    {
    }

    public function getDsn(): string
    {
        // this is just for the sake of demonstration, not a real DSN
        // notice that only the injected config is used here, so there is
        // a real separation of concerns here

        return sprintf(
            '%s:%[email protected]%s:%d',
            $this->configuration->getUsername(),
            $this->configuration->getPassword(),
            $this->configuration->getHost(),
            $this->configuration->getPort()
        );
    }
}

2.6.6.Bài kiểm tra¶

Tests/DependencyInjectionTest.php

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
<?php

declare(strict_types=1);

namespace DesignPatternsStructuralDependencyInjectionTests;

use DesignPatternsStructuralDependencyInjectionDatabaseConfiguration;
use DesignPatternsStructuralDependencyInjectionDatabaseConnection;
use PHPUnitFrameworkTestCase;

class DependencyInjectionTest extends TestCase
{
    public function testDependencyInjection()
    {
        $config = new DatabaseConfiguration('localhost', 3306, 'domnikl', '1234');
        $connection = new DatabaseConnection($config);

        $this->assertSame('domnikl:[email protected]:3306', $connection->getDsn());
    }
}
ADVERTISEMENT

Nguồn: https://quatangtiny.com
Danh mục: Blog

Liên Quan:

Cấp huyện tiếng Anh là gìCấp huyện tiếng Anh là gì Cách qua môn triết học mác – lêninCách qua môn triết học mác – lênin Hướng dẫn get last two words from string php – lấy hai từ cuối cùng từ chuỗi phpHướng dẫn get last two words from string php – lấy hai từ cuối cùng từ chuỗi php Hướng dẫn dùng logical shift trong PHPHướng dẫn dùng logical shift trong PHP
Tags: Hướng dẫn php design patterns dependency injection - php thiết kế mẫu phụ thuộc tiêm
ADVERTISEMENT
Previous Post

Văn mẫu lớp 12: Viết đoạn văn nghị luận về tình yêu tuổi học trò (10 mẫu)

Next Post

Tập làm văn lớp 4: Luyện tập xây dựng đoạn văn kể chuyện

Related Posts

7 tình yêu bao năm đậm sâu lời hứa hot nhất
Blog

7 tình yêu bao năm đậm sâu lời hứa hot nhất

5 Tháng Sáu, 2023
Châu Phi có tỉ lệ người bị nhiễm HIV cao nhất thế giới là
Blog

Châu Phi có tỉ lệ người bị nhiễm HIV cao nhất thế giới là

5 Tháng Sáu, 2023
cheeter-chotter là gì – Nghĩa của từ cheeter-chotter
Blog

cheeter-chotter là gì – Nghĩa của từ cheeter-chotter

5 Tháng Sáu, 2023
0.5 đọc tiếng anh là gì
Blog

0.5 đọc tiếng anh là gì

5 Tháng Sáu, 2023
Cách đu xà giãn cột sống
Blog

Cách đu xà giãn cột sống

5 Tháng Sáu, 2023
Gây tai nạn giao thông phạt bao nhiêu tiền
Blog

Gây tai nạn giao thông phạt bao nhiêu tiền

5 Tháng Sáu, 2023
Next Post
Tập làm văn lớp 4: Luyện tập xây dựng đoạn văn kể chuyện

Tập làm văn lớp 4: Luyện tập xây dựng đoạn văn kể chuyện

Bài Viết Mới

6 công suất điện tiêu thụ của mạch điện xoay chiều tốt nhất, đừng bỏ qua
Tham khảo

6 công suất điện tiêu thụ của mạch điện xoay chiều tốt nhất, đừng bỏ qua

by Tiny Edu
5 Tháng Sáu, 2023
0

Trong bài viết này chúng tôi sẽ giúp các bạn tìm hiểu thông tin và kiến thức về công suất...

Read more
7 tình yêu bao năm đậm sâu lời hứa hot nhất

7 tình yêu bao năm đậm sâu lời hứa hot nhất

5 Tháng Sáu, 2023
Xem Ngay 5 di tích lịch sử hà tĩnh tốt nhất, đừng bỏ lỡ

Xem Ngay 5 di tích lịch sử hà tĩnh tốt nhất, đừng bỏ lỡ

5 Tháng Sáu, 2023
7 18 24 hay nhất

7 18 24 hay nhất

5 Tháng Sáu, 2023
6 khái niệm đơn thức hot nhất, đừng bỏ qua

6 khái niệm đơn thức hot nhất, đừng bỏ qua

5 Tháng Sáu, 2023
4 lợn thuộc nhiêu hay nhất, đừng bỏ qua

4 lợn thuộc nhiêu hay nhất, đừng bỏ qua

5 Tháng Sáu, 2023
Châu Phi có tỉ lệ người bị nhiễm HIV cao nhất thế giới là

Châu Phi có tỉ lệ người bị nhiễm HIV cao nhất thế giới là

5 Tháng Sáu, 2023
cheeter-chotter là gì – Nghĩa của từ cheeter-chotter

cheeter-chotter là gì – Nghĩa của từ cheeter-chotter

5 Tháng Sáu, 2023
0.5 đọc tiếng anh là gì

0.5 đọc tiếng anh là gì

5 Tháng Sáu, 2023
Cách đu xà giãn cột sống

Cách đu xà giãn cột sống

5 Tháng Sáu, 2023

Phản hồi gần đây

  • Tả cây cam mà em yêu thích (Dàn ý + 7 mẫu) - Tài Liệu Miễn Phí trong Tả một loại cây ăn quả mà em thích (Dàn ý + 70 Mẫu)
  • Mẫu vở luyện viết chữ đẹp - Tài Liệu Miễn Phí trong Mẫu giấy 4 ô ly
  • Bộ đề thi thử vào lớp 10 môn tiếng Anh năm 2018 - 2019 - Tài Liệu Miễn Phí trong Bộ đề thi thử vào lớp 10 môn Toán năm 2018 – 2019
  • Đề thi thử THPT Quốc gia năm 2017 môn Địa lý trường THPT Đoàn Thượng, Hải Dương (Lần 1) - Tài Liệu Miễn Phí trong Đề thi thử THPT Quốc gia năm 2017 môn Địa lý trường THPT Lý Thái Tổ, Bắc Ninh (Lần 1)
  • Đoạn văn tiếng Anh về môn thể thao yêu thích (8 mẫu) - Tài Liệu Miễn Phí trong Đoạn văn tiếng Anh về ngày Tết
ADVERTISEMENT
  • Trang chủ
  • Tin Tức
  • Liên hệ
HOME - TRANG CHU

© 2021 Copyright - Quà Tặng Tiny

No Result
View All Result
  • Giáo Án
  • Học Tập
    • Lớp 1
    • Lớp 2
    • Lớp 3
    • Lớp 4
    • Lớp 5
    • Lớp 6
    • Lớp 7
    • Lớp 8
    • Lớp 9
    • Lớp 10
    • Lớp 11
    • Lớp 12
  • Sách Tham Khảo
    • Sách Tham Khảo Lớp 1
    • Sách Tham Khảo Lớp 2
    • Sách Tham Khảo Lớp 3
    • Sách Tham Khảo Lớp 4
    • Sách Tham Khảo Lớp 5
    • Sách Tham Khảo Lớp 6
    • Sách Tham Khảo Lớp 7
    • Sách Tham Khảo Lớp 8
    • Sách Tham Khảo Lớp 9
    • Sách Tham Khảo Lớp 10
    • Sách Tham Khảo Lớp 11
    • Sách Tham Khảo Lớp 12
  • Ôn Thi
    • Thi THPT Quốc Gia
    • Địa Lý
    • Giáo Dục Công Dân
    • Hóa Học
    • Lịch Sử
    • Ngoại Ngữ
    • Ngữ Văn
    • Sinh Học
    • Vật Lý
    • Toán Học
  • Sách Kinh Tế
  • Sách Ngoại Ngữ
    • Tiếng Nhật
    • Tiếng Pháp
    • Tiếng Trung
  • Biểu mẫu
    • Giáo dục – Đào tạo
  • Sách Văn Học
  • Sách Y Học
  • Tài Liệu
    • Thủ tục hành chính
    • Việc làm – Nhân sự
    • Y học
    • Bộ đội – Quốc phòng – Thương binh
    • Doanh nghiệp
    • Giáo dục – Đào tạo
    • Giao thông vận tải
    • Hôn nhân – Gia đình
    • Quyền Dân sự
    • Tin Tức
  • Tâm Lý & Kỹ Năng

© 2021 Copyright - Quà Tặng Tiny