Trong vài tuần qua, NETTUTS đã đăng một vài hướng dẫn tuyệt vời về cách bắt đầu sử dụng PHP và MySQL để tạo các ứng dụng web đơn giản như hộp thông báo. Hôm nay chúng ta sẽ nâng cao kiến thức về PHP và MySQL thêm một bước nữa bằng cách tạo một blog đơn giản. Mặc dù có vô số nền tảng blog miễn phí tuyệt vời, nhưng mục đích của hướng dẫn này không phải là tạo một blog "tốt hơn" mà là sử dụng quy trình tạo blog để tìm hiểu về các kỹ thuật cấu trúc cơ sở dữ liệu nâng cao và cách sử dụng dữ liệu hiệu quả hơn bằng cách sử dụng các đối tượng trong
Tệp blog đơn giản. khóa kéo
thiết kế benmills. com/simpleblog/
Đối với hướng dẫn này, giả định rằng bạn đã có một số hiểu biết cơ bản về PHP, MySQL, XHTML và sau này là jQuery/JavaScript
Phần 1] Tạo cơ sở dữ liệu của chúng tôi
Trước khi chúng tôi chuyển sang ứng dụng khách MySQL của mình và bắt đầu tạo các bảng của mình, chúng tôi nên trình bày những gì chúng tôi muốn trong blog của mình. Điều hiển nhiên chúng ta cần nắm giữ là các bài đăng trên blog và trong mỗi bài đăng phải có tiêu đề, bài đăng, tác giả và ngày đăng.
Bây giờ chúng tôi chỉ có thể tạo một bảng để chứa thông tin đó và rất có thể hoàn thành việc tạo một blog cơ bản, nhưng chỉ với một bảng, chúng tôi sẽ không có nhiều quyền kiểm soát dữ liệu của mình. Ví dụ: chúng tôi chỉ có thể lưu trữ tên của tác giả trong cùng một bảng với bài đăng trên blog, nhưng nếu chúng tôi cũng muốn lưu trữ email của tác giả thì sao? . Chúng tôi chỉ cần thêm một trường khác vào bảng của mình sẽ là giải pháp rõ ràng
Vấn đề xảy ra khi bạn muốn thay đổi địa chỉ email của tác giả đó. Bây giờ bạn phải thay đổi nó cho mỗi bài đăng trên blog mà người đó đã tạo
Vì vậy, những gì chúng tôi sẽ làm là tạo một bảng riêng gọi là "Mọi người" và trong đó, chúng tôi sẽ lưu trữ tất cả thông tin chúng tôi cần từ tác giả - chẳng hạn như email, URL, tên của họ và ID duy nhất. Sau đó, trong bảng bài đăng trên blog của chúng tôi, chúng tôi sẽ trỏ đến người mà chúng tôi muốn sử dụng ID duy nhất của người đó. Id này được gọi là khóa ngoại và mối quan hệ giữa bảng bài đăng trên blog và bảng người được gọi là mối quan hệ một-nhiều
Một điều khác mà chúng tôi muốn có trong blog của mình là một thẻ cho mỗi bài đăng trên blog. Một lần nữa, chúng tôi muốn làm cho cơ sở dữ liệu của mình hiệu quả, vì vậy chúng tôi sẽ tạo một bảng riêng cho các thẻ của mình. Bây giờ chúng ta làm gì? . Để làm điều này, chúng ta cần tạo một bảng khác có tên là "blog_post_tags" sẽ chứa hai khóa ngoại, một sẽ là ID của bài đăng trên blog và bảng còn lại sẽ là ID thẻ mà bài đăng trên blog được liên kết với. Bằng cách này, chúng tôi có thể gán bao nhiêu thẻ tùy thích cho một bài đăng trên blog nhưng vẫn có thể chỉnh sửa thông tin về thẻ cụ thể đó trên tất cả các bài đăng bằng một truy vấn MySQL đơn giản
Bây giờ chúng ta đã phác thảo những gì chúng ta muốn cơ sở dữ liệu của mình trông như thế nào, hãy tạo nó. Tôi sẽ sử dụng PhpMyAdmin vì đó là ứng dụng khách quản trị MySQL được sử dụng rộng rãi nhất. Có một vài quy ước đặt tên khác nhau mà bạn có thể sử dụng khi tạo tên cơ sở dữ liệu, bảng và trường của mình. Cá nhân tôi thích sử dụng tất cả chữ thường và dấu gạch dưới thay cho khoảng trắng
Ghi chú. Nếu bạn không có PHP và MySQL trên hệ thống của mình hoặc máy chủ có thể chạy nó, tôi khuyên bạn nên tải xuống bản cài đặt Apache, PHP và MySQL độc lập. MAMP tốt cho Mac và WAMP tốt cho PC
Đầu tiên chúng ta cần tạo cơ sở dữ liệu của mình, tôi sẽ gọi nó là "nettuts_blog"
Tiếp theo, chúng ta sẽ tạo các bảng của mình;
"blog_posts" sẽ có năm trường. "id", "title", "post", "author_id" và "date_posted". Đối với "id", chúng tôi sẽ đặt nó làm khóa chính và đặt thành tự động tăng. Điều này sẽ làm là tạo id duy nhất cho chúng tôi. Mỗi khi chúng tôi thêm một bài đăng, nó sẽ cung cấp cho nó một số bắt đầu từ một và tăng lên cho nhiều bài đăng mà chúng tôi có
Bây giờ chúng ta cũng cần đặt loại biến cho từng trường. Id sẽ được đặt thành kiểu int, viết tắt của số nguyên, vì nó chỉ có thể là một số và chúng tôi sẽ đặt độ dài tối đa là 11. Trường "tiêu đề" sẽ được đặt thành loại varchar với độ dài tối đa là 255. Trường "bài đăng" sẽ là "văn bản" và chúng tôi sẽ không đặt độ dài tối đa vì bài đăng có thể rất dài. "author_id" sẽ giống như "id" nhưng chúng tôi sẽ không đặt nó làm khóa chính hoặc tự động tăng nó và chúng tôi sẽ đặt "date_posted" thành loại "Date"
Bàn tiếp theo của chúng ta sẽ là "người". Chúng tôi không gọi đó là "tác giả" vì trong tương lai, chúng tôi có thể muốn tạo khả năng đăng ký và đăng nhận xét và những người đó sẽ không được coi là tác giả
"người" cũng sẽ chứa năm trường. "id", "first_name", "last_name", "url" và "email"
"id" sẽ được đặt làm int, khóa chính và để tăng tự động, giống như cách chúng tôi đặt id của "blog_posts". Tất cả "first_name", "last_name", "url" và "email" sẽ được đặt thành loại varchar với độ dài tối đa là 255
Bảng tiếp theo của chúng tôi sẽ là "thẻ" và hiện tại sẽ chỉ chứa hai trường. "id" và "tên". Cuối cùng, chúng ta có thể làm cho điều này phức tạp hơn bằng cách thêm một mô tả nhưng đối với hướng dẫn này, chúng ta sẽ không. Như chúng ta đã làm trước đây, "id" sẽ được đặt là int, khóa chính và tự động tăng. "tên" sẽ là loại varchar và có độ dài tối đa là 255
Và bảng cuối cùng của chúng ta, "blog_post_tags", sẽ chỉ có hai trường. "blog_post_id" và "tag_id". Cả hai sẽ được đặt thành kiểu int với độ dài tối đa là 11. Như bạn có thể nhận thấy, chúng tôi đã không đặt khóa chính cho bảng này. Điều này là do chúng tôi sẽ không bao giờ lấy dữ liệu ra khỏi bảng này trừ khi chúng tôi yêu cầu một bài đăng blog cụ thể hoặc tất cả các bài đăng của một id thẻ cụ thể
Phần 2] Tạo đối tượng của chúng tôi trong PHP
Trước khi chúng tôi bắt đầu với mã PHP thực tế của mình, chúng tôi cần tạo các tệp và thư mục của mình, đối với hướng dẫn này, chúng tôi sẽ có chỉ mục của mình. php trong thư mục gốc của chúng tôi, sau đó một thư mục bao gồm sẽ chứa biểu định kiểu CSS của chúng tôi, các tệp JavaScript của chúng tôi, bao gồm. php sẽ chứa các tham chiếu đến các đối tượng và kết nối MySQL của chúng tôi và blogpost. php sẽ giữ đối tượng Bài đăng trên Blog của bạn
Bây giờ chúng ta đã có bộ cơ sở dữ liệu, chúng ta cần tạo các đối tượng trong PHP sẽ xử lý dữ liệu cho chúng ta. Các đối tượng trong lập trình là một cách để tập hợp các thuộc tính khác nhau [dưới dạng biến] và các phương thức liên quan đến cùng một thứ. Các đối tượng cũng giúp chúng tôi tổ chức các chương trình của mình nhiều hơn nữa. Trước khi chúng ta chuyển sang các đối tượng cho blog của mình, chúng ta hãy tạo một đối tượng đơn giản để chúng ta có thể minh họa chúng là gì theo một thuật ngữ "thực tế" hơn
Đối tượng của chúng ta sẽ được gọi là "Xe đạp", bây giờ có hai loại đối tượng mà mỗi đối tượng có, thuộc tính và phương thức. Các thuộc tính xác định đối tượng và các phương thức là những gì đối tượng làm. Ví dụ: đối tượng Xe đạp của chúng tôi sẽ có các thuộc tính như kích thước bánh xe, số lượng bánh răng và có lẽ là kích thước khung. Đối với các phương pháp, chúng tôi có thể có một cái gì đó như "Pedal"
Bây giờ để quay trở lại blog của chúng tôi, chúng tôi chỉ cần một đối tượng bây giờ được gọi là "BlogPost". BlogPost sẽ có sáu thuộc tính là id, tiêu đề, bài đăng, tác giả, thẻ và ngày đăng. Vì vậy, hãy làm cho nó trong PHP
Để định nghĩa một đối tượng trong PHP, chúng tôi định nghĩa nó là một "lớp". Một lớp là cấu trúc của từng đối tượng, hoặc như wikipedia mô tả về nó, "Trong lập trình hướng đối tượng, một lớp là một cấu trúc ngôn ngữ lập trình được sử dụng làm bản thiết kế để tạo các đối tượng. Kế hoạch chi tiết này bao gồm các thuộc tính và phương thức mà tất cả các đối tượng đã tạo đều chia sẻ. " [http. // vi. wikipedia. org/wiki/Concrete_class]. Chúng tôi sẽ mở blogpost của chúng tôi. trang php và xác định đối tượng đầu tiên của chúng tôi
Ghi chú. Trong mỗi phần của hướng dẫn, tôi sẽ bỏ qua các thẻ PHP mở và đóng;
1
class BlogPost
2
{
3
}
Trong lớp của chúng tôi, trước tiên chúng tôi cần xác định các thuộc tính của mình. Để làm điều này, chúng ta phải tạo các biến - nhưng có "public" ở phía trước chúng. Chỉ cần lưu ý nhanh, nếu bạn đang sử dụng PHP4 thì bạn sẽ cần sử dụng "var" thay vì "public"
1
class BlogPost
2
{
3
class BlogPost1
class BlogPost2
class BlogPost3
class BlogPost4
class BlogPost5
class BlogPost6
class BlogPost7
class BlogPost8
class BlogPost9
20
21
22
23
Bây giờ chúng tôi đã xác định tất cả các thuộc tính của mình, chúng tôi muốn xác định phương thức đầu tiên của mình. Các phương thức cũng được mô tả như các hàm, nhưng sự khác biệt chính là một phương thức là một hàm bên trong một đối tượng. Vì vậy, tất cả các phương thức cũng là hàm nhưng không phải tất cả các hàm đều là phương thức
Phương thức đầu tiên của chúng ta sẽ là phương thức được gọi là phương thức khởi tạo;
Công dụng phổ biến của hàm tạo là để bạn có thể tạo một đối tượng mới và thiết lập các thuộc tính của đối tượng đó một cách nhanh chóng
Vì vậy, những gì chúng ta muốn làm là tạo một hàm mới gọi là __construct[] và chúng ta sẽ chuyển vào năm giá trị, id, tiêu đề, bài đăng, id tác giả và ngày đăng. Đối với mỗi tên biến, chúng ta sẽ đặt "in" trước từ này để chúng ta có thể biết bên trong các hàm của mình biến nào đang được truyền vào và biến nào đã có mặt
1
class BlogPost
2
{
3
class BlogPost1
class BlogPost2
class BlogPost3
class BlogPost4
class BlogPost5
class BlogPost6
class BlogPost7
class BlogPost8
class BlogPost9
20
21
22
31
32
33
34
35
36
37
38
39
Vấn đề ở đây là, với mã hiện tại này, mỗi khi chúng tôi tạo một phiên bản mới của BlogPost, chúng tôi cần cung cấp tất cả các thuộc tính đó. Nhưng nếu chúng ta muốn tạo một bài đăng blog mới và chưa xác định các biến đó thì sao?
1____51
2
{
3
23
Như bạn có thể thấy, tất cả những gì chúng tôi làm để hoàn thành nhiệm vụ của mình là đặt từng đối số thành giá trị "null". Bây giờ bên trong hàm tạo của chúng ta, chúng ta cần đặt từng biến của mình thành các giá trị được truyền vào. Để làm điều này, chúng tôi muốn đặt chúng vào đối tượng mà chúng tôi đang ở ngay bây giờ; . Không giống như nhiều ngôn ngữ khác để truy cập một thuộc tính trong PHP, bạn sử dụng "->" ở hầu hết các ngôn ngữ [Tôi. E. Javascript, ASP. NET], bạn sử dụng ". "
1
}1
2
{
3
11
class BlogPost2
13
class BlogPost4
15
class BlogPost6
23
Điều này hoạt động cho id, tiêu đề và bài đăng. Nhưng còn những người khác của chúng ta thì sao? . Điều đó dễ dàng thực hiện được; . MySQL cung cấp nó cho chúng tôi ở định dạng này yyyy-mm-dd, vì vậy nếu chúng tôi tách nó ra bằng cách sử dụng "-" làm dấu phân cách, chúng tôi sẽ nhận được một mảng chứa ba giá trị. Cái đầu tiên sẽ ghi năm của chúng ta, cái tiếp theo sẽ ghi tháng của chúng ta và cái cuối cùng sẽ là ngày. Bây giờ tất cả những gì chúng tôi làm là đặt chúng lại với nhau ở bất kỳ định dạng nào chúng tôi muốn. Tôi đang sử dụng mm/dd/yyyy
1
19
2
class BlogPost1
Đối với tác giả, tất cả những gì chúng ta phải làm là yêu cầu cơ sở dữ liệu cho người có id của ID tác giả của chúng ta. Chúng ta có thể làm điều này với một truy vấn MySQL cơ bản
1
class BlogPost3______2
class BlogPost5
3
class BlogPost7
Chỗ nối bên trái
Bây giờ các thẻ sẽ khó hơn một chút. Chúng ta sẽ cần nói chuyện với cơ sở dữ liệu, vì vậy chúng ta cần tạo một truy vấn MySQL. Chúng tôi sẽ không lo lắng về kết nối cơ sở dữ liệu ngay bây giờ, điều đó sẽ được xác định bên ngoài lớp này. Bây giờ tất cả những gì chúng ta có là ID của bài đăng trên blog. Chúng tôi có thể so sánh điều đó với các thẻ bài đăng trên blog trong bảng blog_post_tags của chúng tôi nhưng sau đó chúng tôi sẽ chỉ lấy lại ID của thẻ và sẽ cần thực hiện một truy vấn khác để lấy thông tin về thẻ. Điêu đo không tôt;
Để làm điều này, chúng tôi sẽ thực hiện cái được gọi là nối trái, điều này có nghĩa là chúng tôi cũng sẽ chọn dữ liệu từ một bảng khác nhưng chỉ khi nó khớp với dữ liệu từ "bên trái" hoặc dữ liệu đã chọn khác của chúng tôi. Vì vậy, trước tiên, hãy lấy tất cả ID thẻ được liên kết với ID bài đăng trên blog của chúng tôi trong bảng blog_post_tags
1
class BlogPost9
Bây giờ, hãy thêm phép nối trái của chúng tôi và cho biết truy vấn của chúng tôi, chúng tôi chỉ muốn dữ liệu trong bảng thẻ
1
21
Vì vậy, bây giờ truy vấn đang chọn tất cả từ các thẻ và bảng blog_posts_tags, đầu tiên là blog_post_tags. blog_post_id bằng với cái chúng tôi đã cung cấp và sau đó cũng trả về thông tin về từng thẻ có tag_id nằm trong cùng hàng dữ liệu với blog_post_id của chúng tôi
Bây giờ chúng tôi muốn xử lý dữ liệu đó trong PHP bằng một vòng lặp đơn giản. Chúng tôi cũng sẽ tạo hai mảng sẽ chứa dữ liệu của chúng tôi. một cho tên thẻ và một cho id thẻ. Chúng tôi cũng sẽ tạo một chuỗi để giữ tất cả các thẻ của chúng tôi. Trước tiên, chúng tôi sẽ đặt nó thành "Không có thẻ" để nếu chúng tôi không trả về dữ liệu nào từ truy vấn MySQL của mình, nó sẽ trả về rằng chúng tôi không có thẻ nào, nếu không, giá trị đó sẽ bị ghi đè bằng tên thẻ
1
23
2_______25
3
27
class BlogPost2
29
class BlogPost4
{
class BlogPost6
{
3class BlogPost8
{
520
23
Bây giờ chúng tôi sẽ kiểm tra xem mảng có độ dài lớn hơn 0 hay không [chúng tôi không muốn thực hiện tất cả mã bổ sung này nếu không cần thiết]. Tiếp theo, đối với mỗi thẻ trong mảng tên thẻ của chúng tôi, chúng tôi sẽ nối một chuỗi các thẻ. Chúng ta sẽ sử dụng một câu lệnh if other đơn giản
1
{
92
{
3
class BlogPost03
class BlogPost2
34
class BlogPost4
class BlogPost07
class BlogPost6
class BlogPost09
class BlogPost8
class BlogPost11
20
class BlogPost13
22
class BlogPost15
31
class BlogPost09
33
class BlogPost19
35
class BlogPost13
36
37
38___23
class BlogPost26
class BlogPost27
Bạn rất có thể nhận thấy rằng chúng tôi đã không sử dụng mảng id thẻ. Bây giờ chúng ta sẽ để những thứ đó một mình và quay lại với chúng sau. Chúng tôi chỉ muốn thiết lập và chạy blog của mình trước
Bước cuối cùng cho lớp của chúng ta là thêm các câu lệnh if cho từng thuộc tính để nếu chúng ta không chuyển vào gì, thì nó sẽ không cố gắng đặt thuộc tính của đối tượng hiện tại thành không có gì [điều này sẽ gây ra lỗi]. Đây là toàn bộ lớp BlogPost có thêm câu lệnh if
1
class BlogPost29
2
3
class BlogPost
class BlogPost2
{
class BlogPost4
class BlogPost6
class BlogPost37
class BlogPost8
class BlogPost39
20
class BlogPost41
22
class BlogPost43
31
class BlogPost45
33
class BlogPost47
35
36
}1
38
{
class BlogPost26
class BlogPost54
class BlogPost55
34
class BlogPost57
class BlogPost58
class BlogPost59
37
class BlogPost61
class BlogPost62
class BlogPost63
34
class BlogPost65
class BlogPost66
class BlogPost67
37
class BlogPost69
class BlogPost70
class BlogPost71
34
class BlogPost73
class BlogPost74
class BlogPost75
37
class BlogPost77
class BlogPost78
class BlogPost79
class BlogPost80
34
class BlogPost82
class BlogPost83
class BlogPost84
class BlogPost85
class BlogPost86
37
class BlogPost88
class BlogPost89
class BlogPost90
class BlogPost91
34
class BlogPost93
class BlogPost94
class BlogPost95
class BlogPost96
class BlogPost97
class BlogPost98
class BlogPost99
37
201
202
203
204
class BlogPost54
206
34
208
209
210
211
212
213
214
215
216
class BlogPost09
218
219
220
221_
Bây giờ lớp đối tượng của chúng ta đã hoàn thành, hầu hết những thứ khó khăn đã hoàn thành. Bây giờ tất cả những gì chúng ta phải làm là thiết lập kết nối cơ sở dữ liệu và HTML để hiển thị các bài đăng của chúng ta
Phần 3] Tìm nạp dữ liệu từ MySQL và hiển thị nó bằng PHP
Trước khi chúng tôi làm bất cứ điều gì, chúng tôi cần thiết lập bao gồm của chúng tôi. php để giữ tham chiếu đến đối tượng BlogPost của chúng tôi và kết nối với cơ sở dữ liệu MySQL của chúng tôi. Trước tiên, hãy bao gồm đối tượng của chúng tôi bằng một câu lệnh bao gồm đơn giản
_______265
Bây giờ hãy thêm kết nối cơ sở dữ liệu của chúng tôi
1
267______2
269
3
271
Tiếp theo, chúng tôi cần truy xuất các bài đăng trên blog của mình từ cơ sở dữ liệu. Để làm điều này, chúng ta sẽ tạo một hàm có thể nhận tối đa hai đối số. Chúng tôi sẽ quá tải cả hai;
1
273
2______9
3
class BlogPost2
23
Bên trong chức năng của chúng tôi, chúng tôi cần kiểm tra xem những đối số nào đã được truyền vào và tạo truy vấn MySQL của chúng tôi cho phù hợp
1
280
2
{
3
class BlogPost54
class BlogPost2
34
class BlogPost4
class BlogPost6
37
class BlogPost8
291
20
34
22
31
37
33
298
35
34
36
38
37
class BlogPost26
23
Vì vậy, những gì chúng tôi đang làm ở đây là hỏi xem mỗi đối số có trống không, lý do chúng tôi đang sử dụng hàm trống thay vì chỉ thực hiện tiêu chuẩn ". = null" so sánh là bởi vì rỗng không chỉ kiểm tra xem biến có rỗng hay không mà còn kiểm tra xem nó có trống không [tôi. E. ""]. Bây giờ chúng tôi sẽ viết một truy vấn tùy thuộc vào những biến chúng tôi có. Nếu chúng tôi chuyển vào một ID bài đăng trên blog, chúng tôi chỉ muốn một bài đăng trên blog đó, nếu chúng tôi cung cấp chức năng inTagId, chúng tôi muốn tất cả các bài đăng có thẻ đó và nếu không, chúng tôi chỉ muốn tất cả các bài đăng trên blog trong cơ sở dữ liệu của mình
1
{07
2
{
3
{11
class BlogPost2
23
class BlogPost4
{15
class BlogPost6
{
class BlogPost8
{19
20
23
22
{23
31
{
33
{27
35
23
Bước tiếp theo là xử lý dữ liệu được trả về từ mỗi truy vấn, tạo các đối tượng rồi thêm chúng vào một mảng để trả về
1
{31
2
{33
3
{
class BlogPost2
{37
class BlogPost4
{39
class BlogPost6
23
class BlogPost8
{43
Đây là toàn bộ bao gồm. mã của tập tin php
1
class BlogPost29
2
265
3
class BlogPost2
{50
class BlogPost4
269
class BlogPost6
271
class BlogPost8
20
280
22
{
31
class BlogPost54
33
34
35
{65
36
37
38
291
class BlogPost26
34
class BlogPost55
{73
class BlogPost57
37
class BlogPost59
298
class BlogPost61
34
class BlogPost63
{81
class BlogPost65
37
class BlogPost67
class BlogPost69
{86
class BlogPost71
{88
class BlogPost73
34
class BlogPost75
{92
class BlogPost77
{94
class BlogPost78
37
class BlogPost80
{98
class BlogPost82
23
class BlogPost84
263
Bây giờ chúng ta có thể chuyển sang hiển thị dữ liệu của bạn, hãy mở chỉ mục của bạn. php và thiết lập một trang HTML cơ bản. Bên trong cơ thể của chúng tôi, chúng tôi sẽ tạo một bộ phận với id là "chính" sẽ chứa blog của chúng tôi. Chúng tôi sẽ đặt cho blog của mình một tiêu đề và sau đó có một div thứ hai bên trong chính sẽ được gọi là "blogPosts"
1
304
2_______406
3
308
class BlogPost2
class BlogPost4
311
class BlogPost6
313
Bên trong div blogPosts của chúng tôi, chúng tôi sẽ đặt một số PHP để chúng tôi có thể hiển thị các bài đăng của mình. Đầu tiên chúng tôi sẽ bao gồm chúng tôi bao gồm. php và sau đó gọi hàm GetBlogPosts của chúng tôi mà không có đối số để lấy tất cả các bài đăng trên blog của chúng tôi và đặt nó thành một mảng có tên là blogPosts
1____129____2____417
3
class BlogPost2
320____14
263
Bây giờ, chúng tôi sẽ sử dụng vòng lặp foreach để hiển thị các bài đăng trên blog của chúng tôi. Vòng lặp foreach làm gì cho chúng ta ngay bây giờ là lấy một mảng và thực thi mã trong vòng lặp cho từng mục trong mảng, bạn cũng có thể sử dụng vòng lặp for bình thường để đạt được điều này nhưng vòng lặp foreach yêu cầu ít mã hơn
1____424
2______9
3
class BlogPost2
23
Inside the loop, we use $post as the current array item, and since $blogPosts is an array of BlogPost objects we can simply use "->" to access each property that we want. Lets start by just echoing out the title of each blog post to our page and just add a
- as an example.
1
324
2
{
3
335
class BlogPost2
23
Nếu chúng tôi truy cập cơ sở dữ liệu của mình và chèn một số dữ liệu giả, thì hãy mở chỉ mục. php trong trình duyệt, chúng ta sẽ nhận được một cái gì đó như thế này
Let's really build our posts in HTML. Each post will be wrapped in a div with a class of "post". Then we will have the post title inside an h1 tag and the actual post inside a
tag.
1
324
2_______9
3
343
class BlogPost2_______445
class BlogPost4
347
class BlogPost6
349
class BlogPost8
23
Ngoài ra, hãy cung cấp cho mỗi bài đăng một chân trang sẽ bao gồm tác giả của bài đăng, ngày đăng và thẻ của bài đăng. Chúng tôi sẽ đặt tất cả thông tin này trong thẻ span với lớp "chân trang"
1
324
2
{
3
343
class BlogPost2_______459
class BlogPost4
361
class BlogPost6
363
class BlogPost8
349
20
23
Bây giờ hãy nhìn vào chỉ số của chúng tôi. php một lần nữa trong trình duyệt
Có vẻ như tất cả đều hoạt động. Tiếp theo, hãy thêm một số kiểu dáng
Tốt hơn nhiều; . Đó là nó cho hướng dẫn này. Trong hướng dẫn tiếp theo, chúng tôi sẽ thêm nhiều chức năng hơn vào blog của mình, bao gồm một số chức năng AJAX hay
Tôi hy vọng bây giờ bạn đã hiểu rõ hơn về cách thức hoạt động của lập trình hướng đối tượng. Ngay cả khi bạn kết thúc phần lớn quá trình phát triển của mình bằng cách sử dụng một khung, thì điều rất quan trọng là bạn phải có hiểu biết cốt lõi về các nguyên tắc cơ bản. Nếu bạn có bất kỳ câu hỏi cụ thể nào về hướng dẫn này, đừng ngần ngại tweet cho tôi @benemills. Tôi muốn gửi lời cảm ơn đặc biệt tới James Padolsey vì đã giúp tôi hoàn thành bài viết này