For the last 3 and half years, I’ve done php programming professionally. I’ve programmed many things from web apps to websites. I’ve worked with a few CMS systems. I was beginning to think I would be stuck in the world of php for a long time.
Last year, I took a job at a different company thinking I was going to start something different. My first day there they informed me I would begin working on a new php project for the company. As of today, they’ve informed me I’ll be moved to a different project, using a different programming language.
Most of my time in php land was spent working with Zend Framework. I can’t say my experiences were all good. Some parts of Zend Framework are great, others are not. Work on Zend Framework v2 began before I took my current job and still isn’t finished. The framework is supposed to be a set of “components” which can be used separate from each other. This is both good and bad. There are some parts where you feel the components are too tightly coupled and there are other parts where you feel the components don’t work well enough together. There is also no built in mechanism for creating a distribution containing the components you need and their dependencies. Without that, what’s the point of programming the framework as a set of loosely coupled components.
I had to work for a little while with the CMS “Contao”, then called “Typolight”. That thing was a monstrosity. Most of the classes were just singletons. They preach that they are an object oriented CMS, but if almost every class in the system is a singleton and everything is so tightly coupled, then what’s the point of having done things object oriented in the first place?
As a whole, I don’t feel like php is a bad language. I think there are a lot of bad code examples out there which makes it easy for new programmers to copy and paste and have that, “Look what I did ma!” feeling. Sure there are some parts of php which make you say WTF, but as long as you learn those points and avoid them the language is fine. I’m glad to be moving on but I can’t say the language is totally terrible.
I don’t know exactly what I’ll be doing next, though I do know it will be a statically compiled language and I will be doing something web related.