Hướng dẫn OOP PHP tốt nhất

Khi bạn đã hoàn thành hướng dẫn cơ bản của tôi về PHP hướng đối tượng, bạn có thể học cách xây dựng các ứng dụng PHP hướng đối tượng với các khóa học full-stack tương tác của tôi. Đối với một mức giá tuyệt vời

… Vâng, với 350 video và 900 câu đố, bạn sẽ học được nhiều hơn PHP

Stefan

lời mở đầu

Điều khó nhất để học (và dạy btw,) trong PHP hướng đối tượng là những điều cơ bản. Nhưng một khi bạn hiểu chúng, phần còn lại sẽ đến dễ dàng hơn nhiều

Nhưng đừng nản lòng. Bạn vừa tìm thấy hướng dẫn dễ hiểu nhất trên OOP và PHP. Nghe có vẻ như là một tuyên bố khoe khoang, tôi biết, nhưng đó là điều mà những người theo chủ nghĩa tư tưởng mọt sách đang nói

… Hoặc vì vậy tôi đã được nói

Giới thiệu về Hướng dẫn này

Hướng dẫn này được thiết kế để dạy toàn bộ người mới bắt đầu hướng đối tượng PHP

Hướng dẫn OOP PHP tốt nhất

Đây không phải là một lý thuyết ba hoa dài dòng mà bạn thấy quá thường xuyên; . Tôi tin rằng phong cách học 'thực hành' này, giúp việc hiểu PHP OO (hướng đối tượng) dễ dàng hơn nhiều… và cũng ít nhàm chán hơn

Vì vậy, trước khi bạn bắt đầu, hãy mở trình soạn thảo mã PHP yêu thích của bạn và sẵn sàng viết và chạy một số mã PHP hướng đối tượng

Tái bút. cuộn xuống cuối trang để xem các video hỗ trợ

Cảm ơn bạn đã đọc,
Stefan Mischook

Giới thiệu

Với việc phát hành php5 vào năm 2004, các lập trình viên php cuối cùng đã có quyền viết mã với các 'ông lớn'. Giống như Java và C#, php cuối cùng đã có cơ sở hạ tầng OOP hoàn chỉnh

Trong hướng dẫn này, bạn sẽ được hướng dẫn (từng bước) qua quy trình xây dựng và làm việc với các đối tượng bằng cách sử dụng các khả năng OOP tích hợp sẵn của php. Đồng thời bạn sẽ học

  • Sự khác biệt giữa việc xây dựng một ứng dụng php theo cách cũ (thủ tục) so với cách OOP
  • Các nguyên tắc OOP cơ bản là gì và cách sử dụng chúng trong PHP
  • Khi bạn muốn sử dụng OOP trong tập lệnh PHP của mình

Mọi người gặp nhầm lẫn khi lập trình vì thiếu hiểu biết về những điều cơ bản. Những điều cơ bản thực sự quan trọng

Với suy nghĩ này, chúng ta sẽ từ từ tìm hiểu các nguyên tắc OOP chính trong khi tạo các đối tượng PHP của riêng mình. Với kiến ​​thức này, bạn sẽ có thể khám phá thêm về OOP

Video OOP (cổ điển)

Các video sau đây được thiết kế để bổ sung cho phần hướng dẫn, nhưng chúng không bắt buộc phải xem. Đây là những video OOP cổ điển của tôi, nhưng phần lớn chúng vẫn hay. Nhưng, họ trông hơi già, còn tôi trông trẻ hơn

Các điểm của lập trình hướng đối tượng trong PHP được thảo luận trong bài viết này. Chúng ta sẽ bắt đầu với phần giới thiệu về lớp và đối tượng và xem xét một số khái niệm nâng cao về Như thế nào, Tại sao, Cái gì và một số ví dụ về Đối tượng và Lớp. Nhưng trước tiên hãy để tôi giải thích ngắn gọn về lập trình hướng đối tượng (OOP) là gì?

Lập trình hướng đối tượng (OOP) là gì

Lập trình hướng đối tượng bao gồm việc kết hợp một tập hợp các biến (thuộc tính) và hàm (phương thức), được gọi là một đối tượng. Những thứ này được sắp xếp thành các lớp trong đó các mục riêng lẻ có thể được kết hợp. OOP có thể cho phép bạn xem xét các đối tượng và nhiều hoạt động liên quan đến các đối tượng trong mã của chương trình.
để biết thêm chi tiết, bạn có thể xem bài viết trước của tôi Đọc thêm. [Khái niệm về lập trình hướng đối tượng (OOP) Đơn giản hóa. ]

Lớp PHP là gì?

Hướng dẫn OOP PHP tốt nhất

Một lớp là một kế hoạch trừu tượng để tạo các mục chuyên biệt, cụ thể hơn. Các lớp thường bao gồm các danh mục lớn, chẳng hạn như (_______12),(

$bmw = new Car ();
$mercedes = new Car ();
3 ) và (
$bmw = new Car ();
$mercedes = new Car ();
4) với các thuộc tính chung. Các lớp này chỉ định những đặc điểm mà một thể hiện như (
$bmw = new Car ();
$mercedes = new Car ();
5) dành cho một đối tượng nhất định, nhưng không phải là giá trị của các thuộc tính. Kiểu dữ liệu do người lập trình xác định và chứa cả hàm dữ liệu cục bộ và cục bộ. Một lớp có thể là khuôn mẫu cho một số ví dụ về cùng loại đối tượng (hoặc lớp).

Hướng dẫn OOP PHP tốt nhất

Đây là phần giải thích của mã ở các điểm sau. -
– Lớp biểu mẫu cụ thể, sau đó là tên của lớp bạn muốn xác định.
– Một tập hợp các dấu ngoặc nhọn với một số câu lệnh biến và định nghĩa hàm.
– Khai báo biến bắt đầu bằng biểu mẫu (

$bmw = new Car ();
$mercedes = new Car ();
6) đặc biệt, theo sau là tiêu chuẩn
$bmw = new Car ();
$mercedes = new Car ();
7, chúng cũng có thể được cung cấp một giá trị không đổi cho lần gán đầu tiên.
– Các định nghĩa hàm tương tự như các tính năng độc lập của PHP nhưng là cục bộ của lớp và được sử dụng để đặt và truy cập dữ liệu trên đối tượng.

Dưới đây là một số ví dụ. -

ví dụ 1. -

ví dụ 2. -

ví dụ 3. -

Một số giải thích về các ví dụ. -

  • Từ khóa {
    $bmw = new Car ();
    $mercedes = new Car ();
    8} trong dòng đầu tiên định nghĩa lớp {
    $bmw = new Car ();
    $mercedes = new Car ();
    9}. Sau đó, chúng tôi báo cáo các thuộc tính, trình xây dựng và các phương thức khác của các lớp
  • Từ khóa
    $bmw = new Car ();
    $mercedes = new Car ();
    0 chỉ ra rằng thuộc tính hoặc phương thức này có thể truy cập được từ mọi nơi
  • Từ khóa
    $bmw = new Car ();
    $mercedes = new Car ();
    1 chỉ ra rằng thuộc tính hoặc phương thức chỉ có thể truy cập được từ bên trong lớp xác định thuộc tính hoặc phương thức đó

Tại sao phải viết một Lớp PHP?

Tôi thấy rằng với tư cách là Người mới bắt đầu, Nhà phát triển PHP phải viết một hoặc nhiều hàm tệp/tập lệnh PHP. Thật vậy, tôi cũng đã tìm thấy một số dự án (có lợi) được phát triển bằng cách sử dụng một số tệp PHP cực lớn bao gồm tất cả mã dưới dạng một số tính năng. Bạn có thể làm điều này khi học PHP. Nhưng, Đây có thể không phải là kỹ thuật ưa thích cho các ứng dụng web được sản xuất. Dưới đây là một số nhược điểm của các tập lệnh PHP chỉ chứa các chức năng được giải thích ở các điểm sau. -

  • Khả năng bảo trì thấp. Các tệp chức năng này khó giữ/quản lý (thay đổi). Gần như khó nghĩ về việc phát triển các bài kiểm tra đơn vị. Có các chức năng khác có thể được sử dụng lại ngoài thử nghiệm thấp. Tuy nhiên, do cách chúng được viết, các tệp cũng ít được tái sử dụng hơn. Việc sao chép mã lan rộng, điều này càng ảnh hưởng đến việc bảo trì mã vì việc cập nhật chức năng ở nhiều vị trí yêu cầu thay đổi
  • Khả năng sử dụng thấp. Các Hàm và tệp rất khó học và hiểu. Hãy suy nghĩ khi bạn không hiểu mọi thứ để làm thế nào bạn có thể thực hiện các dự án của mình. Đây là lý do chính gây ra nhược điểm của các tập lệnh PHP

Để giải quyết một số vấn đề đã nói ở trên, bạn nên học cách viết PHP Thông qua các phương pháp hướng đối tượng, e. g. viết mã trong một hoặc nhiều lớp. Viết mã PHP bằng cách sử dụng các lớp cho phép bạn tách biệt các chức năng tương tự trong một lớp và sử dụng lớp ở nơi khác trong mã (các tập lệnh PHP khác nhau). Trên thực tế, khái niệm SOLID có thể đơn giản được tuân theo bởi PHP và mã được tổ chức theo cách tốt. Kỹ thuật này thúc đẩy khả năng bảo trì cao và làm cho mã có thể truy cập và dễ hiểu (khả năng kiểm tra cao, tính gắn kết cao, khả năng sử dụng lại cao, v.v. )

Làm cách nào để tạo một Class trong PHP?

Để xây dựng một lớp, chúng tôi tập hợp tại một vị trí mã bao gồm một vấn đề nhất định. Chẳng hạn, tất cả người dùng blog xử lý mã có thể được nhóm thành một lớp duy nhất, tất cả mã liên quan đến xuất bản bài viết trong blog hạng hai và tất cả mã được sử dụng để bình luận trong lớp thứ ba. Chúng ta có thể xem các phương thức của lớp là các hàm thực hiện các tác vụ nhất định liên quan đến đối tượng. Trong phần lớn các tình huống, các thuộc tính của đối tượng và các hoạt động liên quan được truy cập và thao tác

Từ khóa để định nghĩa lớp được sử dụng trong PHP. Dưới đây là hướng dẫn tạo lớp PHP

  • Tên lớp nên bắt đầu bằng một chữ cái
  • Tên lớp không thể là một từ dành riêng PHP
  • Tên lớp không được chứa khoảng trắng

Tạo một lớp để đại diện cho Động vật

Hãy bắt đầu với việc khám phá những đặc điểm chung của tất cả các loài động vật

  • Tất cả các loài động vật thuộc về một gia đình như động vật ăn cỏ, lễ hội hóa trang, v.v.
  • Tất cả các loài động vật ăn thức ăn

Sơ đồ dưới đây cho thấy sơ đồ cho động vật

Hướng dẫn OOP PHP tốt nhất

Sau đây là Giải thích về Mã. -

  • “private $family, $food” có nghĩa là các biến không thể được truy cập trực tiếp bên ngoài lớp (Đóng gói)
  • Phương thức hàm php là “hàm công khai __construct($family…). ” Bất cứ khi nào một thể hiện của lớp được tạo, hàm đó sẽ được gọi. Chúng tôi thiết lập gia đình và các bữa ăn trong kịch bản này
  • 'hàm công cộng nhận được. ()' đại diện cho cơ chế được sử dụng để truy xuất giá trị gia đình hoặc thực phẩm (Đóng gói)
  • “Bộ chức năng công cộng. ()” đại diện cho kỹ thuật được sử dụng để đặt giá trị gia đình hoặc giá trị thực phẩm là (Đóng gói)

Đối tượng trong PHP là gì?

Hướng dẫn OOP PHP tốt nhất

Cấu trúc cơ bản của một lớp trong PHP đã được giải thích trong phần trước. Bây giờ, bạn cần sử dụng nó và kết quả cuối cùng là một đối tượng, khi bạn muốn sử dụng một lớp. Chúng ta có thể coi lớp là bản thiết kế, trong khi đối tượng là thứ bạn thực sự có thể xử lý

Một thể hiện riêng biệt của cấu trúc dữ liệu do lớp định nghĩa. Một lần, bạn định nghĩa một lớp và sau đó tạo ra rất nhiều đối tượng. Còn được gọi là ví dụ là các đối tượng. Không có đối tượng, các lớp chẳng là gì cả. Có thể tạo nhiều đối tượng trong một lớp. Mỗi đối tượng chứa tất cả các thuộc tính và phương thức được khai báo bởi lớp, tuy nhiên chúng có các giá trị khác nhau cho các thuộc tính

Sau đây là Giải thích về Mã đã cho. -

  • Nếu bạn muốn tạo bất kỳ đối tượng lớp nào cùng với tên lớp của nó, bạn cần sử dụng (
    $bmw = new Car ();
    $mercedes = new Car ();
    2) từ khóa và một thể hiện đối tượng mới của lớp đó sẽ trả về
  • Trong tình huống của chúng tôi, một tham số là cần thiết trong (
    $bmw = new Car ();
    $mercedes = new Car ();
    3) danh mục lớp và vì vậy chúng tôi đã cung cấp các tham số khi chúng tôi xây dựng đối tượng (
    $bmw = new Car ();
    $mercedes = new Car ();
    4) và (
    $bmw = new Car ();
    $mercedes = new Car ();
    5)
  • Tiếp theo, chúng tôi đã gọi (
    $bmw = new Car ();
    $mercedes = new Car ();
    6) và (
    $bmw = new Car ();
    $mercedes = new Car ();
    7) các phương thức lớp để in thông tin được điền trong quá trình xây dựng các đối tượng. Đương nhiên, nhiều đối tượng của cùng một lớp có thể được tạo

Tại sao chúng ta sử dụng các đối tượng trong PHP?

Trong khi tất cả các hàm và biến trong kiểu tiếp tục được kết hợp trong bối cảnh chung theo cách để có thể sử dụng chỉ bằng cách đặt tên cho tên của chúng, việc sử dụng các lớp là thứ được che giấu trong các lớp. Điều này là do mã trong các lớp bị cô lập ngoài phạm vi toàn cầu trong phạm vi lớp. Do đó, chúng tôi cần sử dụng mã theo quan điểm toàn cầu và chúng tôi thực hiện điều này bằng cách xây dựng các thể hiện từ một lớp

Tôi đang nói các đối tượng chứ không phải các đối tượng, vì chúng ta có thể xây dựng bao nhiêu thứ từ cùng một lớp tùy thích và tất cả chúng sẽ chia sẻ các phương thức và thuộc tính của lớp. Xem hình sau

Hướng dẫn OOP PHP tốt nhất

Ba thứ riêng biệt được đặt tên. Mercedes, Bmw và Audi được chế tạo từ cùng một loại (Loại xe)

Ngay cả khi tất cả các đối tượng được tạo trong cùng một lớp và do đó có các phương thức và đặc điểm của lớp, chúng vẫn khác nhau. Điều này là do chúng không chỉ có thể có nhiều tên khác nhau mà còn có thể có các giá trị khác nhau được phân bổ cho các thuộc tính của chúng. ví dụ: Trong hình trên, các đặc điểm màu sắc là khác nhau – Chiếc Mercedes có màu xanh lá cây trong khi chiếc Bmw có màu xanh lam, còn chiếc Audi có màu cam

Cách tạo Đối tượng của lớp?

Hướng dẫn OOP PHP tốt nhất

Bạn có thể xây dựng bao nhiêu đối tượng tùy thích cho loại lớp đó sau khi bạn đã xác định lớp của mình. Đây là một ví dụ về cách các đối tượng có thể được tạo ra bằng cách sử dụng toán tử (

$bmw = new Car ();
$mercedes = new Car ();
8)

$bmw = new Car ();

Chúng tôi đã tạo đối tượng

$bmw = new Car ();
$mercedes = new Car ();
9 từ lớp
$bmw = new Car ();
$mercedes = new Car ();
20 bằng từ khóa
$bmw = new Car ();
$mercedes = new Car ();
21

Chúng ta có thể tạo nhiều đối tượng từ cùng một lớp

$bmw = new Car ();
$mercedes = new Car ();

Trên thực tế, chúng ta có thể xây dựng bao nhiêu đối tượng tùy thích từ cùng một Lớp và sau đó thêm một tập hợp các đặc điểm cho từng đối tượng

Bây giờ hãy tạo ứng dụng sử dụng các lớp của chúng ta

Tất cả các lớp Động vật, Bò và Sư tử nên ở trong cùng một thư mục vì mục đích đơn giản

Một số ví dụ làm việc. -

ví dụ 1. -

đầu ra. -

Hướng dẫn OOP PHP tốt nhất

ví dụ 2. -

đầu ra. -

Hướng dẫn OOP PHP tốt nhất

Phần kết luận. -

Bạn đã thực hiện bước quan trọng nhất trong lập trình hướng đối tượng với bài học này thông qua việc tìm hiểu về các lớp và những đối tượng nào có thể được tạo ra từ chúng. Có nhiều cách để tìm hiểu về Lớp và Đối tượng trong PHP như Video Hướng dẫn trên YouTube, Ghi chú, Blog, Bài viết, v.v. Tôi đã chia sẻ Hướng dẫn này cho tất cả các bạn với một lời giải thích tuyệt vời và các ví dụ hữu ích. Hy vọng điều này sẽ giúp bạn một cách tuyệt vời. Cảm ơn đã đồng hành cùng chúng tôi

OOP trong PHP có khó không?

Học PHP OOP từ lập trình thủ tục hơi khó đối với tôi . Tôi gần như đã bỏ cuộc nhưng nhu cầu về khả năng tái sử dụng đã giúp tôi tiếp tục. Khái niệm lớp và đối tượng có vẻ khó đối với tôi, nhưng sau nhiều lần cố gắng và tiếp cận, tôi đã có thể nắm bắt được khái niệm và cách triển khai.

Làm thế nào để học các khái niệm OOPS trong PHP?

Lớp là tập hợp các đối tượng. Đối tượng có thuộc tính và hành vi. Đầu tiên chúng ta phải định nghĩa một lớp php, trong đó tên lớp phải giống với tên tệp. .
Lớp
Các đối tượng
Di sản
giao diện
trừu tượng
phương pháp ma thuật

Tôi có nên sử dụng OOP trong PHP không?

OOP nhanh hơn và dễ thực thi hơn . OOP cung cấp một cấu trúc rõ ràng cho các chương trình. OOP giúp giữ mã PHP KHÔ "Không lặp lại chính mình" và làm cho mã dễ bảo trì, sửa đổi và gỡ lỗi hơn. OOP cho phép tạo các ứng dụng có thể tái sử dụng đầy đủ với ít mã hơn và thời gian phát triển ngắn hơn.

Tôi có thể học PHP miễn phí ở đâu?

15 hướng dẫn PHP miễn phí hàng đầu cho người mới bắt đầu .
Hướng dẫn sử dụng PHP chính thức. Hướng dẫn sử dụng PHP chính thức. .
Hướng dẫn PHP của W3Schools. Hướng dẫn W3Schools PHP. .
PHP. Con đường đúng đắn. PHP đúng cách. .
Hướng dẫn PHP miễn phí của FreeCodeCamp. FreeCodeTrại. tổ chức. .
Học PHP với Codecademy. .
học viên PHP. .
Hướng dẫn PHP của GeekforGeek. .
TutorialsPoint Hướng dẫn PHP