New Feature: Playlist Center! Pick a topic and let our playlists guide the way.

Easy-to-follow video tutorials help you learn software, creative, and business skills.Become a member

Why should you use object-oriented programming?

From: Object-Oriented Programming with PHP

Video: Why should you use object-oriented programming?

There are a number of very practical reasons for using object-oriented programming, and not just because it looks good on paper. The short reason? Object-oriented programming organizes projects into consistent, manageable pieces. As a developer, I've come to really appreciate well-organized code, as it saves time and money. In comparison, procedural programming is a set of step-by-step instructions that the computer must follow. A procedural program can consist of a series of conditions, and function calls for logic, but the end result is very linear.

Why should you use object-oriented programming?

There are a number of very practical reasons for using object-oriented programming, and not just because it looks good on paper. The short reason? Object-oriented programming organizes projects into consistent, manageable pieces. As a developer, I've come to really appreciate well-organized code, as it saves time and money. In comparison, procedural programming is a set of step-by-step instructions that the computer must follow. A procedural program can consist of a series of conditions, and function calls for logic, but the end result is very linear.

Meaning, program execution is like a straight line, rigid and inflexible. There's nothing wrong with procedural programming, and for small projects, it can be a good solution. The problem comes when you scale up. You may find yourself defining arrays with long descriptive keys, or passing large numbers of global variables between scripts, or even searching for a non-fatal bug across a dozen squares with thousands of lines of code with little indication of which component is at fault. Object-oriented programming introduces structure intended to avoid the scaling and maintenance issues.

Throughout this course, I am going to explore a number of features of object-oriented programming, including abstraction, which defines data and program structures using a representation of meaning, while hiding the implementation itself. This allows for the use of human readable terminology to be used as part of the software. Next is encapsulation, which exposes functionality while restricting access to low-level components and data. You can also introduce a hierarchy where properties and behavior from pre-existing classes are inherited, which allows for incremental development.

Another feature is modularity, where functionality is broken into modules that accomplish one task, and contain everything necessary to complete said task. Instead of trying to deal with one large problem, a number of smaller sub-problems work together to solve the bigger problem. And finally, polymorphism, which is the ability to interact with classes in the same way without having to know exactly which class they are. By using object-oriented programming, you can build small components that can be easily maintained and expanded upon without messing up the entire program. That way, you can create and test the program in small pieces, rather than trying to deal with huge, messy code.

But has PHP always supported this kind of object-oriented programming?

Show transcript

This video is part of

Image for Object-Oriented Programming with PHP
Object-Oriented Programming with PHP

37 video lessons · 17432 viewers

Jon Peck
Author

 
Expand all | Collapse all
  1. 4m 10s
    1. Welcome
      39s
    2. Exercise files
      2m 16s
    3. What you should know
      1m 15s
  2. 7m 47s
    1. What is an object?
      2m 6s
    2. What is a class?
      2m 7s
    3. Why should you use object-oriented programming?
      2m 14s
    4. The history of object-oriented PHP
      1m 20s
  3. 16m 40s
    1. Defining a class
      2m 58s
    2. Defining class properties
      3m 26s
    3. Creating a method and exploring object context with $this
      2m 50s
    4. Instantiating an object and accessing its contents
      3m 19s
    5. Specifying the visibility scope
      4m 7s
  4. 15m 51s
    1. What is a magic method, and do I need one?
      2m 23s
    2. Overloading property access
      6m 37s
    3. Customizing object construction
      4m 34s
    4. Standardizing object rendering as a string
      2m 17s
  5. 20m 54s
    1. Using the static keyword
      3m 36s
    2. Leveraging scope resolution operators
      1m 10s
    3. Setting constant values
      2m 47s
    4. Implementing static methods
      5m 43s
    5. Creating a database class
      7m 38s
  6. 26m 19s
    1. Extending your class
      6m 8s
    2. Abstracting classes
      5m 57s
    3. Sharing interfaces using polymorphism
      4m 39s
    4. Overriding methods, properties, and constants
      3m 25s
    5. Cloning and comparing objects
      2m 51s
    6. Referencing objects
      3m 19s
  7. 14m 52s
    1. Leveraging standard class objects
      2m 42s
    2. Retrieving objects from the database
      5m 41s
    3. Error handling with exceptions
      2m 6s
    4. Customizing PHP exceptions
      4m 23s
  8. 8m 2s
    1. Identifying the singleton pattern
      1m 42s
    2. Using the factory method pattern
      1m 51s
    3. Implementing a strategy pattern
      4m 29s
  9. 2m 57s
    1. Looking forward to namespaces
      47s
    2. Next steps
      1m 6s
    3. Goodbye
      1m 4s

Start learning today

Get unlimited access to all courses for just $25/month.

Become a member
Sometimes @lynda teaches me how to use a program and sometimes Lynda.com changes my life forever. @JosefShutter
@lynda lynda.com is an absolute life saver when it comes to learning todays software. Definitely recommend it! #higherlearning @Michael_Caraway
@lynda The best thing online! Your database of courses is great! To the mark and very helpful. Thanks! @ru22more
Got to create something yesterday I never thought I could do. #thanks @lynda @Ngventurella
I really do love @lynda as a learning platform. Never stop learning and developing, it’s probably our greatest gift as a species! @soundslikedavid
@lynda just subscribed to lynda.com all I can say its brilliant join now trust me @ButchSamurai
@lynda is an awesome resource. The membership is priceless if you take advantage of it. @diabetic_techie
One of the best decision I made this year. Buy a 1yr subscription to @lynda @cybercaptive
guys lynda.com (@lynda) is the best. So far I’ve learned Java, principles of OO programming, and now learning about MS project @lucasmitchell
Signed back up to @lynda dot com. I’ve missed it!! Proper geeking out right now! #timetolearn #geek @JayGodbold

Are you sure you want to delete this note?

No

Thanks for signing up.

We’ll send you a confirmation email shortly.


Sign up and receive emails about lynda.com and our online training library:

Here’s our privacy policy with more details about how we handle your information.

Keep up with news, tips, and latest courses with emails from lynda.com.

Sign up and receive emails about lynda.com and our online training library:

Here’s our privacy policy with more details about how we handle your information.

   
submit Lightbox submit clicked
Terms and conditions of use

We've updated our terms and conditions (now called terms of service).Go
Review and accept our updated terms of service.