Hướng dẫn is php procedural or object - là thủ tục php hoặc đối tượng

Tôi muốn học PHP và muốn có một ý tưởng về OOP và thủ tục. Tôi đã đọc một số blog và hướng dẫn khác về thủ tục OOP và tôi vẫn không thể hiểu được cách tiếp cận.

OOP vs thủ tục

  1. Tôi nên học cái nào?
  2. Sự khác biệt trong mã là gì? Các hiệu ứng là gì?
  3. Làm thế nào một khung PHP có thể giúp đỡ trong OOP aproach? (Tôi muốn học CodeIgniter)
  4. Thủ tục có cần một khung không?

Tôi thực sự muốn biết sự khác biệt về mã của cả hai, sự hiểu biết của tôi về OOP là bạn tạo ra một lớp thích và nó có thể được truy cập. (Tôi không biết nếu đó là chính xác).

Hướng dẫn is php procedural or object - là thủ tục php hoặc đối tượng

Peterh

11.1K16 Huy hiệu vàng84 Huy hiệu bạc103 Huy hiệu đồng16 gold badges84 silver badges103 bronze badges

Đã hỏi ngày 7 tháng 10 năm 2009 lúc 10:51Oct 7, 2009 at 10:51

6

Bối cảnh: Bạn đã yêu cầu một "lời giải thích đơn giản" cho thấy: You asked for a "simple explanation" which suggests:

  1. Bạn muốn một cái nhìn tổng quan không vô nghĩa mà không có biệt ngữwithout jargon
  2. Bạn muốn một cái gì đó sẽ giúp bạn học hỏi ngay từ đầulearn from the beginning
  3. Bạn đã phát hiện ra rằng không có hai người nào trả lời câu hỏi theo cùng một cách, và điều đó thật khó hiểu. Đó là lý do bạn ở đây yêu cầu một lời giải thích đơn giản. Đúng?no two people ever answer the question the same way, and it's confusing. That's the reason you are here asking for a simple explanation. Yes?

Câu trả lời ngắn không có Jargon:

  1. Nhiều lời giải thích giới thiệu nhảy nhanh chóng vào các ví dụ "OOP Real World". Những điều đó có thể có xu hướng nhầm lẫn nhiều hơn là sự giúp đỡ, vì vậy hãy bỏ qua điều đó bây giờ.
  2. Bạn có thể nghĩ về mã nguồn chỉ đơn giản là "khối" chức năng, điều đó chỉ được lưu vào các tệp riêng lẻ.
  3. Có nhiều cách khác nhau để tổ chức những "khối" đó; Tùy thuộc vào những thứ như quy ước của ngôn ngữ lập trình, nền tảng và đào tạo của nhà phát triển, hoặc chỉ là sở thích cá nhân cũ đơn giản.
  4. OOP và lập trình thủ tục chỉ đơn giản là hai phương pháp chính, được công nhận, về cách tổ chức và sắp xếp các "khối" mã đó.

Câu trả lời dài không có Jargon dài:

Thủ tục vs OOP chỉ là một khía cạnh của một vấn đề cơ bản của lập trình máy tính: Cách làm cho mã của bạn dễ hiểu và là một miếng bánh để duy trì một cách chuyên nghiệp. Bạn thực sự có thể viết mã "thủ tục" tuân theo một số nguyên tắc của OOP, vì vậy cả hai không nhất thiết phải đối lập.understand and a piece of cake to professionally maintain. You can actually write "Procedural" code that follows some of the principles of OOP, so the two are not necessarily opposites.

Sự hiểu biết của bạn sẽ thực sự phát triển khi bạn học các ngôn ngữ lập trình hướng đối tượng khác, trong đó, PHP là một "đứa trẻ mới trên khối".

Dưới đây là một cái nhìn tổng quan nhanh về những gì bạn sẽ học khi bạn xây dựng kinh nghiệm: of what you will learn as you build experience:

  • Bạn có thể viết mã nguồn PHP thực hiện các tác vụ hữu íchuseful tasks

  • Bạn có thể sắp xếp các tác vụ hữu ích thành "khối" mã"chunks" of code

  • Bạn có thể nghĩ về "khối" mã độc lập với các tệp riêng lẻ nơi chúng được lưu

  • Đôi khi những "khối" mã đó sẽ hoạt động khác nhau dựa trên các tham số bạn truyềnbehave differently based on parameters you pass in

  • Các đoạn mã chấp nhận các tham số được gọi là "chức năng""Functions"

  • Các chức năng có thể được "phân chia" với nhau và có nhiều cách khác nhau để làm điều này: together, and there are different ways of doing this:

    • Ví dụ: bạn có thể chỉ có một tệp PHP lớn với tất cả các chức năng bạn từng viết trong toàn bộ cuộc sống của mình, được liệt kê theo thứ tự bảng chữ cái theo tên chức năng you could have just one big PHP file with all the functions you have ever written in your entire life, listed in alphabetical order by function name
    • Ví dụ: bạn có thể có nhiều tệp PHP với các chức năng được ghép lại với nhau bằng đối tượng [ví dụ: các chức năng để thực hiện thao tác chuỗi cơ bản, các chức năng để xử lý mảng, chức năng cho đầu vào/đầu ra tệp, v.v.] you could have multiple PHP files with functions that are chunked together by subject matter [e.g., functions for doing basic string manipulation, functions for processing arrays, functions for file input/output, etc]
  • OOP là một cách đặc biệt của các chức năng "chunking" cùng nhau thành một "lớp"into a "Class"

  • Một lớp chỉ là một cấp độ khác của mã "chunking" với nhau để bạn có thể coi nó như một tổng thể thống nhấtjust another level of "chunking" code together so that you can treat it as a unified whole

  • Một lớp học có thể được coi là một "chunking" của các phương pháp và thuộc tínhmethods and properties

    • Các phương pháp chỉ đơn giản là các chức năng có liên quan logic với nhau theo một cách nào đó có ý nghĩa. Các từ "Phương thức" và "hàm" về cơ bản là hai thuật ngữ khác nhau cho cùng một điều. are simply functions that are logically related to one another in some meaningful way. The words "method" and "function" are basically two different terms for the same thing.
    • Các thuộc tính chỉ đơn giản là các giá trị dữ liệu có liên quan đến lớp. Đây là những giá trị có chủ ý không được phân biệt đối với bất kỳ chức năng riêng lẻ nào, bởi vì nhiều hơn một trong các chức năng trong lớp nên có quyền truy cập vào chúng. are simply data values that are related to the class. These are values that are intentionally non-isolated to any individual function, because more than one of the functions in the class should have access to them.
      • Ví dụ: nếu lớp của bạn có một loạt các phương pháp để thực hiện thiên văn học, các thuộc tính của lớp có thể là giá trị cho một số số nổi tiếng mà tất cả các phương pháp thiên văn học cần biết (như PI, tốc độ ánh sáng, khoảng cách giữa các hành tinh cụ thể, vân vân.).: if your class has a bunch of methods for doing astronomy, properties of the class might be the values for certain famous numbers that all astronomy methods need to know about (like Pi, the speed of light, the distance between specific planets, etc.).
    • Đây là nơi mà hầu hết các giải thích OOP trở nên khó hiểu vì họ phân nhánh thành "các ví dụ trong thế giới thực" có thể nhanh chóng bị lạc đề. Thông thường, "thế giới thực" là một uyển ngữ cho các quan điểm bản thể học của một cá nhân hoặc nhóm cụ thể. Điều đó có xu hướng chỉ hữu ích khi bạn đã hiểu rõ khái niệm đủ để dạy nó cho người khác.where most OOP explanations get confusing because they branch off into "real world examples" which can quickly get off-topic. Often, "real world" is a euphemism for the ontological perspectives of a particular individual or group. That tends to be useful only once you already understand the concept well enough to teach it to someone else.
    • Để hiểu OOP mà không có sự nhầm lẫn, bây giờ bạn có thể bỏ qua các ví dụ "thế giới thực" và chỉ tập trung vào mã. Một lớp chỉ đơn giản là một cách để lưu trữ các chức năng (AKA Phương thức) và Thuộc tính (dữ liệu AKA) làm mã PHP trong một hoặc nhiều "khối" trong đó mỗi "chunk" riêng lẻ liên quan đến một chủ đề hoặc phần chức năng cụ thể. Đó là tất cả những gì bạn cần biết để bắt đầu.simply a way to store functions (aka methods) and properties (aka data) as PHP code in one or more related "chunks" where each individual "chunk" deals with a specific topic or piece of functionality. That's all you need to know in order to get started.
  • Một lớp học rất hữu ích vì nó cho phép bạn sắp xếp mã của mình ở cấp độ rất cao theo cách giúp bạn dễ hiểu, sử dụng và duy trì.a very high level in a way that makes it easy for you to understand, use, and maintain.

  • Khi ai đó đã viết rất nhiều chức năng, và tổ chức chúng thành rất nhiều lớp học, và những người đó làm việc cùng nhau theo một cách thú vị nào đó, họ sẽ đóng gói toàn bộ mọi thứ với nhau và gọi nó là "khung".a "Framework".

  • Một khung chỉ là cấp độ "chunking" cao nhất tiếp theo (bao gồm cả phong cách và quy ước mã hóa) mà một hoặc nhiều người đồng ý vì họ thích cách tổ chức mã và phù hợp với phong cách làm việc, sở thích, giá trị, kế hoạch của họ Sự thống trị, v.v.just the next-highest level of "chunking" (including coding style and conventions) that one or more people agree on because they like the way the code is organized and it suits their working style, preferences, values, plans for world domination, etc.

Xem thêm

  • Kháng cáo OOP

Đã trả lời ngày 7 tháng 10 năm 2009 lúc 11:05Oct 7, 2009 at 11:05

DREFTYMACDREFTYMACdreftymac

30.5K26 Huy hiệu vàng116 Huy hiệu bạc179 Huy hiệu đồng26 gold badges116 silver badges179 bronze badges

5

OOP không gì khác hơn là một mô hình thiết kế. Nếu bạn chỉ mới bắt đầu thì hãy tìm hiểu những điều cơ bản bằng cách tập trung vào phương pháp thủ tục. Quan trọng nhất, làm quen với các nguyên tắc cơ bản như vòng lặp, điều kiện và gọi các thủ tục khác.

Trong khi bạn đang tạo mã thủ tục của mình, hãy tạo thói quen bằng cách thêm các phương thức liên quan trong một tệp nguồn. Học cách chia các thủ tục của bạn thành các đơn vị logic và sau đó bạn đã bắt đầu trở thành hướng đối tượng. Về cơ bản, một đối tượng không có gì khác hơn là một tập hợp các phương thức có liên quan với nhau chỉ đơn giản vì chúng hoạt động trên cùng một bộ dữ liệu. (Không nói về cơ sở dữ liệu ở đây, nhưng dữ liệu ứng dụng!)

OO chủ yếu được sử dụng để làm cho mã của bạn hợp lý hơn bằng cách chia mọi thứ thành các khối đơn giản. Bằng cách kết hợp các khối phù hợp, bạn có được một ứng dụng hoàn chỉnh. OO không phải là viên đạn bạc hay búa vàng sẽ giải quyết tất cả các vấn đề của bạn. Nhưng những gì nó làm, là làm cho mã của bạn dễ hiểu hơn.

Sau đó, một lần nữa, một số người vẫn xoay sở để tạo ra một mớ hỗn độn hoàn toàn từ các đối tượng, chỉ bằng cách biến chúng thành các siêu đối tượng khổng lồ với hàng trăm phương pháp. Các đối tượng như vậy không khác nhiều so với cách tiếp cận thủ tục thông thường, đơn giản là vì số lượng lớn các phương pháp được kết hợp với nhau mà không có bất kỳ logic thực sự nào. Đó là một sai lầm dễ mắc phải khi mọi người bắt đầu làm OOP quá nhanh.

Đã trả lời ngày 7 tháng 10 năm 2009 lúc 11:26Oct 7, 2009 at 11:26

Hướng dẫn is php procedural or object - là thủ tục php hoặc đối tượng

Wim Ten Brinkwim Ten BrinkWim ten Brink

25.4K20 Huy hiệu vàng78 Huy hiệu bạc145 Huy hiệu Đồng20 gold badges78 silver badges145 bronze badges

2

Bạn nên học cả hai. Các đối tượng chỉ là một trong nhiều sự trừu tượng có thể tồn tại và sự trừu tượng là những gì lập trình cuối cùng là tất cả về. Điều đó nói rằng, bắt đầu với các công cụ thủ tục, và sau đó thêm các đối tượng sau, bởi vì các đối tượng của các đối tượng PHP dù sao cũng là thủ tục.

Đối với các khung; Đầu tiên tìm hiểu các nguyên tắc cơ bản của ngôn ngữ, viết các chương trình thử nghiệm vứt bỏ và như vậy. Sau đó, bạn có thể làm quen với các khung và xem xét bản thân liệu bạn có tìm thấy một số trong số chúng hữu ích trong một số bối cảnh hay không. Họ chắc chắn không bắt buộc.

Đã trả lời ngày 7 tháng 10 năm 2009 lúc 10:56Oct 7, 2009 at 10:56

Joonas Pulakkajoonas PulakkaJoonas Pulakka

359K28 Huy hiệu vàng105 Huy hiệu bạc169 Huy hiệu đồng28 gold badges105 silver badges169 bronze badges

Để thêm vào câu trả lời tuyệt vời ở trên. Bạn sẽ thấy OOP là một sự tiến triển tự nhiên của phong cách mã hóa của bạn -khi bạn bắt đầu viết chương trình nhỏ, bạn có thể chỉ cần kết hợp một vài dòng mã PHP, sau đó nhóm chúng thành các chức năng và bạn viết nhiều chức năng mà bạn có thể cảm thấy cần Để tổ chức tốt hơn chúng thành các lớp học. OOP chỉ để cấu trúc mã của bạn tốt hơn -bảo trì mã tốt hơn.

Đã trả lời ngày 20 tháng 10 năm 2014 lúc 20:44Oct 20, 2014 at 20:44

Hướng dẫn is php procedural or object - là thủ tục php hoặc đối tượng

RawDreegrawDreegRawdreeg

4615 Huy hiệu bạc11 Huy hiệu đồng5 silver badges11 bronze badges

Php thủ tục và OOP sử dụng cùng một mã PHP. Sau đó, chỉ có sự khác biệt là với thủ tục, bạn tập trung vào một nhiệm vụ và đó là nó. Trong OOP, bạn tổ chức mã của mình bằng các mẫu hoặc khối có thể được sử dụng lại trong nhiều lĩnh vực khác nhau của mã.

Câu trả lời đơn giản là, bạn cần biết và hiểu PHP. Bạn có thể tìm hiểu nó tại php.net. Khi bạn hiểu nó, thì bạn có thể bắt đầu tổ chức mã thành Chucks.

Mã thủ tục sử dụng các chức năng, biến.

Khi bạn có được sự vật lộn, bạn có thể bắt đầu tổ chức các chức năng và biến thành các lớp. Chúng tôi bắt đầu gọi các hàm là phương thức và biến là thuộc tính.

Chúc may mắn.

Đã trả lời ngày 20 tháng 10 năm 2014 lúc 21:03Oct 20, 2014 at 21:03

Hướng dẫn is php procedural or object - là thủ tục php hoặc đối tượng

Cố gắng oop mọi thứ trong PHP làm cho nó khó hiểu và trông phức tạp. Tốt hơn hãy gắn bó với cú pháp thủ tục cho các chức năng tích hợp và OOP cho các gói và thư viện.

Đã trả lời ngày 4 tháng 9 lúc 0:55Sep 4 at 0:55

Hướng dẫn is php procedural or object - là thủ tục php hoặc đối tượng

Đối tượng PHP có dựa trên không?

PHP là ngôn ngữ lập trình hướng đối tượng hỗ trợ một số khái niệm.Dưới đây là một số khái niệm OOPS phổ biến trong PHP với thời gian thực ở đây là một số khái niệm OOPS phổ biến trong PHP với các ví dụ thời gian thực. that supports several concepts. Here are some of the popular OOPS concepts in PHP with real-time Here are some of the popular OOPS concepts in PHP with real-time examples.

OOP PHP có tốt hơn thủ tục không?

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: OOP nhanh hơn và dễ thực hiện 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ữ cho mã PHP khô "không lặp lại bản thân" và làm cho mã dễ dàng hơn để duy trì, sửa đổi và gỡ lỗi.OOP is faster and easier to execute. OOP provides a clear structure for the programs. OOP helps to keep the PHP code DRY "Don't Repeat Yourself", and makes the code easier to maintain, modify and debug.

PHP có sử dụng các khái niệm OOPS không?

Tạo các đối tượng trong lớp PHP là một trong những khái niệm OOPS quan trọng nhất trong PHP.Một lớp có thể có bất kỳ số lượng phiên bản hoặc đối tượng.Tất cả các đối tượng của một lớp sẽ có quyền truy cập vào tất cả các thành viên dữ liệu và chức năng thành viên của lớp đó.Class is one of the most critical OOPs Concepts in PHP. A class can have any number of instances or objects. All the objects of a class will have access to all the data members and member functions of that class.

Rất tiếc có phải là một ngôn ngữ thủ tục?

Nó là một ngôn ngữ lập trình theo định hướng mô hình thủ tục.Nó là một ngôn ngữ lập trình dựa trên mô hình đối tượng.Nó được gọi là OOP.Cách tiếp cận từ trên xuống.. It is an object model-based programming language. It is known as OOP. Top-down approach.