Jump to content

What comes after PHP?


Eritrea

Recommended Posts

Sorry, for the rather-misleading title, 

 

But, I am a noob, and have been in self-teaching for the past 8 months, and I already know the basics, used mysql_ then changed to PDO, and I am learning OOP now. But, the problem is... there seems to be many things to learn in PHP, aside from PDO, OOP and the basics. Can anyone list them here, according to their difficulty level.

 

Because, I want to learn more, but I don't know where to start. PHP unit, MVC, framworks, .... 

 

 

Hope, someone got the idea

Link to comment
Share on other sites

Just learn by trying to build something.  It's much more practical to learn this way, as you'll go through the headaches of trying to do something and not know how. Through these experiences you'll figure some stuff out -- hopefully.

 

Thanks for the reply Mahngiel, but I have done a lot more than building something actually. As, I have made a fully-functional news publishing website, with comments, poll, user profiles, and so and so, plus, a classified-ads site that works similarly with other add sites, but the problem, is that, these sites are made with spaghetti code, your know, even if they can get the job done, I need them to be on just like professionally made, with debugging, micro-optimization... 

 

I just need to know more than creating CMS's and scripts. 

Link to comment
Share on other sites

You can also learn a lot by examining an existing system to see how the creators solved the problem. You stated you were interested in CMS systems. Take a look at the source code for Drupal and Joomla to see how they were designed and coded.

Link to comment
Share on other sites

Sorry, for the rather-misleading title, 

 

But, I am a noob, and have been in self-teaching for the past 8 months, and I already know the basics, used mysql_ then changed to PDO, and I am learning OOP now. But, the problem is... there seems to be many things to learn in PHP, aside from PDO, OOP and the basics. Can anyone list them here, according to their difficulty level.

 

Because, I want to learn more, but I don't know where to start. PHP unit, MVC, framworks, .... 

 

 

Hope, someone got the idea

 

Well, some things flow naturally from one to another, like OOP -> MVC -> Frameworks.  Then, there are things that are more about generalized programming philosophy/methodology that may not be directly related to the others, but deals with them, or shapes them in a certain way (TDD, DDD).  There are, of course, other important outliers as well (learning how to use a VCS, learning when and how to use an ORM, learning how to integrate issue tracking into your workflow, etc).

 

There's no way to really say, "well topic X is medium difficulty, while topic Y is hard," because everyone learns differently.  What's easy for you isn't for someone else, and vice versa.

Link to comment
Share on other sites

Thats true, after you learn the basic OO techniques, it is about time to move on to design patterns, and then MVC architecture and the entire framework. Note the fact that you can work with objects does not indicate that you are already an OO programmer. The true beauty of OOP lies in the idea of OOA(Object oriented analysis) and OOD(object oriented design), without them you can easily write amateurish procedural code even if each line of your code has objects in it. To write true OO code, your entire script as a whole needs to be object oriented. Its not an easy process, may take a while to finally get there.

 

Other than the whatever those advanced programmers already mentioned in previous posts, Id also recommend you to look into ORM(object relational mapping). Martin Fowler's book on Enterprise architecture patterns is a very good one to read, while you can also buy Matt Zandstra's Object, Patterns and Practices to see how Fowler's patterns get implemented into the world of PHP. The patterns are generally universal across all programming languages that support OO, but the actual implementation may vary slightly.

Link to comment
Share on other sites

Again. Not all design patterns require OOP. MVC for instance can be written quite easily in procedural code.

 

Well design patterns are only applicable in OOP. Sure procedural code can try to 'mimic' some OO patterns, but usually does poorly and never feels the same way as you use the OO approach. I've seen many scripts who have claimed to be using MVC while being procedural, none of them are even half as impressive as true MVC with OOP. It feels like they are trying to force their way into MVC to make their application 'better-looking', but well... You dont use MVC for the sake of using MVC, dont you agree?

 

 

I'd pay money to see HoF in a university level course. His mind would be blown.

 

I am a graduate student at an Ivy league university, whats your point? I also took many CS courses already for various programming languages, and my CS professors are all OO programmers and strong OO advocates.

Edited by Hall of Famer
Link to comment
Share on other sites

Well design patterns are only applicable in OOP.

Like trq said, BS. Design patterns are design patterns, not OO-only patterns. They can be implemented procedurally or functionally as well.

 

I am a graduate student at an Ivy league university, whats your point? I also took many CS courses already for various programming languages, and my CS professors are all OO programmers and strong OO advocates.

Have you ever taken a class on assembly language? Operating systems? Compilers and linkers? Drivers? I'm pretty sure the answer is 'no', because if you did, you certainly wouldn't keep wrongly asserting that procedural code is amateurish.

Link to comment
Share on other sites

I am a graduate student at an Ivy league university, whats your point?

That you are gonna come back here after your graduation and ask us to delete all of your posts.

 

It feels like they are trying to force their way into MVC to make their application 'better-looking', but well...

I think most people opt to apply well-known patterns in procedural to architecture their application, not to make it eye-pleasing. Drupal for example applies several patterns successfully.

Edited by ignace
Link to comment
Share on other sites

That you are gonna come back here after your graduation and ask us to delete all of your posts.

 

 

I think most people opt to apply well-known patterns in procedural to architecture their application, not to make it eye-pleasing. Drupal for example applies several patterns successfully.

 

I doubt about that though, as I mentioned before my CS professors are all strong OO advocates, cant say I am not at least a little bit influenced.

 

As far as I know, Drupal 8 will be highly object oriented, especially considering it will integrate with Symfony. Apparently the developers have realized their past mistakes, and learned that OO is the right way to go when your application gets larger and larger. Man I am kinda excited, Drupal 8 is gonna be really professional amazing object oriented software.

Edited by Hall of Famer
Link to comment
Share on other sites

especially considering it will integrate with Symfony

It is not "integrating with Symfony" so much as it is simply making use of some of Symfony's components. They are not alone in this regard. Even a lot of the modern frameworks are using Symfony components.

Link to comment
Share on other sites

It is not "integrating with Symfony" so much as it is simply making use of some of Symfony's components. They are not alone in this regard. Even a lot of the modern frameworks are using Symfony components.

Very true. With the popularization of composer, PHP is really entering a period where quality component libraries that can be shared across projects is finally a reality, and not a minute too late for the continued viability of the language.

 

While Drupal 8 is indeed a ground - up rebuild based upon a number of the symfony2 components, there's also been a lot of cross pollination, as a number of the Drupal core developers have become very active in the symfony project. Only time will tell whether this is for the good of both projects or not, but the Drupal people sure bring a lot of passion for their vision to the table, which is one of the reasons that they were forward thinking enough to embrace the idea of using components in a very proactive manner.

 

PHPBB is also taking the same path, and doing a rebuild on top of the symfony core components from what I've heard.

Link to comment
Share on other sites

So at worst their software exists only out of 80% of crap code.

Haha. Well I didn't think I would ever consider phpBB again, but I think this bodes well for the project's future. People are going to use phpBB no matter what any of us think about its history or architecture, so at least this is an acknowledgement that they needed to go back to the drawing board.

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.