I'm about to start a new PHP project of my own, let say is a CRM SaaS.
I'm no PHP expert, I've been developing very simple PHP/MySQL websites for several years. I know CSS, jQUERY, etc. enough to figure out how to do specifically what I need at that moment.
Few months a go I found out about the existence of PHP frameworks so I was thinking to check them out.
I haven't got into the project yet, and I haven't use a Framework before, I will study OOP and Secure PHP before getting into it.
Now, how about having my project in 2 main stages:
For the sake of having the project up and running fast to our (local first)market, we could use the essential data managing features the Framework already offers.
We'll be sticking with its own way of "showing" and "linking" stuff(the "views" I guess).
After all, the Project is mainly logging in and managing good amount of data(contacts, products, blog, messages, purchasing orders, users, etc. etc.)
So, our customers having the ability to manage this, is already a good situation as they don´t have used other online applications to compare it.
This stage will be solid, secure and promptly delivered.
Now, stage A) is NOT the main idea, my plan is to have it the best way possible specially in its interface, for example like how facebook manages every click and option as easy and fast as possible.
So this interface and functionality improvements will be added latter, I'm talking about how the table grid reacts in certain regions or links, a dashboard with certain data, etc...
and here is what I don't know how hard is going to be, but, I suppose that because the views and html is customizable, I will be able to do whatever I need to integrate jquery, ajax, css, etc etc. right?
what you guys think?
Or should I even consider to use a Framework at all?
(Yii is on my top option)
Frameworks do not provide default user admin… that would be a cms. All a framework does is give you tools to build what you actually want. That is very different from something like Joomla or Drupal which do provide a admin area. However, when dealing with a cms it is just about impossible to change the administrative work flow. If your going to do that you might as well start with a Framework and build the entire thing front-end and admin from scratch. Creating an admin area from scratch is no easy task and likely to take several months or more depending on the business requirements and features exposed to the end user through the GUI. So if you pick a cms your pretty much stuck with the work flow it provides unless your going to do some really heavy lifting in terms of customization. However, the advantage is the admin area is already built for you. Though a disadvantage in that department open source cms admin areas, the more generic the system the less user intuative the GUI will be. None the less if you are going to use a framework I highly recommend Symfony 2. The way Symfony 2 has been built really kind of forces you to follow good practices even if you don't exactly understand what they are. That is why I would highly recommend it considering your not very familiar with OOP nor MVC.