I have a website built in PHP 4 with a framework made by hand by me. The code is 3 years old and I am limited (well it requires a lot of effort to make changes).
I decided to do new version of this website. My knowledge has since increased, and now I know that a lot of frameworks exist and that IOC is there and ORM too... The problem is that in all my research, I do not find something that satisfies me completely in PHP. On the other hand, at my job (mostly in .Net winform 2.0) I see many good IOC and other solutions possible, and, I think that .Net is more mature for developing software with best-practices.
I haven't found many good IOC for PHP. As for ORM, I have seen Propel, which looks nice, but haven't found a complete Framework too (Symfony documentation isn't up-to-date, contains lot of error; Zend looks too big I think...), etc.
Do you suggest that I simply try another framework and keep the website in PHP, or would it would be a good idea to switch to .Net?
Reasons of this question
- The system works but has begun to slow down (since it has more users). The database is normalized too much... etc.
- The code isn't bad - business logic is separated of the HTML - but the problem is that controllers are inside the view so it's harder and harder to make some layout changes.
- No unit tests have been done, and it's very "stressful" to make change.
- There's no logging in the system, and it's hard to get a snapshot to see if everything is working properly.
More information (added the 3 nov 2008)
- I know .Net 2.0 this is why my alternative is .Net and not RoR.
- I were suggesting an other language not for the speed issue but for the tool/framework available.
- It's slow because of the database normalisation, too many table that are great in theory but not in practice (we learn from our mistake!)
- It's an hobby, but I take it seriously cause I have over 25 000 users registered since the beginning (not all active).
Current suggestion from people over here
I think I'll keep what I have done and try to do some refactoring slowly. I am surprise that most of the vote have been to keep the current system but well :P this might be the simpler for me for the short term.
Thx to nickf who has spell check all my text.