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
-
Thinking about redesigning site to reduce bounce rate - have a couple of questions
BACKGROUND Im looking at redesigning the website for a creative consultancy to improve the user experience. The website is mainly an image portfolio along with “press”, “our services”, “about us”, “contact” pages. I originally designed the website a few years ago and when we did, we wanted to make the image portfolio the most important feature. So we made it a full screen JS image slider with lazy loading of images, so that there are about 40 full screen images on the homepage that rotate. From a users point of view i still feel this is the best system as it very quickly allows them to browse the portfolio, which we looking for a creative consultancy is their UPS (unique selling point). The site has a very strong backlink profile compared to its competitors in the SERPS it has about 20-25% increase in PA and DA. But our site has been slipping down the rankings in recent years / months. From spot 1-2 to about spot 5-7. MY HYPOTHESIS I think that the reason the site may be dropping back in the SERP is that although its a very usable site, all its portfolio information is “too easy to find / view” and results in a user coming to our site, seeing everything they need to see, then bouncing back to the SERP. Our site has a bounce rate of 40-60%. Where as on competitors sites, their “portfolio” is a separate page off the homepage, so a users has to click through to a separate page, and even if they don't like the design content of the portfolio it doesn't get logged as a bounce. MY QUESTION Does bounce rate affect SERP ranking ? Could the sites SERP performance be improved by redesigning the site to put the portfolio on a separate page so a user would have to click through to it, if that would get the bounce rate down, would the site see a benefit even if people still clicked back to the SERP results eventually after seeing our portfolio, even though it wasn't a true 1 page bounce ? Dose time on site affect SERP ranking ? Is there a way i can see a competitor's bounce rate ? Would welcome any other thoughts inputs on this matter.
Web Design | | sl_pa0 -
Self-Generated Backlinks Question
I'm kinda new to the whole backlinks thing. My company does website design and we have, historically, included a statement in the Footer of the websites stating "Website by Our Company" linking back to our own website. Should we be NoFollowing these links? Are they hurting us in any way? Are there any best practices for this?
Web Design | | roger2051 -
URL Re-Mapping Question ?. Do I need to the theme of my business in my url struture even though GWT knows what my site is about
Hi All, I have currently planning to do some url remapping on my Hire Website as alot of most important pages are far to many levels deep from the root domain. This is also making my sitemap not tidy etc. In GWT, Google knows that the theme is my website is Hire as it's the top word. Therefore do I still need to use the word hire in all my new url categories / structures or not ? Examples http://goo.gl/BFmvk2 I was thinking of remapping to www.xxxxxxx.xco.uk/tool-hire-birmingham http://goo.gl/pC9Bdp I was thinking of remapping to www.xxxxxx.co.uk/cleaning-equipment Notice in the later example , I do not have the word rent in the url. Any advice is much appreciated thanks peter
Web Design | | PeteC120 -
No cache meta tags - does it help Google get back and reindex faster?
I saw these meta tags on a site and am trying to figure out their benefit. These meta tags are on the home page, product pages, every page of the site. Will it cause search engine bots to come back and index pages faster? Will it cause slower page loading in browsers if nothing is cached? http-equiv="pragma" content="no-cache"/> http-equiv="cache-control" content="no-cache,no-store,must-revalidate"/> http-equiv="expires" content="0"/>
Web Design | | CFSSEO0 -
A Not Linked Page Question
Hello, I have a page for opening an account in my website, this page is not accessible from my website menu, the only way to reach this page if you have the URL, I send the URL for specific users I want them to open an account in my system. I have two questions regarding this: does this harm or cause damages to my website SEO ? blocking this page in Robots.txt will cause any issue/will help ? waiting for your answer.
Web Design | | JonsonSwartz
Thanks in advance,
Joni.0 -
Question re. crawlable textual content
I have a client who is struggling to fit crawlable textual content on their pages. I'm wondering if we can add a "Learn More..." feature that works as a mouse over pop up. When a page visitor runs their curser over the link or button, a window bubble pops up and textual content about the page will show. Not knowing much about code, can text in this format be crawlable by search engines and count as unique and relevant content? Thanks, Dino
Web Design | | Dino640 -
Homepage Title Question? Multi-Keywords or All Encompassing Keyword
Okay so I am currently redesigning my company's webpage. I am making it responsive and giving it a more up to date look with newer features, etc. A facelift, basically. While updating the site i'm also doing some on-page optimization here and there, and am curious about the page title for my homepage. My company offers video production, web development & design, and web marketing. While we do offer each service individually, we are really trying to sell the combination of all three services to our clients and show them how they can work together effectively. Now my question is, in my homepage title, should i list each service offering keyword (which is what i do now) like this : "Video Production - Web Design - Web Marketing • Company Name" Or, should i try to find one keyword that kind of sums up what we do, like this: "Magic All-Encompassing Keyword • Company Name" I'm thinking that since three sort of unrelated keywords are in the page title, it may be viewed as over-optimizing and we won't see as good of results as just focusing on one keyword, which leads me to think that i should try to sum all of our services into one "all-encompassing" keyword such as "media production", which isn't the best choice, i'm just throwing it out there for the sake of this discussion. Any thoughts or ideas would be greatly appreciated. Thanks.
Web Design | | RenderPerfect0 -
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