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
-
Pageless/Single Page Design and Migration Questions
Hello, We are starting a content audit and migration to a new CMS. We would like to take content and present more on a pageless/Single Page type design instead of having visitors drill down so many levels to find the content. What should we be aware of from an SEO perspective. Here is Example of current pages and structure: http://www.saintpetershcs.com/GraduateMedicalEducation/PediatricResidency/
Web Design | | sphcs
Subpages include: Overview, Curriculum, Faculty, Residents, Benefits, How to APply Here is example of what we would like to do:
http://themeforest.net/item/medicalpress-health-and-medical-wordpress-theme/full_screen_preview/7789703 As you scroll information is populated: Duke Medicine also has something similar. https://www.dukemedicine.org/treatments/cancer What are your thoughts?0 -
Can only get a few pages indexed on by google
Hi I've touched upon this before on previous questions so apologies for repeating myself. In a nutshell out of the 60 webpages submitted to Google 11 have been indexed and out of the 140 images submitted none have indexed any ideas would be great! Here is a screen shot of what Google Webmaster is showing http://www.tidy-books.com/sitemapshow.png and here is the sitemap - > http://www.tidy-books.com/sitemap/us/sitemap.xml Thanks
Web Design | | tidybooks0 -
Is my client getting overcharged?
My client has medium sized website (15k pages). They have a company that takes care of everything related to the website. Recently they decided to put a wordpress blog on the site, with a bought theme that only needed the yoast SEO plugin. On an extension like this www.domain.com/blog I could do this very quickly and I am not a professional programmer. The company claims it took them 40 hours and charged 40 x 125$ = 5,000 $ for it. That does not make sense to me at all. Can anyone explain to me how a clean wordpress install with a preselected theme can take 40 hours? Especially when the people that are installing it call themselves wordpress experts and make custom themes etc. Thanks in advance.
Web Design | | Lebron270 -
‘80-90% of SEO already done for you in Wordpress’ Am I missing something?
Hi there, I’m looking for some feedback on a statement made on my Facebook Page re Wordpress and SEO. Please understand I wouldn’t class myself as an expert but I am competent and achieve satisfactory results for clients, more so since becoming a SEOmoz Pro user, I’ve just had some great results for a client using SEOmoz guidelines in ‘On Page SEO Reports’ thank you very much! A comment however made on my FB page has got my interest…. “as you (kn)no(w) google loves WP and will get listed quicker as 80 to 90% of your SEO is already done” Does Wordpress (or Joomla for that matter mentioned in the same conversation) have some SEO advantages that Google loves as the poster would have me believe, can I save time and effort working in word press from an SEO point of view? I use the age old techniques of targeting key phrases and words and distributing them accordingly. Creating internal link structures with ‘key worded anchor text’ etc before embarking on any off page SEO. Do any of you vastly experienced (in comparison to me) SEO folk have any insight into what this statement refers to? I did not gather any references to SEO advantages in Wordpress or Joomla in the Enge and Fishkin et al book The Art of SEO, or any of the other books I’ve read, to develop my knowledge on SEO for the benefit of my clients and of course my pocket. J
Web Design | | JemRobinson0 -
Question on Breadcrumb and Canonical
Hi SEOmozers, I have another question. =] Thanks in advance. First question: How important is the breadcrumb for SEO? I know that breadcrumb makes better UX because it shows how the visitor landed on this page and the breadcrumb may show up in the search engine. But other than that, how important is it? Second Question: If I have a page that can be found via 2 locations, how should I handle this in regards to breadcrumb? For example, I have page A. You can access page A via Category A and Category B. Therefore, what I did was list Page A under Category A and when someone visit Category B and click on Page A, it will redirect to the page A that was found via Category A. The problem is on page A, the breadcrumb is Home > Category A > Page A. So if someone visit Category B and click on Page A, it redirects and the breadcrumb shows Home > Category A > Page A. What should I do with the breadcrumb for Category B > Page A? Should I create another page A and just use canonical on it? Should I create another page A but do not index it? or leave it as is? 1 Page A, can be access via 2 categories. Please advise. Thank you!
Web Design | | TommyTan0 -
What's so great about Thesis framework?
I keep hearing about how great Thesis is for SEO. But when I look at the code, it doesn't look like anything special to me -- they followed the basics (proper title, header usage, etc.), pages load quickly, and they packaged things like title and meta control with the theme itself, but none of those things seem particularly special to me. Plenty of SEO plugins give you the same control over title & meta (and the best ones go beyond what Thesis offers) and it's easy to make sure the code is clean. What am I missing?
Web Design | | EricOliver1 -
Javascript, PhP and SEO Impact?
What are the Pro's and Con's of using Java Script and PHP in a site when factoring in SEO?
Web Design | | bronxpad0 -
Getting tons of duplicate content and title errors on my asp.net shopping cart, is there way to resolve this?
The problem I am having is that the web crawlers are seeing all my category pages as the same page thus creating duplicate content and duplicate title errors. At this time I have 270 of these critical errors to deal with. Here is an example: http://www.baysidejewelry.com/category/1-necklaces.aspx http://www.baysidejewelry.com/category/1-necklaces.aspx?pageindex=1 http://www.baysidejewelry.com/category/1-necklaces.aspx?pageindex=2 http://www.baysidejewelry.com/category/1-necklaces.aspx?pageindex=3 http://www.baysidejewelry.com/category/1-necklaces.aspx?pageindex=4 All of these pages are see as the same exact page by the crawlers. Because these pages are generated by a SQL database I don't have a way I know of to fix it.
Web Design | | bsj20020