Hi Friends, I am doing survey for most popular PHP framework, if you like it please poll for one of these: 1 - Zend 2 - Codeigniter 3 - Yii 4 - CakePHP
I've never used a PHP framework, I just program things myself. Similarly with Javascript I avoid JQuery. What's your reasoning for using frameworks?
Go for Codeigniter - they have a nice tutorial that can get you started: http://codeigniter.com/user_guide/tutorial/index.html URI rerouting, profiling, form validation, database, etc. You generally reuse what's available on a framework, instead of rewriting something that's already been done. Of course, for hobby and coding for fun, nothing's better than writing it yourself.. But if you want to save time and want to get a work done, then you simply just reuse what's available.
Symfony 1.4 or 2.0 is my choice for personal development. Codeignitor and yii would both be acceptible as well. I'm more comfortable with symfony, so I would lean towards it. Symfony 2 is also faster than Codeignitor and yii so it gets bonus points for that. All 3 are similarly organized, allow for a multitude of 3rd party libraries for security, ORM's, and just about anything else. They all have great user bases and are very well developed platforms. Zend would be my choice only if you are asking this with the intention of trying to get a programming job at any point. More corporations use it than any other framework, magento is based on it, it's a no-brainier from that standpoint. Cake is out of the question. It has some deal breakers specifically with ORM availability. It got popular because of its cute name and some good marketing. There are several vastly superior platforms, namely all of the above. The top 5 being used are all listed above. The order of usage is probably up for debate. I believe yii is currently being adopted the quickest. Zend and symfony most likely have the largest number of active usage. They were 1 and 2 a year ago.
Back in the days of Cake v1.1 it was up there with the rest and I've stuck with it and not reviewed others since. If I can I'll use WordPress to build a site but often they need a different approach or something that isn't "content" related and that's where a framework is great. You have the combined efforts of many people looking at security, performance etc. Why bill a client for recreating the wheel?
It depends entirely on the client and what their needs are. Every client I've worked with needed very specific bespoke software. I personally think it's bad practice to rely on these things unless you understand the framework inside-out. If you have your own personal libraries it's just as quick and you know everything about it. As a computer scientist I can't yet bring myself to not learn and understand everything I use, especially the core functions I've yet to use. Once I've completely mastered PHP in the future things may change, though. Just having a brief search on the internet it seems there are countless warnings about frameworks being traps for noobies, which I can imagine. This isn't to say I haven't used other frameworks before. I really like the TAO framework for C# OpenGL API.
None of the above -- I've rarely come across any PHP framework that wasn't anything more than fat bloated waste of time overhead, that does not do things in a manner that after some three decades of writing software I would go about doing things. For the most part I consider them sleazy shortcuts, and much like all the other sleazy shortcuts it tends to bite you in the arse sooner or later. This is particularly true in an INTERPRETED language, where a massive framework you are rarely actually using all of literally is nothing more than bloat... dragging performance into being commemorated in the annals of hell. I have much the same opinion about javascript frameworks, though in that case you have the added bonus that 90% of what libraries like jquery do don't belong on websites in the first malfing place, or if it does, that's CSS' job... Could be worse though, could be talking HTML/CSS frameworks; Which in most every case I've seen defeats the entire point of modern HTML and CSS, are one step removed from WYSIWYG asshattery, and ends up on par with that ****tarded OOCSS nonsense. But, we're talking web development, where sleazy shortcuts and even sleazier business practices are the norm -- just poke your head into the SEO and marketplace here at DP for proof enough of that.
Glad I'm not the only person who thinks like that Death. If people want re-usability, they should learn OO design and make their own libraries.
I studied with small talk at University, so found the transition to Zend Framework pretty easy. The support community is a definite bonus for me. Having said that, the same is going to be true for all open source offerings.
monjur0172 - What example are you after? Indeed but if you take Cake (which is the only one of the 3 I can discuss) it provides a blank page with ability to link tables and manage database connections - nothing else. I haven't yet had a client who doesn't require that. I accept there may be some bloat, its the tradeoff you make. You also say you have your own libraries - so you, in effect, have your own framework. I'm sure you don't bill your client for the recreation of them every time. They become part of what the client gets when they hire you to build a site with their best interests in mind for a fee. How you deliver will be driven by you and if they didn't like that they would have chosen someone else.
Yes I do have my own libraries, but they're not to the extent I'd call them a framework. You mentioned databases, I'm not sure why you'd need a framework to manage tables and databases when PHP's PDO's take but a minute to write. Can you be more specific? What's so complicated about databases that requires a whole framework to manage? How long have you been programming? Like DeathShadow said decades of experience diminishes the need for frameworks, which I agree with. From what I gather from you Sarah, your clients seem to want a commission developing as quickly and cheaply as possible. My clients are different and understand that you get what you pay for and my track record of high quality software is proof. I essentially charge for quality. If a client can be easily swayed by someone who claims to do the job more quickly and more cheaply, then they're not my type of client in the first place. I didn't invest tens of thousands in my education to work with clients who can be low-balled.
I have used CodeIgniter but it's too much work. I have been using symfony 1.4 with propel and it's quite a bit better