2010-06-16 37 views
10

Tôi là một nhà phát triển plugin wordpress. Tôi thấy nguồn của nhiều plugin và nhiều plugin sử dụng "lớp" trong đó và một số không có lớp.Khi cần sử dụng Lớp học trong PHP

Nhiều plugin được mã hóa lớn như "wp-postratings" không sử dụng Lớp học và một số plugin nhỏ sử dụng Lớp học.

chỉnh sửa: Vì lớp học có các thông số truy cập riêng tư, công cộng và được bảo vệ, tôi cảm thấy an toàn về an ninh Tính năng này có tăng cường bảo mật không?

Khác với PHP các ngôn ngữ khác yêu cầu các lớp học?

Bắt buộc phải sử dụng Lớp học?

Tôi cần một số đề xuất.

+2

sẽ đến một ngày, trong cuộc sống developper của bạn khi bạn sẽ cần một cái gì đó phức tạp hơn sau đó chức năng, tên của nó sẽ được các lớp học! –

Trả lời

17

Không, nó không bắt buộc, cũng không làm tăng an ninh cho mỗi lần. nó chỉ là different style của chương trình.

Hầu hết các lập trình viên đều đồng ý rằng lập trình hướng đối tượng (lớp) có nhiều ưu điểm hơn lập trình mô-đun (hàm). Nhưng đó là một cuộc tranh luận tôn giáo mà tôi không muốn tham gia :)

+0

erm, thực ra bạn không cần ** lớp học để thực hiện OO - nó chỉ làm cho nó dễ dàng hơn – symcbean

+0

@symcbean: Tôi luôn nghĩ rằng các lớp học là một phần cơ bản của OOP. Bạn có thể đưa ra ví dụ về OOP không có lớp học không? –

+1

@Felix - Bạn có thể mô phỏng nhiều khía cạnh của các lớp trong một ngôn ngữ như C bằng cách sử dụng cấu trúc và con trỏ hàm.Bạn thậm chí có thể mô phỏng thừa kế ở một mức độ nhất định bằng cách sử dụng các công đoàn hoặc căn chỉnh thông minh trong các bản vẽ của bạn. Bạn cũng thấy những thứ tương tự như OO trong nhiều API C. Giống như việc sử dụng các chốt trong API WIN32, nơi bạn có các loại xử lý khác nhau, các thao tác chỉ hoạt động trên một số loại nhất định và các thao tác hoạt động trên tất cả các loại xử lý, v.v. –

2

Đó rõ ràng không phải là yêu cầu kỹ thuật, nhưng nếu cấu trúc mã của plugin của bạn có thể được mô tả trong 2 hoặc nhiều lớp, tôi muốn nói OO. Nó không có bất cứ điều gì để làm với bảo mật nhưng nó có thể làm cho mã của bạn sạch hơn và dễ dàng hơn để duy trì.

1

Trừ khi bạn có lý do chính đáng, tôi khuyên bạn nên luôn sử dụng các lớp học. Không có nhược điểm thực sự khi sử dụng chúng.

5

Bạn nên đọc khoảng Object Oriented Programming. Nó không phải là bắt buộc để sử dụng các lớp học nhưng nó có thể làm cho mã tổ chức và bảo trì mã của bạn dễ dàng hơn.

+0

Gần đây tôi đã thấy một hướng dẫn trong việc phát triển một ứng dụng web. Nó sử dụng các lớp để đăng nhập và đăng ký hệ thống. Vì vậy, các lớp học tăng cường an ninh? –

+0

@Aakash Chakravarthy: Không làm tăng tính bảo mật. Nhưng chúng giúp dễ dàng theo dõi các trạng thái và chức năng nhóm. Ví dụ, dễ dàng hơn để có một lớp 'User' chứa tất cả thông tin của người dùng hiện tại khi sử dụng rất nhiều biến toàn cầu. –

+3

Việc sử dụng các lớp (hoặc không) không liên quan gì tới bảo mật và mọi thứ liên quan đến việc tổ chức chương trình của bạn thành các đoạn mã có thể sử dụng lại và dễ hiểu. –

1

Sử dụng các lớp học không phải là bắt buộc, nó chỉ giúp bạn và nhà phát triển khác, những người sẽ sửa đổi mã của bạn để hiểu nó tốt hơn.
Theo tôi, bạn nên sử dụng các lớp học bất cứ khi nào cần thiết.

2

Như Eric đã nói, nó không bắt buộc, cũng không làm tăng an ninh cho mỗi người.

Một lợi thế lớn, tuy nhiên, là nó đơn giản hóa tiền tố và làm giảm nguy cơ vô tình gây ra lỗi khi redeclaring một chức năng.

Tôi luôn sử dụng OOP khi có thể.

0

Bạn không để viết mã theo kiểu hướng đối tượng. Bạn cũng có thể viết mã thủ tục trong PHP. Nhiều dự án làm, Drupal, nếu tôi không nhầm là một trong số đó.

Vào cuối ngày. Sử dụng mô hình lập trình phù hợp nhất với nhiệm vụ trong tay, cho dù đó là thủ tục, chức năng hoặc OOP.

Các vấn đề liên quan