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
-
Can someone please help with technical question!
I have noticed that our website tool to get a quote does not work with active scripting disabled is this bad? How many people have this disabled?
Web Design | | BobAnderson0 -
Schema question
What if an info, like an address, is not visible in my content but I would like Google to know the address through a schema markup like the following sample? Is it ok with Google and their guidelines? , , Here's what Google says from this link https://support.google.com/webmasters/answer/1093493?hl=en&topic=1724124&ctx=topic though it is quite confusing for me: "In general, Google won't display any content in rich snippets that is not visible to human user. It can be tempting to add all the content relevant for a rich snippet in one place on the page, mark it up, and then hide the entire block of text using techniques like display:none, value-title, css etc. Don't do it! Google will ignore content that isn't visible to human users, so you should mark up the text that visitors will see on your web pages." Is it ok if the content is not visible to users but included in a meta tag? Thanks in advance!
Web Design | | esiow20130 -
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 -
Keywords in url - specific case question
There are a bunch of questions about keywords in the url and so far what I've gathered is that it's good to have them but keep it simple so it doesn't look stuffed. I'm working on redesigning some sites that were originally setup by a group who had no understanding of SEO (or perhaps I should say a misunderstanding) and spent a lot of time stuffing keywords EVERYWHERE. In some cases they weren't too far off but in others I think they just went overboard. One of the areas I'm trying to fix are the paths which leads to the following concerns. One of the sites has a basketball section and through the use of the Adwords keyword tool they determined that most people are searching for "basketball hoops". My first question is, how reliable are the monthly search numbers in the Adwords keyword tool? Are they accurate enough to warrant forming keyword strategies based on the results? As it relates to the url issue, the current tree for the basketball section of the site looks like this: /basketball (the landing page for the whole section, there are other sport specific pages as well) /basketball/hoops (goes nowhere. not sure why they didn't just go to /basketball-hoops/x for other pages) /basketball/hoops/72in-backboards (the systems are split into three different backboard sizes, these pages group them onto one overview page per size) /basketball/hoops/72in-backboards/specific-basketball-goal (the actual basketball goal details page with options to buy and such) So what I'm wondering about this setup is: does having /basketball/hoops take care of having the "basketball hoops" search term or would it be more effective to switch to /basketball-hoops? If it's fine to leave it at /basketball/hoops, do you think it would be beneficial to create an actual page for that path? We found that actually more people search for "basketball basket" than "basketball hoops" so maybe that would be a good page to try to make use of that term and explain maybe why people think "basket" instead of "hoop" and why we call ours "goals" or something. I tend to navigate pages by deleting path arguments and I hate when I land on a nonexistent path so I'm leaning toward changing the paths but just don't know if it's worth it at this point. Additionally, on one of the other sites, we have a domain that is the main keyword we want to rank for: swingsets.com The other company I mentioned then decided to put all of the product pages under: swingsets.com/swing-sets/{category}/{set-height}-{'swing-set'|'playset'|'swingsets'|'play-set'|etc...}/combo{#} So that comes out to look something like this: swingsets.com/swing-sets/outback/5ft-playsets/combo2 I've never liked that path setup. It looks stuffed to me, especially once they start using '5ft-swing-sets' and '6ft-play-set' on other product pages. It's inconsistent which is another issue I have since I tend to surf by path. Another issue with that setup is the final argument of combo{#} but there's nothing I can really do about that because they call the products out as combinations. The only actual product name is the "outback" part. I've been trying to come up with a better path setup for a long time now but again I'm concerned that I may just be wasting my time. The only thing I did do was make the height section consistently {height}-playsets. Is that good enough or should these paths remove /swing-sets from the beginning? The actual /swing-sets page is a good and valuable landing page but then I'm not sure if it remains valuable to keep it in the paths for the product pages afterward. Any insight into this dilemma would be appreciated. I've been stewing over this for a long time and my reasoning always becomes circular since I can see plenty of reasons for keeping them the way they are and simplifying them.
Web Design | | EscaladeSports0 -
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 -
Getting a lot more duplicate content warnings than I expected.
I run WordPress on many of my sites and a site crawl has found MANY duplicate content pages on the latest domain I started a campaign for. I expected to see quite a lot on the tag pages that only had one post but even tag pages with multiple posts and author and category pages with many posts are showing as duplicate content. Is this normal for a WordPress site to have so much duplicate content warnings from the taxonomy pages? I have the option to bulk noindex, follow the category and tag pages but should I do it? I get some traffic directly to the tag pages so removing the pages from search results would dent the traffic of the site a little (generally high bounce rate, low engagement traffic anyway) but could removing the apparent duplicate content actually improve the article pages themselves? Or does anyone have any WordPress specific advice for making the pages not duplicate content? I've toyed with the idea of just displaying excerpts but creating manual excerpts for the 4 years worth of posts, some of which I have no personal knowledge of the subject matter so other suggestions are welcome.
Web Design | | williampatton0 -
Question About Site Redesign and Nav / Page Structure
Hey guys, i am currently redesigning our company's site, and have come across some things that I'm not quite sure of. We used to have individual service pages in our main navigation (design, video, marketing) before the redesign. In this new design, i had the idea of making just one "services" or "capabilities" page, where these three services would each be outlined, and each service would have a list of links to more specific landing pages. Obviously, breaking it up correctly with HTML5 using the andtags. What I'm wondering is that if i'm going to be penalized for having those three services that aren't necessarily related too closely on the same page as opposed to having the one page for each service (like we have now). Any help would be greatly appreciated, and let me know if i need to elaborate more. Thanks in advance!
Web Design | | RenderPerfect0 -
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