Add new comment

I had the experience of working with F3 v2 (had a serious injection risk in its template engine). Also I had the experience of ASP.Net 3.5 framework. I started Yii1.1 in 2012 and it was really excellent (however had some bugs in jquery, previously I was experienced in jQuery too) next in Yii2 with a rational set of changes for migration they kept their way as excellent. But ALWAYS there was a weakness : huge and heavy AR (ActiveRecords and ORM) I can't rely on it however Yii1 and 2 have excellent model and component classes for extending but particularly AR is weak. AR ORM is not only useful for DBMS independency but even when you have your criteria of RELATIONs in your own models you will have a less buggy code (each relation code is defined in one root model code only not spread through the db codes).

But the AR weaknesses is not only about being heavy, we have bugs too for example Yii2 currently AR joinWith actually is not working as it must be (described in my git pull) because you have still two queries with their schema query instead of just one single join query. It is due to assigning values to the "withed" relative :) sub-model because the ambiguous column names can't be distinguished during join but you know it is easy to make aliases in the query builder layer automatically to solve the problem. Another weakness was about not respecting to the sort of our joins. We may want to filter a set of rows using a tmp innerjoin before making a huge other join but AR will not respect it :

SELECT * FROM x
INNER JOIN (SELECT 1) AS tmp ON x.ISO="asd" --I need this line to stay here because it is faster than puting in the WHERE clause at the end 10+10 < 10*10
LEFT JOIN y ON y.ID=x.yID

Also this style of query optimization is not respected in the framework itself forces me to be after a solution such as doctrine-orm independently. Fortunately Yii2 authentication and filters layer(my handled authorization for special cases) easily can be used with other types of ORMs (not limited to Yii AR), TnxFSM  because AR traits are so huge and useless in many cases.

At the end I can say Laravel is similar to F3 but I always was worry about the performance benchmark of Yii2 vs Laravel5 in real busy situations... however many people tells us Yii2 is lighter.

The content of this field is kept private and will not be shown publicly.