PHP Framework Question! Zend, CakePHP, Symfony, CodeIgniter. Finally I get to ask something.
-
Hey ya'll! We are looking to re-build our backoffice website. It's a dynamically generated site that pulls information from a DB. The DB is populated by the quote form. The DB contains the customers' info, shipping, email templates, and everything to process orders. The backoffice website is custom made in JAVA, but the owner is not happy with the programmer. I told the owner we may want to go to a PHP Framework.
My question is which PHP framework would you recommend and why?
Zend
CakePHP
Symfony
CodeIgniter
-
Hey Highland. Thanks for taking the time to answer. I use Magento all the time. I remember how slow it was in 2008 when I 1st started using it.
I value your comment "The key to our simplicity is copious documentation (inside and outside the code)." I think this is the main problem we had run into before and my fear is that the current programmer is the only one who understands his own work. We trust the guy with all the information, but he's so slow at getting things done that I sometimes want to get him some assistance. But that new person may have to decipher everything.
I have taken some courses in PHP, but I don't code because I'm the one bringing in all the money to the company via internet. I don't have the time to code, although I would love to do it myself.
"Life is too short for Java." LOL
-
I attended a PHP conference a couple of years ago, where Rasmus Lerdorf (the guy who created PHP originally) decried all frameworks as explicative (and this conference had CakeDC, a major Cake PHP dev house, as a sponsor). While I don't fully agree with the sentiment (frameworks aren't completely worthless), you also have to understand that you're adding an intermediate layer to your codebase having one. Sometimes it simplifies things, sometimes it makes them more complex.
Zend Framework 1, for instance, was notoriously slow (a fact even the guy at Zend, who wrote most of it, agreed with). Magento built their early platform on this and it dragged horribly. I was also unimpressed with how well ZF code flowed. While it did MVC well, it was like having to relearn how to code (and I had been doing PHP for over 3 years at this point). I understood why they were doing things that way but they abstracted everything to the point where I couldn't keep track of my program flow anymore (it's bad when your stack trace, the list of everything that lead up to an error, is 50 lines long). I have not tried ZF2 but I have heard it is significantly faster (it uses namespaces and auto-includes instead of a million default includes). Still, I don't think it's easier or better.
What we do is we write our own backend and use Smarty for the frontend. It takes a little longer up front but it's written using standard objects and we have much better control. The key to our simplicity is copious documentation (inside and outside the code). Someone coming into our company would only need to know PHP to work in it, as opposed to knowing PHP + something else. Remember, someone will have to maintain this stuff for you and you don't want to pigeon-hole yourself into some framework few people know.
As an aside, they were selling T-Shirts at this conference that said "Life is too short for Java." I do agree 100% with that statement. It's a good move to ditch Java for PHP.
-
Hey Jack, thanks for that link and your answer. I was already looking into CodeIgniter. One of the coders I use prefers CodeIgniter.
The system is going to have people's SSN, Passport information, and things like that. So I have to be careful who I select to do the project.
Also, I see you're new to SEOmoz. Welcome!
-
Yeah very good point!
I was just wondering because I'm still in the learning stage of PHP I can see how quickly the code can get out of control!
I think SEOmoz use CakePHP when I was nosing at their jobs page. A lot of people reccommend CodeIgniter on StackExchange as well, so I might check that out.
I better start learning to use one of these then. Can I ask you to let me know which one you go for please?
-
I don't see why we shouldn't. The last program we had was in PHP. It worked, but the code could only be understood by the developer. It was so customized and there were patches everywhere to make things work. When I wanted somethings done, these tasks were too hard too implement or were going to take too long.
I want to use a framework to be able to scale our backoffice. I am bringing in more qualified traffic to the company every month and they will need to hire more people. I personally don't want the company to hire more people. I want them to invest in a system that can make their process more efficient and save the money by not hiring people.
-
Do you think it's essential to use a Framework when building a system like this?
-
I think the answer would depend mostly upon the individual who will actually be doing the actual programming and their comfort level with a particular framework. While each of these PHP Frameworks will get the job done, the question is how efficiently will it execute the job of getting information to the screen. Here's a bit more to look at : http://wiki.fluidproject.org/display/fluid/Framework+Comparison+-++CakePHP+vs.+Zend+Framework+(ZF)+vs.+CodeIgniter
My personal preference is CodeIgniter - it tends to be a lighter weight framework that allows you to create cleaner more efficient pages that load more quickly than some other frameworks. CodeIgniter allows you to add particular Zend libraries to it to add functionality when needed.
To keep page load times fast, most skilled programmers in any of these frameworks can remove unused functions and includes on a page to make it execute just as clean as CodeIgniter. I think it's truly a case of what your best available coder is comfortable using.
Mike Monahan
JM Field Marketing
Got a burning SEO question?
Subscribe to Moz Pro to gain full access to Q&A, answer questions, and ask your own.
Browse Questions
Explore more categories
-
Moz Tools
Chat with the community about the Moz tools.
-
SEO Tactics
Discuss the SEO process with fellow marketers
-
Community
Discuss industry events, jobs, and news!
-
Digital Marketing
Chat about tactics outside of SEO
-
Research & Trends
Dive into research and trends in the search industry.
-
Support
Connect on product support and feature requests.
Related Questions
-
Sitemap Question - Very Old Ecommerce Site, Never Used A Map
I help manage a family website, that has about 10,000 products... It was top ranked since 1996, then got smacked by Penguin and recovered but its still receiving only a fraction of the natural traffic it used to get. Something we have never used... Is a sitemap. I'm curious if anyone knows reliable software that will generate a sitemap? My cart is custom built, website uses html pages across the board. Dynamic content and parameters are set up properly, onsite seo is in the excellent range. The only thing that I haven't been utilizing is a sitemap. Because the cart was hand built, it would a huge convenience to use a lightweight program thats compatible with any website, has parameter settings, exclusions and anything else useful to negate any duplicate content. I have a few highly dynamic pages as well... If anyone knows a product or a possible solution, it would be much appreciated. Working it up myself would be very time consuming. Thx
Web Design | | Southbay_Carnivorous_Plants0 -
Is it bad to have /index.php at the end of a uri?
Is it bad for SEO if traffic is directed to "http://www.example.com/someuri/index.php" instead of "http://www.example.com/someuri/" and would it be works setting up a redirect rule at htaccess level?
Web Design | | NoisyLittleMonkey1 -
Wordpress Frameworks for SEO - Genesis - Does it Get Any Better?
I'm sure there's a ton of people in this community running Wordpress, any Genesis developers/users out there? For anybody who doesn't know, Genesis is a parent framework for building wordpress child themes. It saves a ton of time for people that aren't too handy w/ php (like me). I'm working on a few sites locally with it right now, and it's really impressive. I'm seriously never planning on using another WP framework. It also integrates perfectly with Yoast SEO, which is something not all frameworks do. So I thought I'd try to get some input from the community here, anybody have another framework they like? Or have an opinion on the SEO benefit of genesis? Would love to hear...
Web Design | | SVmedia0 -
H1 tag optimization question
Hey folks, I've got a question about h1 coding. Our H1 tags are currently coded like this: [http://www.rapitup.com/mf-doom](<a href=)" class=" current">MF Doom Do you think this would be better? [http://www.rapitup.com/mf-doom](<a href=)" class=" current"> MF Doom My guess is that the second example would be better, and even if not better we know it's not worse. Thoughts? Thanks!
Web Design | | irvingw0 -
Hom much does getting a mobile website improve the "mobile ranking"?
There's been speculation about Google totally not ranking sites that are not mobile, but as far as I can see many sites rank THE SAME on mobile devices as on regular stationary PCs/lap-tops. I had hoped for a radically improved ranking once a mobile site was built. Or is it just that it takes a TON of time for it to go through and then it gets better or is it like with regular sites that a new mobile site on a sub-domain is parked in some form of mobile-sand-box? Also, does putting a mobile site on a ranking domain, as subdomain help, e.g. m.testingsite.com instead of testingsite.mobi ? Thanks.
Web Design | | yvonneq0 -
How do you get rid of the .html and .php extensions at the end of urls?
What is the whitehat way to properly remove the .html and .php extensions at the end of urls? Example: http://www.seomoz.org/learn-seo.php should be (and is) http://www.seomoz.org/learn-seo
Web Design | | Ryan-Bradley0 -
Question about web site structure
Is there an SEO advantage for individual pages to be in sub folders vs not being in a folder? Of course site managemnt is easier with folders if you have 100;s of pages...clearly a shorter URL is easier for humans to naviagte. store.com/gadgets store.com/lasers vs. store.com/gadgets/lasers
Web Design | | johnshearer0