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
-
International SEO | Question about Hreflang
Hi, I have an International SEO question and would like to get some help from Moz forum: Our company has a Taiwan office for a few years already, but never had any Traditional Chinese (lang code: ZH-TW) webpage publihsed on our site: https://www.abc.com. The regional team recently has built a 50 page ZH-TW microsite based on translations from select pages from abc.com. The site will have it's own navigation. Currently our CMS doesn't have a language directory to support ZH-TW (such as https://www.abc.com/zh-tw) If we do not add a directory, the pages would have to be published as ZH nodes (for Simplified CHINESE) with ZH language tags and canonicals. The only tag we can set for ZH-TW would be the Hreflang tag. Example:
Web Design | | ThinkingPanda0 -
SSL, SEO, and Site Migration question
When migrating a site to a new url and one where the old url had no https and the new url will be full https does it matter if the 301 redirect points at http://thisisthenewsite.com ? Meaning, should the new site have the ssl / https up prior to redirecting the old site? Does it matter if you redirect the old site to http://thisisthenewsite.com or https://thisisthenewsite.com? Since the site will force to https anyway?
Web Design | | Atlanta-SMO0 -
Q&A DB Script For Client Questions
Our clients usually have a lot of questions about our industry. We implemented Facebook comments (see bottom of: http://www.jwsuretybonds.com/info/faq.htm) on many pages throughout the site to allow our clients to ask whatever they'd like and build additional content using copy on how our clients speak, not industry expert vocab... I have some problems with FB comments: Our answers only show to people logged into FB. For others it looks as if we don't reply. The data pulls from FB, so we don't own it and it is slower than our server. You need a Facebook, Yahoo, or Hotmail account...I want anyone to be able to ask a question. Can anyone recommend a script that accomplishes our Q&A functionality using our own database? Also, I'd like to allow anyone to post without a requirement of an account. If I had a WordPress site, I suppose this would be easier, as I'm sure there are various comment solutions, but I have a HTML\PHP based custom built site.
Web Design | | TheDude0 -
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 -
Schema question
Caresma Building
Web Design | | esiow2013
Alamang St., Bel-Air,
Makati City,
Philippines
1209 (632) 890-0062
jane-doe@xyz.edu Question 1: What is the difference if i remove itemprop="address" after the Question 2: Do i need this line or should I remove it since "telephone" and "email" are also under "PostalAddress"? Thanks in advance! 🙂0 -
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 -
Changing the domain - To do or not to do - that is the question
Hello, I am in the process of updating my website (hopefully to improve SEO). It is a major update as we are going from 20,000 product line to 200,000 product lines and hiring two marketing people to work on more content. Unfortunately, I think my domain isn't the best i.e. www.direct-tractorparts.com Some of the parts have long part numbers and I am worried that my URLs will be too long i.e. I will lose link juice from the search engines. typical url www.direct-tractorparts.com/6XY41210TTTAZCAz2 I am thinking of launching the new site with a shorter domain name rather than updating the old site. My site doesn't have that many backlinks but generates a decent level of business for my company. Not sure if it would be worth setting up another brand or not Anyone got any advice?
Web Design | | DavidLenehan0 -
Wordpress vs. mvc framework
What's the benefits of choosing an mvc framework such as codeigniter or cakephp over wordpress? Wordpress has so many plugins, and a universally known UI for customers, it just saves a ton of time. However, a lot of the 'big guys' like SEOmoz and Distilled(?) use Cakephp and other mvc frameworks so it has me wondering what the benefits are...... anyone?
Web Design | | DonnieCooper2