Hướng dẫn dùng program php trong PHP
PHP: Hypertext Preprocessor (PHP) là một ngôn ngữ lập trình cho phép nhà phát triển web tạo ra nội dung động tương tác với cơ sở dữ liệu. PHP về cơ bản được sử dụng để phát triển các ứng dụng dựa trên nền web. Hướng dẫn này giúp bạn hiểu biết về PHP từ cơ bản tới nâng cao. Đặc điểm của PHPNăm đặc điểm quan trọng của PHP:
Các ứng dụng của PHPNhư đã đề cập ở trên, PHP là một trong những ngôn ngữ được sử dụng rộng rãi nhất trên web. Tôi sẽ liệt kê một vài ứng dụng của PHP ở đây:
Khai báo môi trường PHPCông cụ phân tích cú pháp PHP cần một cách để phân biệt mã PHP với các thành phần khác trong trang web. Có bốn cách để bắt đầu môi trường PHP. Thẻ PHP
Đây là kiểu khai báo phổ biến và hiệu quả nhất. Nếu bạn sử kiểu khai báo này, bạn có thể chắc chắn rằng các thẻ của bạn sẽ luôn được thông dịch chính xác. Thẻ ngắn hoặc mở ngắn
Bạn phải thực hiện một trong hai cấu hình sau để cho phép PHP nhận ra thẻ ngắn này:
Lưu ý: Tùy chọn này phải được tắt khi phân tích cú pháp XML bằng PHP vì nó có cùng một cú pháp được sử dụng cho các thẻ XML. Thẻ kiểu ASP
Thẻ kiểu ASP bắt chước thẻ được sử dụng bởi Active Server Pages để
phân định các khối mã. Để sử dụng thẻ kiểu ASP, bạn sẽ cần thiết lập tùy chọn cấu hình Thẻ script HTML
PHP là ngôn ngữ Scripting (tập lệnh) phía máy chủ. Vì vậy, tập lệnh HTML cũng được sử dụng để bắt đầu môi trường PHP như các ngôn ngữ tập lệnh khác. Comment là một phần của một chương trình chỉ tồn tại cho người đọc và bị bỏ qua trước khi hiển thị các kết quả của chương trình. Có hai định dạng comment trong PHP: comment một dòng và comment nhiều dòng. Comment một dòng: Chúng thường được sử dụng để giải thích ngắn hoặc ghi chú liên quan đến mã. Dưới đây là các ví dụ về comment một dòng:
Trong ví dụ trên, comment là những dòng bắt đầu bằng # hoặc //. Điều này sẽ tạo ra kết quả sau:
Comment nhiều dòng: Chúng thường được sử dụng để cung cấp các giải thích chi tiết hơn khi cần thiết. Cách comment nhiều dòng giống như trong C. Dưới đây là ví dụ về comment nhiều dòng.
Trong ví dụ trên, comment nhiều dòng bắt đầu bằng /* và kết thúc bằng */. Điều này sẽ tạo ra kết quả sau:
Bạn có thể tìm hiểu thêm tổng quan về cú pháp của PHP tại bài viết: Tổng quan về cú pháp PHP | Comdy Tổng quan về cú pháp PHP như: khai báo môi trường PHP, comment trong PHP, câu lệnh và khối lệnh trong PHP. Trung NguyenBiến trong PHPCách chính để lưu trữ thông tin trong chương trình PHP là sử dụng một biến. Dưới đây là những điều quan trọng nhất cần biết về biến trong PHP.
PHP có tám kiểu dữ liệu mà chúng ta sử dụng để xây dựng các biến của mình:
Năm kiểu đầu tiên là các kiểu đơn giản và hai kiểu tiếp theo (mảng và đối tượng) là kiểu hỗn hợp - kiểu hỗn hợp có thể chứa các giá trị của các kiểu khác nhau, trong khi các kiểu đơn giản thì không thể. Bạn có thể xem chi tiết về biến trong PHP tại bài viết sau: Biến trong PHP | Comdy Biến trong PHP là gì? Có những loại biến nào trong PHP. Cách khai báo và sử dụng biến trong PHP. ComdyTrung NguyenHằng số trong PHPHằng số là gì?Hằng số là tên hoặc mã định danh cho một giá trị đơn giản. Giá trị của hằng số thì không thể thay đổi trong quá trình thực thi tập lệnh. Theo mặc định, hằng số phân biệt chữ hoa chữ thường. Theo quy ước, hằng số luôn luôn là chữ hoa. Một tên hằng bắt đầu bằng một chữ cái hoặc dấu gạch dưới, theo sau là bất kỳ số lượng chữ cái, số hoặc dấu gạch dưới. Nếu bạn đã định nghĩa một hằng số, nó không thể thay đổi hoặc không xác định (undefined). Để định nghĩa một hằng số, bạn phải sử dụng hàm Không giống như với các biến, bạn không cần phải phải khai báo hằng số bắt đầu với Bạn cũng có thể sử dụng hàm Hàm constant()Giống như tên gọi của nó, hàm này sẽ trả về giá trị của hằng. Điều này rất hữu ích khi bạn muốn lấy giá trị của hằng số, nhưng bạn không biết tên của nó, tức là nó được lưu trữ trong một biến hoặc được trả về bởi một hàm.
Chỉ những dữ liệu kiểu boolean, integer, float và string mới có thể được chứa trong các hằng số. Sự khác nhau giữa hằng số và biến
Bạn có thể xem chi tiết về hằng số trong PHP tại bài viết sau: Hằng số trong PHP | Comdy Hằng số trong PHP là gì? Cách khai báo và sử dụng Hằng số trong PHP. Hằng số ma thuật trong PHP là gì? ComdyTrung NguyenCác loại toán tử trong PHPToán tử là gì?Câu trả lời đơn giản có thể giải thích bằng cách sử dụng biểu thức 4 + 5 = 9 . Ở đây 4 và 5 được gọi là toán hạng và + được gọi là toán tử. Ngôn ngữ PHP hỗ trợ những loại toán tử sau.
Phân loại toán tửTất cả các toán tử chúng ta đã thảo luận ở trên có thể được phân loại thành các loại sau:
Ưu tiên của các toán tử PHPƯu tiên của toán tử xác định các nhóm các điều kiện trong một biểu thức. Điều này ảnh hưởng đến cách một biểu thức được đánh giá. Một số toán tử có quyền ưu tiên cao hơn những toán tử khác; ví dụ, toán tử nhân có độ ưu tiên cao hơn toán tử cộng. Ví dụ: x = 7 + 3 * 2; Ở đây x được gán 13, không phải 20 vì toán tử * có độ ưu tiên cao hơn + nên trước tiên nó thực hiện nhân với 3 * 2 và sau đó cộng vào 7. Trong bảng dưới đây các toán tử có quyền ưu tiên cao nhất xuất hiện ở đầu bảng, những toán tử có mức thấp nhất xuất hiện ở cuối bảng. Trong một biểu thức, các toán tử ưu tiên cao hơn sẽ được đánh giá đầu tiên.
Bạn có thể xem chi tiết về các loại toán tử trong PHP tại bài viết sau: Các loại toán tử trong PHP | Comdy Các loại toán tử trong PHP. Cách khai báo và sử dụng Các loại toán tử trong PHP. ComdyTrung NguyenLệnh điều kiện trong PHPCác câu lệnh if, if...else, if...elseif ...else và switch được sử dụng để đưa ra quyết định dựa trên các điều kiện khác nhau. Bạn có thể sử dụng các câu lệnh điều kiện trong mã của mình để đưa ra quyết định. Dưới đây là lược đồ cấu trúc lệnh điều kiện trong PHP: PHP hỗ trợ những lệnh điều kiện sau:
Bạn có thể xem chi tiết về lệnh điều kiện trong PHP tại bài viết sau: Lệnh điều kiện trong PHP | Comdy Lệnh điều kiện trong PHP là gì? Có những Lệnh điều kiện nào trong PHP? Sử dụng Lệnh điều kiện trong PHP. ComdyTrung NguyenVòng lặp trong PHPCác vòng lặp trong PHP được sử dụng để thực thi cùng một khối mã nhiều lần. PHP hỗ trợ bốn loại vòng lặp sau.
Chúng ta cũng sẽ thảo luận về các từ khóa continue và break được sử dụng để kiểm soát việc thực hiện các vòng lặp. Bạn có thể xem chi tiết về vòng lặp trong PHP tại bài viết sau: Vòng lặp trong PHP | Comdy Vòng lặp trong PHP là gì? Có những loại vòng lặp nào trong PHP? Khai báo và sử dụng vòng lặp trong PHP. ComdyTrung NguyenMảng trong PHPMảng là một cấu trúc dữ liệu lưu trữ một hoặc nhiều loại giá trị tương tự nhau. Ví dụ: nếu bạn muốn lưu trữ 100 số thì thay vì định nghĩa 100 biến bạn có thể dễ dàng định nghĩa một mảng có độ dài 100. Có ba loại mảng khác nhau và mỗi giá trị trong mảng được truy cập bằng chỉ mục.
Bạn có thể xem chi tiết về mảng trong PHP tại bài viết sau: Mảng trong PHP | Comdy Mảng trong PHP là gì? Có những loại mảng nào trong PHP? Cách khai báo và sử dụng mảng trong PHP. Chuỗi trong PHPChuỗi trong PHP là gì?Chuỗi trong PHP là một chuỗi các ký tự, nó được sử dụng để lưu trữ và thao tác văn bản. Có 4 cách để định nghĩa một chuỗi trong PHP:
Dấu nháy đơnBạn có thể sử dụng cặp dấu nháy đơn để định nghĩa một chuỗi. Chuỗi này là một chuỗi đơn thuần, nó xem các biến và ký tự đặc biệt trong chuỗi như là các ký tự thông thường khác và không có bất kỳ xử lý nào khi in.
Đây là kết quả:
Dấu nháy képBạn có thể sử dụng cặp dấu nháy kép để định nghĩa một chuỗi. Chuỗi này sẽ thay thế các biến bằng giá trị của nó và hiển thị các ký tự đặc biệt khi in.
Đây là kết quả:
Cú pháp heredocBạn cũng có thể sử dụng cú pháp heredoc để định nghĩa chuỗi trong PHP. Trong cú pháp heredoc, một mã định danh được cung cấp sau toán tử <<< này và ngay lập tức một dòng mới được bắt đầu để viết bất kỳ văn bản nào. Sử dụng mã định danh để đóng và lưu ý là không có bất kỳ khoảng trắng hoặc tab nào ở phía trước.
Đây là kết quả:
Heredoc tương tự như chuỗi trong cặp dấu nháy kép. Nó cũng có thể in giá trị của biến và các ký tự đặc biệt.
Đây là kết quả:
Cú pháp newdocKhai báo newdoc tương tự như heredoc, chỉ khác ở chỗ mã định danh trong newdoc phải đặt trong cặp dấu nháy đơn. Nếu heredoc tương tự như chuỗi trong cặp dấu nháy kép thì newdoc tương tự như chuỗi trong cặp dấu nháy đơn.
Đây là kết quả:
Lưu ý: newdoc được hỗ trợ bởi các phiên bản PHP 5.3.0+. Ví dụ về chuỗi trong PHPSau đây là các ví dụ hợp lệ của chuỗi trong PHP:
Các chuỗi nằm trong cặp dấu nháy đơn là các chuỗi đơn thuần, trong khi đó các chuỗi trong cặp dấu nháy đôi sẽ thay thế các biến bằng các giá trị của chúng cũng như hiển thị các ký tự đặc biệt. Ví dụ sau sẽ minh họa điều này:
Đây là kết quả:
Như bạn thấy ở ví dụ trên, chuỗi nằm trong cặp dấu nháy đơn không có bất kỳ xử lý
gì với biến Trong khi đó chuỗi nằm trong cặp dấu nháy kép sẽ thay thế biến Không có giới hạn về độ dài chuỗi, bạn có thể tạo các chuỗi dài tùy ý miễn là trong giới hạn cho phép của bộ nhớ. Các chuỗi được phân tách bằng dấu nháy kép được xử lý trước bởi PHP theo cả hai cách sau:
Thay thế các ký tự đặc biệt như sau:
Bạn có thể xem chi tiết về chuỗi trong PHP tại bài viết sau: Chuỗi trong PHP | Comdy Chuỗi trong PHP là gì? Có bao nhiêu cách định nghĩa một chuỗi trong PHP. Các hàm chuỗi tích hợp sẵn trong PHP. ComdyTrung NguyenHàm trong PHPSức mạnh thực sự của PHP đến từ các hàm của nó. PHP có hơn 1000 hàm tích hợp sẵn và ngoài ra, bạn có thể tạo các hàm tùy chỉnh của riêng mình. Các hàm tích hợp sẵn của PHPPHP có hơn 1000 hàm tích hợp sẵn có thể được gọi trực tiếp, từ bên trong một tập lệnh, để thực hiện một tác vụ cụ thể. Vui lòng kiểm tra tài liệu tham khảo PHP của chúng tôi để biết tổng quan đầy đủ về các hàm tích hợp sẵn của PHP. Hàm do người dùng định nghĩa PHPBên cạnh các hàm PHP tích hợp, bạn có thể tạo các hàm của riêng bạn.
Tạo một hàm do người dùng tự định nghĩa trong PHPMột khai báo hàm do người dùng tự định nghĩa bắt đầu bằng từ khóa Cú pháp
Lưu ý: Tên hàm phải bắt đầu bằng chữ cái hoặc dấu gạch dưới. Tên hàm KHÔNG phân biệt chữ hoa chữ thường. Mẹo: Nên đặt tên cho hàm phản ánh chức năng của hàm! Trong ví dụ dưới đây, chúng tôi
tạo ra một hàm có tên Hàm sẽ in dòng chữ "Hello world!". Để gọi hàm, chỉ cần viết tên của nó kèm theo cặp dấu ngoặc đơn () như sau:
Đây là kết quả:
Các đối số của hàm trong PHPThông tin có thể được truyền vào hàm thông qua các đối số. Một đối số giống như một biến. Các đối số được chỉ định sau tên hàm, bên trong cặp dấu ngoặc đơn. Bạn có thể thêm bao nhiêu đối số tùy ý, chỉ cần phân tách chúng bằng dấu phẩy. Ví dụ sau có một hàm với một đối số là
Đây là kết quả:
Ví dụ sau tạo một hàm với hai đối số đầu vào là
Đây là kết quả:
Bạn có thể xem chi tiết về hàm trong PHP tại bài viết sau: Hàm trong PHP | Comdy Cách tạo và sử dụng hàm trong PHP. Cách khai báo kiểu đối số và kiểu trả về của hàm trong PHP. ComdyTrung NguyenKiểu số trong PHPTrong phần này, chúng ta sẽ tìm hiểu sâu về kiểu integer, float và cách ép kiểu, ... Một điều cần chú ý về PHP là nó cung cấp chuyển đổi kiểu dữ liệu tự động. Vì vậy, nếu bạn gán một giá trị kiểu số nguyên cho một biến, kiểu dữ liệu của biến đó sẽ tự động là kiểu số nguyên. Sau đó, nếu bạn tiếp tục gán một chuỗi cho cùng một biến đó, kiểu dữ liệu sẽ thay đổi thành kiểu chuỗi. Việc chuyển đổi kiểu dữ liệu tự động này đôi khi có thể phá vỡ mã của bạn. Bạn có thể xem chi tiết về kiểu số trong PHP tại bài viết sau: Kiểu số trong PHP | Comdy Trong bài viết này chúng ta sẽ tìm hiểu sâu về kiểu integer, float và cách ép kiểu, ... trong PHP. ComdyTrung NguyenBiến siêu toàn cục trong PHPBiến siêu toàn cục là gì?Biến siêu toàn cục (Superglobals) đã được giới thiệu trong PHP 4.1.0 và là các biến tích hợp luôn có sẵn trong tất cả các phạm vi. Một số biến siêu toàn cục trong PHP có nghĩa là chúng luôn có thể truy cập được, bất kể phạm vi - và bạn có thể truy cập chúng từ bất kỳ chức năng, lớp hoặc file nào mà không phải làm gì đặc biệt. Các biến siêu toàn cục của PHP là:
Bạn có thể xem chi tiết về biến toàn cụ trong PHP tại bài viết sau: Biến toàn cục trong PHP | Comdy Biến siêu toàn cục trong PHP là gì? Cách khai báo và sử dụng các biến siêu toàn cục trong PHP. ComdyTrung NguyenXử lý form trong PHPCác biến siêu toàn cục Xử lý form trong PHPVí dụ dưới đây hiển thị một biểu mẫu HTML đơn giản với hai trường đầu vào (Name và E-mail) và nút gửi (Submit):
Đây là kết quả: Khi người dùng điền vào biểu mẫu ở trên và nhấp vào nút gửi, dữ liệu biểu mẫu được gửi đến file PHP có tên là "welcome.php" để xử lý. Dữ liệu biểu mẫu được gửi bằng phương thức HTTP POST. Để hiển thị dữ liệu đã gửi, bạn chỉ cần duyệt qua tất cả các trường đầu vào (thuộc tính name của thẻ input) bằng cách sử dụng biến siêu toàn cục
Đầu ra có thể là một cái gì đó như thế này:
Kết quả tương tự cũng có thể đạt được bằng phương pháp HTTP GET:
File "welcome_get.php" trông sẽ như thế này:
Mã ở trên khá đơn giản. Tuy nhiên, một điều quan trọng còn thiếu là xác thực dữ liệu đầu vào do người dùng nhập. Bạn cần xác thực dữ liệu biểu mẫu để bảo vệ tập lệnh của bạn khỏi mã độc. Hãy đảm bảo tính BẢO MẬT khi xử lý các biểu mẫu PHP! Trang này không chứa bất kỳ xác thực biểu mẫu nào, nó chỉ hiển thị cách bạn có thể gửi và truy xuất dữ liệu biểu mẫu. Tuy nhiên, các trang tiếp theo sẽ chỉ ra cách xử lý các biểu mẫu PHP với tính bảo mật! Xác thực hợp lệ dữ liệu biểu mẫu là rất quan trọng để bảo vệ biểu mẫu của bạn khỏi tin tặc và kẻ gửi thư rác! Bạn có thể xem chi tiết về xử lý form trong PHP tại bài viết sau: Xử lý form trong PHP | Comdy Hướng dẫn xử lý biểu mẫu (form) trong PHP. Sự khác nhau giữa POST và GET và khi nào nên dùng chúng. ComdyTrung NguyenXác thực biểu mẫu (form) trong PHPHãy đảm bảo tính BẢO MẬT khi xử lý các biểu mẫu PHP! Biểu mẫu HTML mà chúng tôi sẽ làm việc trong chương này, chứa các trường nhập dữ liệu khác nhau như: các trường văn bản bắt buộc và tùy chọn, nút radio và nút gửi như sau: Các quy tắc xác thực dữ liệu cho các trường của biểu mẫu ở trên như sau:
Trường văn bản Các trường Name, Email và Website là các trường nhập văn bản, trường Comment là một vùng nhập văn bản. Mã HTML trông như thế này:
Nút radio Các trường Gender là các nút radio và mã HTML trông như thế này:
Phần tử biểu mẫu Mã HTML của biểu mẫu (form) trông như thế này:
Dữ liệu của biểu mẫu sẽ được gửi với phương thức "POST". Biến Vì vậy, Hàm Bạn có thể xem chi tiết về xác thực biểu mẫu (form) trong PHP tại bài viết sau: Xác thực biểu mẫu (form) trong PHP | Comdy Hướng dẫn bạn cách xác thực biểu mẫu (form) trong PHP và chống các kiểu tấn công XSS phổ biến. ComdyTrung NguyenCâu lệnh include và require trong PHPCâu lệnh Câu lệnh include file rất hữu ích khi bạn muốn sử dụng cùng một tập lệnh PHP, mã HTML hoặc văn bản trên nhiều trang của một trang web. Câu lệnh include và require trong PHPBạn có thể chèn nội dung của một file PHP vào một file PHP khác (trước khi máy chủ thực thi nó) bằng câu lệnh Câu lệnh include và require thì giống hệt nhau, chỉ khác khi xảy ra lỗi:
Vì vậy, nếu bạn muốn tiếp tục thực thi và hiển thị cho người dùng đầu ra, ngay cả khi tệp được thêm vào bị thiếu, hãy sử dụng câu lệnh Ngược lại, trong trường hợp FrameWork, CMS hoặc viết những ứng dụng PHP phức tạp, hãy luôn sử dụng câu lệnh Điều này sẽ giúp tránh ảnh hưởng đến tính bảo mật và tính toàn vẹn của ứng dụng của bạn, nhất là trong trường hợp một tệp chính vô tình bị thiếu. Việc cho phép chèn các tập tin vào tập tin khác giúp tiết kiệm rất nhiều thời gian và công việc. Điều này có nghĩa là bạn có thể tạo một file tiêu đề, chân trang hoặc menu tiêu chuẩn và chèn chúng vào tất cả các trang web của bạn. Sau này, nếu tiêu đề thay đổi thì bạn chỉ cần cập nhật file tiêu đề thay vì phải vào từng trang để cập nhật. Cú pháp
Bạn có thể xem chi tiết về include và require trong PHP tại bài viết sau: Câu lệnh include và require trong PHP | Comdy Câu lệnh include và require trong PHP dùng để làm gì? Câu lệnh include và require khác nhau như thế nào? ComdyTrung NguyenCookie trong PHPCookie là gì?Cookie thường được sử dụng để xác định người dùng. Cookie là một file nhỏ mà máy chủ nhúng vào máy tính của người dùng. Mỗi lần người dùng sử dụng trình duyệt truy cập website, máy chủ sẽ gửi cookie về máy tính người dùng. Với PHP, bạn có thể tạo và đọc các giá trị cookie rất dễ dàng. Tạo Cookies bằng PHPHàm Cú pháp
Chỉ tham số name là bắt buộc. Tất cả các thông số khác là tùy chọn. Bạn có thể xem chi tiết về cookie trong PHP tại bài viết sau: Cookie trong PHP | Comdy Cookie là gì? Các thao tác với cookie trong PHP như: tạo cookie, đọc cookie, cập nhật giá trị của cookie, ... ComdyTrung NguyenSession trong PHPSession (phiên) là một cách để lưu trữ thông tin (trong các biến) sẽ được sử dụng trên nhiều trang. Không giống như cookie, session không được lưu trữ trên máy tính của người dùng. Session trong PHP là gì?Khi bạn truy cập ứng dụng web bằng trình duyệt rồi thực hiện một số thay đổi nào đó và sau đó bạn đóng nó lại. Điều này giống như một session (phiên). Một session tạo một file trong một thư mục tạm trên máy chủ nơi các biến session đã đăng ký và giá trị của chúng được lưu trữ ở đó. Dữ liệu này sẽ có sẵn cho tất cả các trang trên website trong lần truy cập đó. Vị trí của file tạm được xác định bởi một cấu hình trong tệp php.ini có tên là session.save_path. Trước khi sử dụng bất kỳ biến session nào, hãy đảm bảo bạn đã thiết lập đường dẫn này. Khi một session được bắt đầu những điều sau đây sẽ xảy ra:
Khi tập lệnh PHP muốn truy xuất giá trị từ biến session, PHP sẽ tự động lấy chuỗi số nhận dạng session từ cookie PHPSESSID và sau đó tìm file session trong thư mục tạm. Một phiên kết thúc khi người dùng tắt trình duyệt hoặc sau khi rời khỏi trang web, máy chủ sẽ chấm dứt phiên sau một khoảng thời gian xác định trước, thường là 30 phút. Bạn có thể xem chi tiết về session trong PHP tại bài viết sau: Session trong PHP | Comdy Session trong PHP là gì? Session trong PHP được sử dụng để làm gì? Cách khai báo và sử dụng session trong PHP ComdyTrung NguyenHướng đối tượng (OOP) trong PHPTừ PHP5, bạn đã có thể viết mã PHP theo kiểu hướng đối tượng. Lập trình hướng đối tượng thì nhanh hơn và dễ thực hiện hơn. Hướng đối tượng (OOP) trong PHP là gì?OOP là viết tắt của object-oriented programming (Lập trình hướng đối tượng). Nếu như lập trình thủ tục tập trung vào việc viết các thủ tục hoặc hàm thì lập trình hướng đối tượng tập trung vào việc tạo các đối tượng chứa cả dữ liệu và hàm. Lập trình hướng đối tượng có một số lợi thế so với lập trình thủ tục:
Mẹo: Nguyên tắc DRY là về việc giảm sự lặp lại của mã. Bạn nên chuyển những phần mã được sử dụng phổ biến trong ứng dụng vào các hàm và sử dụng lại chúng thay vì lặp lại nó. Lớp và đối tượng trong PHP là gì?Các lớp và các đối tượng là hai khía cạnh chính của lập trình hướng đối tượng. Nhìn vào hình minh họa sau để thấy sự khác biệt giữa lớp và các đối tượng:
Một ví dụ khác:
Vì vậy, một lớp là một khuôn mẫu cho các đối tượng và một đối tượng là một thể hiện của một lớp. Khi các đối tượng riêng lẻ được tạo, chúng kế thừa tất cả các thuộc tính và hành vi từ lớp, nhưng mỗi đối tượng sẽ có các giá trị khác nhau cho các thuộc tính. Như ở ví dụ trên trái cây có thể có các thuộc tính như name, color, weight, v.v. Chúng ta có thể định nghĩa lớp fruit có các biến như $name, $color và $weight để lưu trữ các giá trị của các thuộc tính này. Khi các đối tượng riêng lẻ như: apple, mango, banana, v.v được tạo, chúng kế thừa tất cả các thuộc tính và hành vi từ lớp fruit, nhưng mỗi đối tượng sẽ có các giá trị khác nhau cho các thuộc tính. Tạo lớp trong PHPMột lớp được định nghĩa bằng cách sử dụng từ khóa
Dưới đây chúng tôi khai báo một lớp có tên Fruit bao gồm hai thuộc tính ($name và $color) và hai phương thức set_name() và get_name() để thiết lập và trả về giá trị của thuộc tính $name:
Lưu ý: Trong một lớp, các biến được gọi là thuộc tính và hàm được gọi là phương thức! Tạo đối tượng trong PHPCác lớp không là gì nếu không có đối tượng! Chúng ta có thể tạo nhiều đối tượng từ một lớp. Mỗi đối tượng sẽ có tất cả các thuộc tính và phương thức được định nghĩa trong lớp, nhưng chúng sẽ có các giá trị thuộc tính khác nhau. Các đối tượng của một lớp được tạo bằng cách sử dụng từ khóa Trong ví dụ dưới đây, $apple và $banana là các thể hiện của lớp Fruit:
Đây là kết quả:
Trong ví dụ dưới đây, chúng tôi thêm hai phương thức nữa vào lớp Fruit, để thiết lập và trả về giá trị của thuộc tính $color:
Đây là kết quả:
Bạn có thể xem chi tiết về hướng đối tượng (OOP) trong PHP tại bài viết sau: Lập trình hướng đối tượng (OOP) trong PHP | Comdy Lập trình hướng đối tượng (OOP) trong PHP là gì? Làm sao để áp dụng lập trình hướng đối tượng trong PHP. ComdyTrung NguyenKế thừa trong PHPKế thừa là gì? Kế thừa (inheritance) là khả năng tạo một lớp mới dựa trên một lớp có sẵn. Lớp có sẵn là lớp cha, lớp mới là lớp con và lớp con thừa kế các thành phần được định nghĩa ở lớp cha. Lớp con sẽ kế thừa tất cả các thuộc tính và phương thức có chỉ thị truy cập là public và protected từ lớp cha. Ngoài ra, nó có thể có các thuộc tính và phương thức của riêng nó. Một lớp kế thừa được định nghĩa bằng cách sử
dụng từ khóa Ví dụ sau minh họa kế thừa trong PHP:
Đây là kết quả:
Như bạn đã thấy ở ví dụ trên, lớp Strawberry được kế thừa từ lớp Fruit. Điều này có nghĩa là lớp Strawberry có thể sử dụng các thuộc tính public là Lớp Strawberry cũng có phương thức riêng của nó là message(). Bạn có thể xem chi tiết về kế thừa (inheritance) trong PHP tại bài viết sau: Kế thừa trong PHP | Comdy Kế thừa (inheritance) trong PHP là gì? Làm sao để khai báo và sử dụng kế thừa trong PHP. ComdyTrung NguyenAbstract class trong PHPAbstract class là gì? Lớp trừu tượng (abstract class) là 1 lớp có những đặc điểm sau:
Một lớp trừu tượng là một lớp chứa ít nhất một phương thức trừu tượng. Một phương thức trừu tượng là một phương thức được khai báo, nhưng không được triển khai trong mã. Bạn có thể xem chi tiết về abstract class trong PHP tại bài viết sau: Abstract class trong PHP | Comdy Abstract class là gì? Abstract class dùng để làm gì? Làm sao khai báo và sử dụng abstract class trong PHP. ComdyTrung NguyenSử dụng traits trong PHPGiảm thiểu sao chép mã thông qua tổ chức tốt hơn và tái sử dụng mã là mục tiêu quan trọng của lập trình hướng đối tượng. Nhưng trong PHP đôi khi bạn có thể gặp khó khăn vì những hạn chế của mô hình đơn kế thừa mà nó sử dụng; bạn có một số phương thức mà bạn muốn sử dụng trong nhiều lớp nhưng chúng không thể kế thừa từ nhiều lớp. Các ngôn ngữ như C++ và Python cho phép chúng ta kế thừa từ nhiều lớp để giải quyết vấn đề này ở một mức độ nào đó và mixins trong Ruby cho phép chúng ta trộn chức năng của một hoặc nhiều lớp mà không cần sử dụng kế thừa. Nhưng đa kế thừa có nhiều vấn đề chẳng hạn như Diamond Problem và mixins có thể là một cơ chế quá phức tạp để giải quyết vấn đề. Trong bài viết này chúng ta sẽ thảo luận về traits, một tính năng mới được giới thiệu trong PHP 5.4 để khắc phục các vấn đề như vậy. Khái niệm về traits tự nó không có gì mới đối với lập trình và được sử dụng trong các ngôn ngữ khác như Scala và Perl. Chúng cho phép chúng ta sử dụng lại mã theo chiều ngang trên các lớp độc lập trong các phân cấp lớp khác nhau. Bạn có thể xem chi tiết về sử dụng traits trong PHP tại bài viết sau: Sử dụng traits trong PHP | Comdy Traits trong PHP là gì? Làm sao để sử dụng traits hiệu quả, tránh xung đột trong PHP? ComdyTrung NguyenLàm việc với MySQL trong PHPVới PHP, bạn có thể dễ dàng kết nối và thao tác với cơ sở dữ liệu. MySQL là hệ thống cơ sở dữ liệu phổ biến nhất được sử dụng với PHP. MySQL là gì?
Dữ liệu trong cơ sở dữ liệu MySQL được lưu trữ trong các bảng. Bảng là tập hợp các dữ liệu liên quan và nó bao gồm các cột và hàng. Cơ sở dữ liệu rất hữu ích để lưu trữ thông tin theo loại. Ví dụ: một cửa hàng có thể có một cơ sở dữ liệu với các bảng sau:
Kết nối PHP với MySQLPHP 5 trở lên có thể thao tác với cơ sở dữ liệu MySQL bằng cách sử dụng:
Lưu ý: Các phiên bản trước đây của PHP sử dụng phần mở rộng MySQL để thao tác với cơ sở dữ liệu MySQL. Tuy nhiên, phần mở rộng MySQL này đã lỗi thời từ năm 2012. Tôi nên sử dụng MySQLi hay PDO?Nếu bạn cần một câu trả lời ngắn, đó sẽ là "làm bất cứ điều gì bạn thích". Cả MySQLi và PDO đều có những ưu điểm của chúng: PDO sẽ hoạt động trên 12 hệ thống cơ sở dữ liệu khác nhau, trong khi MySQLi sẽ chỉ hoạt động với cơ sở dữ liệu MySQL. Vì vậy, nếu bạn phải chuyển dự án của mình sang sử dụng cơ sở dữ liệu khác, PDO sẽ giúp quá trình này trở nên dễ dàng. Bạn chỉ phải thay đổi chuỗi kết nối và một vài truy vấn. Với MySQLi, bạn sẽ cần viết lại toàn bộ mã - bao gồm các truy vấn. Cả hai đều hướng đối tượng, nhưng MySQLi cũng cung cấp API thủ tục. Cả hai đều hỗ trợ Prepared Statements. Prepared Statements bảo vệ khỏi SQL injection và rất quan trọng đối với bảo mật ứng dụng web. Cài đặt MySQLi Đối với Linux và Windows: Phần mở rộng MySQLi được cài đặt tự động trong hầu hết các trường hợp, khi gói php5 mysql được cài đặt. Để biết chi tiết cài đặt, hãy truy cập: http://php.net/manual/en/mysqli.installation.php Cài đặt PDO Để biết chi tiết cài đặt, hãy truy cập: http://php.net/manual/en/pdo.installation.php Bạn có thể xem chi tiết về làm việc với cơ sở dữ liệu MySQL trong PHP tại bài viết sau: Làm việc với MySQL trong PHP | Comdy MySQL là gì? Làm việc với MySQL trong PHP. Hướng dẫn kết nối, tạo database, tạo bảng MySQL trong PHP. ComdyTrung NguyenThêm dữ liệu vào MySQL trong PHPThêm dữ liệu vào MySQL bằng MySQLi và PDO Sau khi tạo cơ sở dữ liệu và các bảng, chúng ta có thể bắt đầu thêm dữ liệu vào chúng. Dưới đây là một số quy tắc cú pháp để làm theo:
Câu lệnh INSERT INTO được sử dụng để thêm các bản ghi mới vào bảng MySQL:
Bạn có thể xem chi tiết về thêm dữ liệu vào cơ sở dữ liệu MySQL trong PHP tại bài viết sau: Thêm dữ liệu vào MySQL trong PHP | Comdy Hướng dẫn này sẽ giúp bạn tìm hiểu cách thêm dữ liệu vào MySQL sử dụng MySQLi và PDO trong PHP. ComdyTrung NguyenMySQL prepared statements trong PHPCác câu lệnh được chuẩn bị (prepared statements) rất hữu ích để chống lại các cuộc tấn công SQL Injection. Chuẩn bị câu lệnh và liên kết tham số Một câu lệnh được chuẩn bị (prepared statement) là một tính năng được sử dụng để thực thi các câu lệnh SQL giống nhau (hoặc tương tự) lặp đi lặp lại với hiệu quả cao. Một câu lệnh được chuẩn bị về cơ bản hoạt động như thế này:
So với việc thực thi trực tiếp các câu lệnh SQL, các câu lệnh được chuẩn bị có ba ưu điểm chính:
Bạn có thể xem chi tiết về các câu lệnh được chuẩn bị trong cơ sở dữ liệu MySQL trong PHP tại bài viết sau: MySQL prepared statements trong PHP MySQL prepared statements trong PHP rất hữu ích để chống lại các cuộc tấn công SQL Injection. ComdyTrung NguyenNếu Comdy hữu ích và giúp bạn tiết kiệm thời gianBạn có thể vui lòng tắt trình chặn quảng cáo ❤️ để hỗ trợ chúng tôi duy trì hoạt động của trang web. Lập Trình PHP |