• 0

OOP object oriented programing - web development


Question

I do not know much about programing but it seems that it will be my career in the next years for some reasons.

I read that OOP is a plus before start programing.

Goggle make it difficult due to zillions of search result.

I'd like to know what OOP part I should know if I am gonna dig into web development (php based).

13 answers to this question

Recommended Posts

  • 0

There isn't a "part" of OOP that you should know, you need to know the whole concept. Think of OOP as a programming theory or "law." Its a concept that was designed to make programs easier to write and manage by creating reusable code, and many modern languages implement it or force it (Java.)

I would recommend learning the basics of programming/PHP before diving into OOP concepts. I.E. Learn about variables, loops, functions, etc.. (if you haven't already)

A good book after you know a good deal about how PHP works, "PHP Object-Oriented Solutions" by David Powers.

  • 0

PHP is one of the worst languages to wrap your head around OOP and programming in general. There's too much inconsistencies and structure problems. Of course, one can dream to make it all right by making one's own layer on top of it (which mostly everyone at least attempts to do, with variable degrees of success), but I wouldn't start with it. Stay away from PHP as a learner.

  • 0

PHP is one of the worst languages to wrap your head around OOP and programming in general. There's too much inconsistencies and structure problems. Of course, one can dream to make it all right by making one's own layer on top of it (which mostly everyone at least attempts to do, with variable degrees of success), but I wouldn't start with it. Stay away from PHP as a learner.

I couldn't agree more. PHP is the go to language for web development, but learning OOP with it is a nightmare. However, PHP 4.4 and 4.5 have made good strides. Learning a language like Java first, would give you a very strong foundation of OOP.

  • 0

There isn't a "part" of OOP that you should know Thanks for the tip.

you need to know the whole concept. hum ... please more details about this statement :)

Think of OOP as a programming theory or "law." Its a concept that was designed to make programs easier to write and manage by creating reusable code, and many modern languages implement it or force it (Java.) Please I do not understand completely :)

I would recommend learning the basics of programming/PHP before diving into OOP concepts. I.E. Learn about variables, loops, functions, etc.. (if you haven't already) I did tried to study php but found terms such these you already mentioned that I do not understand and when I goggled for it more I've found many mentioned that it is part of the OOP and this is the reason for my post here.

A good book after you know a good deal about how PHP works, "PHP Object-Oriented Solutions" by David Powers. Ok, I will goggle for it. But please I have a problem with learning php.

PHP is one of the worst languages to wrap your head around OOP and programming in general. Please more information about this statement too because I've found that most CMS nowadays like Drupal, Joomla, Wordpress are using php.

There's too much inconsistencies and structure problems. I think this is a ibit advanced for me to understand.

Of course, one can dream to make it all right by making one's own layer on top of it (which mostly everyone at least attempts to do, with variable degrees of success), Adavced too.

but I wouldn't start with it. Stay away from PHP as a learner. Please advise what shall I do then?

It is probably best to understand the basics of procedural programming. Until you've fought with that, learning OOP might be lost on you.

I read this excellent book years ago on OOP in PHP 5: PHP 5 Objects, Patterns, and Practice

Ok, I will check it also and read it :)
I couldn't agree more. PHP is the go to language for web development, but learning OOP with it is a nightmare. However, PHP 4.4 and 4.5 have made good strides. Learning a language like Java first, would give you a very strong foundation of OOP.

And will it be logically to go for java 1st then php?
  • 0

Inconsistencies of PHP:

* OOP is not fully realized, big part is still procedural, so it's a mixed bag

* Procedural part has many naming conventions - something that OOP is supposed to fix

* Returned values mean one thing for this function and another thing for other function

* Parameter order is ambiguous for some functions, of the same group

* In attempt to go OOP now there's too many ways to do the same thing

Different clients (browsers), different web-servers, different settings, different PHP versions - it all takes the toll. Also, security is of utmost importance and is often neglected.

Most web content management systems are more or less structured collections of wrappers around all these troubles of PHP. They do it for you. And also troubles of XHTML and Javascript (and jQuery), so you don't have to bother. You can use them to build sites right away - it's meant to be easy. But sooner or later you'll have to fix something underneath and, therefore, understand what's underneath, too.

If you just want to take a stab at it, some might argue that understanding OOP isn't even necessary - in most cases all code ends up being unmaintainable clusterfsck, anyway, so just go with it.

If you do want to understand OOP, perhaps consider Ruby. It's a kind of a hipster language, that, but at least it has OOP principles at its core.

Other options are Java and C#. They are universal, more robust than any single web-oriented thingamajig will ever be.

Go Java if you lean towards Android, for example. Go C# if you lean towards larger wallet *cough*

And in any case, I'd suggest Code Complete: http://www.amazon.co...n/dp/0735619670

  • 0

I'd start with Java, it's an easy language that gets you going with Object-Oriented Programming pretty fast.

In September 2011 I started my uni course in software development, the first thing we did was Object-Oriented Programming in Java. It's a great way to learn to program, and after you know OOP you probably wouldn't want to do anything else. I'm sure I don't.

We've now been doing OO PHP and whlie it was awkward at first you get used to it.

  • 0

You mean I should learn c++ 1st ?

No. C#. C++ is problably one of the best languages but requires a steep learning curve while C# doesn't (note that you might lose some things along the way...)

I'd start with Java, it's an easy language that gets you going with Object-Oriented Programming pretty fast.

I completely disagree and its people like you that keep putting these ****ty programmers out (Its not against you personally Ambroos as I understand you just want to help the OP)

Java needs to die. Its one of the worst languages in the world. Id recommend C++'s steep learning curve before Java.

  • 0

Object-oriented programming and web development are orthogonal concepts. The web is a platform (like Windows or Android) with its set of tools, languages and rules. Object-orientation is a general programming technique that revolves around types. You can learn one without the other.

The biggest two web programming languages, Javascript and PHP, don't lend themselves to OOP very well however. If you want to properly learn OOP you should learn a classical OO language such as C#, Java or Python. These are general-purpose languages that are used for web development but not exclusively.

C++ would be a poor choice as it's not typically used for web development and is not a good example of an OOP language. It has all sorts of quirks that no other language has like multiple inheritance, private/protected/virtual inheritance, static polymorphism, etc.

  • 0

You're all making this sound more complicated than it is.

The most important thing to know is: coding isn't as hard as people make it out to be. Don't be intimidated. Once you know one language, its easy to learn another. Its easy to go from C# to PHP to JavaScript to VB. May take learning a few extra things to get C++ but that won't take long either.

OOP isn't a complicated theory or philosophy or paradigm or methodology whatever else, it just means coding using objects. Objects meaning representations of information, just like you'd expect it to mean.

The reason OOP makes things easier is because it structures your code, instead of being one big long mess, that's all. Just like you'd expect -- representations of information organize them versus leaving them organized.

In choosing a language to start learning, just choose a language that is more pleasant to use, over one that's more useful. PHP is useful for web development, it isn't the most pleasant to use, that's all. C# or Java. Universities will teach in Java over C# mainly because its cross-platform and they don't want to use proprietary tech, that's all. I think C# is better.

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • The government is not the good guy either. You propose 99% of people require that the government overreach and govern their freedom of information and privacy, while ignoring the government is made up 100% of people, of which 99% are (as you described) brain dead. You can't have both. The reality is Signal is absolutely right and the government is doing what it has always done. Ignoring that we are their boss and grabbing all the power they possibly can to make sure we aren't. Your (societies) ###### parenting is not reason enough as to why I can't have a safe platform for my data/information. Thinking the government is helping is precisely what they are targeting psychologically to take suckers like you for a ride. "Think of the children" was, has, is, and will always be a mechanism of control. In the rare occasion it's actually essential the mass consensus has always been there and it doesn't become a debate.
    • Google Chrome 149.0.7827.103 (offline installer) by Razvan Serea The web browser is arguably the most important piece of software on your computer. You spend much of your time online inside a browser: when you search, chat, email, shop, bank, read the news, and watch videos online, you often do all this using a browser. Google Chrome is a browser that combines a minimal design with sophisticated technology to make the web faster, safer, and easier. Use one box for everything--type in the address bar and get suggestions for both search and Web pages. Thumbnails of your top sites let you access your favorite pages instantly with lightning speed from any new tab. Desktop shortcuts allow you to launch your favorite Web apps straight from your desktop. Chrome has many useful features built in, including automatic full-page translation and access to thousands of apps, extensions, and themes from the Chrome Web Store. Google Chrome is one of the best solutions for Internet browsing giving you high level of security, speed and great features. Important to know! The offline installer links do not include the automatic update feature. Download web installer: Google Chrome Web 32-bit | Google Chrome 64-bit | Freeware Download: Google Chrome Offline Installer 64-bit | Direct Link | 131.0 MB Download: Google Chrome Offline Installer 32-bit | Direct Link | 119.0 MB Download page: Google Chrome Portable Download: Chrome ARM64 | Direct Link View: Chrome Website | Release Notes Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • Apple would rather delay Siri AI than open iOS to rival assistants in the EU by Pradeep Viswanathan At WWDC 2026, Apple today announced a revamped Siri AI experience for iOS and iPadOS users. However, this new Siri AI experience will not be available on iPhones and iPads in the European Union when iOS 27 and iPadOS 27 launch later this year. In a detailed press release, Apple blamed the Siri delay on the EU’s Digital Markets Act, highlighting that EU regulators did not accept its proposed solutions for bringing Siri AI to the region. Consequently, there is currently no timeline for Siri AI’s availability on iOS and iPadOS in the EU. Here is what EU users will be missing due to this delay: Siri AI, Apple’s next-generation assistant powered by Apple Intelligence A new dedicated Siri app for revisiting conversations Expanded Visual Intelligence features Integrated AI-assisted writing tools Siri mode in Camera on iOS Other system-level AI features Since the new Siri experience on watchOS 27 is dependent on an iOS 27 device, EU users will also miss out on Siri AI on watchOS 27. The most frustrating part is that even developers based in the EU will not be able to test or use the new Siri AI features for their apps on iOS 27, iPadOS 27, and watchOS 27. In its press release, Apple mentioned that making Siri AI available in the EU would require the company to give other AI assistants (like ChatGPT, Claude, and Gemini) broad access to private user data and the ability to control installed apps. Essentially, the EU wants competing AI systems to be able to read and send messages, make purchases, access files, and perform actions across apps. To address these concerns, Apple proposed an intermediary system called Trusted System Agent. This system would have allowed other virtual assistants to access the same features as Siri AI in a safer way. However, the European Commission rejected Apple's proposals, and it is currently unclear why. The good news is that Apple stated it will continue working with EU regulators to bring Siri AI to the region. For now, however, iPhone and iPad users in the EU will have to wait. If platform gatekeepers such as Apple and Google reserve deep operating system capabilities only for their own AI assistants, rival services such as ChatGPT, Claude, Perplexity, and others will be at a major disadvantage. Modern AI assistants are no longer simple chatbots. They require access to core OS-level capabilities such as reading on-screen context, interacting with installed apps, sending messages, creating calendar events, managing files, and completing user-approved actions across the device. If only Siri on iOS or Gemini on Android can access these capabilities, competing AI services will struggle to offer the same level of convenience, even if their underlying models are better. This is exactly what the European Union's DMA is trying to address. Apple and Google should be allowed to protect user privacy and security, but they should not be permitted to use those concerns as a blanket excuse to block rival AI assistants from getting fair access to core platform features. A secure permission-based framework could allow users to choose their preferred AI assistant without giving any company unrestricted access to personal data.
    • Firefox 151.0.4 by Razvan Serea Firefox is a fast, full-featured Web browser. It offers great security, privacy, and protection against viruses, spyware, malware, and it can also easily block pop-up windows. The key features that have made Firefox so popular are the simple and effective UI, browser speed and strong security capabilities. Firefox has complete features for browsing the Internet. It is very reliable and flexible due to its implemented security features, along with customization options. Firefox includes pop-up blocking, tab-browsing, integrated Google search, simplified privacy controls, a streamlined browser window that shows you more of the page than any other browser and a number of additional features that work with you to help you get the most out of your time online. Firefox key features Enhanced Tracking Protection (ETP) – Blocks trackers, cookies, cryptominers, and fingerprinters by default. Private Browsing Mode – Deletes history, cookies, and temporary files when closed. Lightweight & Fast Performance – Optimized memory usage with efficient page loading. Cross-Platform Sync – Sync bookmarks, passwords, history, and open tabs across devices. Customizable Interface – Toolbars, themes, and extensions can be tailored to user needs. Strong Privacy Controls – Options to manage cookies, permissions, and site data easily. Reader Mode – Strips away clutter for distraction-free reading. Pocket Integration – Save and read articles offline with Pocket built into Firefox. Picture-in-Picture (PiP) – Watch videos in a floating window while multitasking. Extensions & Add-ons – Vast library for productivity, security, and personalization. Built-in PDF Viewer – No need for external software to view PDFs. Firefox Monitor – Alerts users if their email is part of a known data breach. Multi-Account Containers – Isolate browsing sessions (e.g., work, personal, shopping). Performance & Resource Efficiency – Uses fewer system resources than some competitors. Open Source & Community-Driven – Transparent development with global contributions. Download: Firefox 64-bit | Firefox 32-bit | ARM64 | ~70.0 MB (Freeware) Download: Firefox for MacOS | 145.0 MB View: Firefox Home Page | Release Notes Get alerted to all of our Software updates on Twitter at @NeowinSoftware
  • Recent Achievements

    • Very Popular
      Captain_Eric earned a badge
      Very Popular
    • One Month Later
      amusc earned a badge
      One Month Later
    • One Month Later
      DJC50PLUS earned a badge
      One Month Later
    • Week One Done
      DJC50PLUS earned a badge
      Week One Done
    • Proficient
      Eric Biran went up a rank
      Proficient
  • Popular Contributors

    1. 1
      +primortal
      509
    2. 2
      PsYcHoKiLLa
      222
    3. 3
      ATLien_0
      92
    4. 4
      +Edouard
      86
    5. 5
      Steven P.
      81
  • Tell a friend

    Love Neowin? Tell a friend!