views:

251

answers:

5

Now days most of PHP web development companies use PHP frameworks or open source products for developing websites but is that a right approach? If so but what will happen to the PHP programmer skill and knowledge?

Don’t you think using approaches such as “PHP frameworks or open source modification” will kill the programmer skill over the time? Is that really worth it a website developer becomes a better PHP framework writer instead of being a better PHP programmer?

+10  A: 

I absolutely have to disagree here. When is started programming, it was PHP and I had no clue what I did. I wrote everything myself and had no will to even look at framework. I spend way too much time in work that repeated again and again.

Frameworks are one of the most useful tools IMO (not only web frameworks)

  • They speed up development in lots of ways
  • Looking at the sources, I learnt more about good practices, design decisions, directions to think to
  • Taking bits and pieces of the framework and use it in other apps where the use of a framework is not possible
  • They help you focus more on your work (MVC, DRY, KISS, ...) instead of fiddling around with the basic
  • Most established frameworks have a huge user-base and are very well tested.

I think looking at other code helps you be better and more efficient over time. SO is a very good example of this.

DrColossos
Couldn't agree with you more. I had basically the same experience as you. I was always the "roll your own" type of developer up until 2 years ago, and now I wish I'd investigated MVC frameworks sooner. I'd say that my general programming knowledge and code quality has improved more in the past 2 years, while working with frameworks, than in the previous 4 years of web development. This is doubly so for those who aren't formally-trained in software development.
Lèse majesté
What's **DRI**?
Alix Axel
@Lèse majesté - exactly what happened with me.
Matchu
@Alix Axel: bad typo ;) Funny since both letters are far away from each other
DrColossos
@Alix Axel: it's a crossover thrash band: http://en.wikipedia.org/wiki/Dirty_Rotten_Imbeciles
Lèse majesté
+1  A: 

In my opinion, I don't think frameworks "kills the skills" at all, instead it allows skills and more creative workflows to develop, which ultimately leads to enhanced skill. Also, the understanding of how large scale applications are developed are increased with effective use of well developed frameworks, which is definitely a big plus in the end too.

It allows applications to be developed more quickly and efficiently; and the end result is what matters. If you write PHP and don't know assembly, it doesn't mean you've lost your skill - you've simply focused on a higher level of technological progress in this modern age.

loathsome
+2  A: 

Using a framework doesn't make you a weaker programmer, otherwise I could argue you should write you next web app in assembeler, not much fun.

A framework should be thought of more like an extention to a language, a DSL if you like. For example CakePHP is just PHP with extra cool-stuff that makes handling databases and sessions "cake" - excuse the pun.

By using a framework you take the 'yuk' out of preogramming, and allow yourself to treat data as objects, for example.

If you still feel you shouldn't use a framework, then write one, then use it! By this reasoning you should also go and rewrite the PHP libraries and interpreter, however I don't recomend it.

thomasfedb
+1  A: 

I think it's important to know some of the underlying concepts, such as creating and interacting with databases, OOP, design patterns. Frameworks can introduce you to these concepts without making you learn everything at once. They also have the advantage of several thousand hours of development time already invested, a community of testers and bug fixers, etc.

Anecdotally, you hear stories of people starting with a framework and slowly replacing parts of it as they optimize sections of their site. They distill the framework's operations down to their specific requirements. You can't take this route if you aren't a strong programmer.

Frameworks allow you to do work without reinventing the wheel. And the people working on this framework are probably a lot smarter than you, and they have spent a lot more time thinking about the code.

At the end of the day, it's about getting things done. Any given individual may be more productive with a third-party framework, or without. But a framework is the conclusion of any large project, whether you end up creating it yourself or you rely on the work of others.

Adam Backstrom
A: 

To work on PHP based framework, you need to be a better PHP programmer. so, your skill level will increase and it will not decrease...to tell with an example.

We can start writing all the program in assembly language, why do we use high level language...? If you find the answer for this, then you will get the answer for this problem too. :-)

Mani