Answer the question
In order to leave comments, you need to log in
Framework choice?
Dear Habrasobshchestvo,
Lately (several years) I have been writing mainly using CodeIgniter. I was very happy when the movement on the second branch began.
At the moment, a fairly large project (more than 1 year of work), highly loaded, with some specifics, is being actively designed. It was also planned to do everything on Code Igniter. But then, like thunder, it dawned on me that I was doing something wrong. I wrote almost according to the recommendations described on the CI community sites, so I did not immediately understand the catch - working with objects.
In fact, CI operates very loosely with them and there is no ORM.
The built-in Active Records class returns either an array, or objects - an array wrapped in a StdClass, which is not at all what you need.
Inheritance is also very strangely implemented, although this moment has found how to get around it.
Despite these nuances, the framework has proven itself quite well.
Now I’m thinking about what to do wrong with this knowledge, now realizing it, and refusing all these charms in advance, but trusting my experience, or look towards a new solution that will save nerves, make the project more technological, fault-tolerant and increase skills of the whole team.
I started looking around - so far I have my eye on Yii, but there are very few sensible and up-to-date reviews, mostly a lot of holivar, or behind the prescription from 2008-09 :(
Sorry for the long question and an excessive amount of philosophy, I tried to explain all the conditions and tasks .
PS as front-end there will be 2 tails. One html, almost not loaded. On the second - extJs.
Answer the question
In order to leave comments, you need to log in
Hmm, stay on CodeIgniter since you know him so well. And you need an ORM (why do you need it if the project is highly loaded ???) object you have two ways:
1. Extending your models through MY_Model by making a method for issuing a result in the form of an object you need, which behaves like an Iterator and ArrayAccess is not difficult.
2. Connect any other ORM from Doctrine, Propel, PHP-ActiveRecord all this is just as easy to do and there are tutorials on the net.
IMHO, before writing a project, you should not start rushing about in search of the best technology, you need to take the tool in which you are special.
Experience:
Zend Framework 1 - since 2010, but rarely
Kohana - since 2011, often, projects of low complexity
YII - since 2011, while two projects of medium complexity
Symfony - 2011, since the release of a stable version, in March the first release of a long-term project was launched into production
Now, finishing the project on symfony2, I can say with confidence that although I liked Yii, I will not return to it with Symfony2, I believe that in the near future it will be Symfony2 and Zend Framework 2 that will set the pace, and the rest will catch up with them.
Separate moments that I especially liked in sf2:
- A bunch of Symfony2 and Doctrine2, working with a database has never been such a pleasure
- Twig template engine. I used to be a supporter of the proponents of saying that PHP itself is an excellent template engine, but now I realized how wrong I was
- a VERY flexible and advanced form generator. It comes with excellent integration with Doctrine2, in just a couple of lines of code you can save everything to a database with proper validation.
- Very flexible architecture, thanks to DIC, you can change just about anything. Modularity! You can disable anything and connect anything. In fact, this is a set of components, they can even be used separately.
- Works fast. At first, this aspect bothered me, because I didn’t understand how such a colossus could work quickly, but it turned out that the package included production settings that impressively overclock the system. Symfony1 in this case is the reason for the opinion that Symfony is slow, Symfony2 is a completely different framework, reliable and fast.
— PHP 5.3. and imminent transition to PHP 5.4
- Sources of modules and the core are located on github. All development goes there. It is very convenient to follow the changes. As a git user, I really approve of the use of this particular VCS
- Dofiga modules (bundles) from the community, this is just half a year since the release! A simple but convenient package manager that updates the kernel and modules automatically.
- Good documentation
- Very thoughtful project structuring
- Level up in terms of raising experience, a lot of new solutions
. I also note that the code is very clear and clean, on a par with ZF, only Kohana's code is better and clearer. Worst of all the code of the four with which I worked with Yii ... well, not worse, just peculiar, not quite up to standard, I could not get used to it.
What is not very good:
- The entry threshold is above average, I started to "feel" the system only after a month
- The documentation could be more detailed, by the way, the community is now working on it
Kohana is a good framework, but too "simple" for large projects.
Yii is good because many things have already been written for you, designed as extensions, many complex things are done in one line (although several times I have encountered the fact that very simple things cannot be done with one line =)).
If the project is large, then Yii or Symfony2. I do not recommend a major project to Kokhan.
In general, since the project is for a year or more and you are mentally ready for a new one, then this is an excellent reason to look towards RoR.
both paws for Yii - maybe there are no reviews about it (I didn’t look, I confess), but:
- a lot of documentation
- a strong community
- very flexible and well thought out
Yes, and after CodeIgniter, kmk, it will be very easy to switch to Yii.
Symfony2 + Doctrine or Doctrine + CodeIgniter
I would advise you to stay exactly what you know well, and generally read more about the architecture of highly loaded applications, design patterns, design database structures. This will help you more than choosing a simpler or more complex framework, you can implement a good application on any of them. I advise you to read "Architecture of Enterprise Software Applications" by Martin Fowler
If you plan to use extJS then take a look at Yii. There is a ready-made lib www.ext4yii.com/ which can make it easier to work with extJS directly from Yii
I myself love and write in Kohan, but I'll think about switching to Yii.
1. Look in QA, there have already been several similar questions.
2. Everyone will advise their favorite framework.
So I can advise Symfony, I have already tested it on a fairly large project with my team and are happy with everything.
Am I the first to vote for Zend Framework?
Powerful, flexible, with a guarantee from the manufacturer. :)
Big, yes, but that doesn't mean it's a minus.
Yii or Symfony2. If you are interested, ZF2 is also very promising (for study), but it is obviously too early to do serious projects on it.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question