Правильное сравнение PHP фреймворков

22 Марта 2014

В интернете существует огромное количество различных сравнений фреймворков.

Все они сравнивают фреймворке по скорости, памяти, популярности. Однако это неправильное сравнение, ведь не это самое важное при выборе фреймворка. Гораздо важнее, это то, какую структуру приложения предлагает фреймворк, какие функции берёт на себя, и насколько качественно написан сам фреймворк.

Одной из мер качества кода может быть цикломатическая сложность. Я решил сравнить популярные фреймворки с помощью этой меры. А также посмотреть развитие этих фреймворков в динамике.

На графике отображено изменение отношения цикломатической сложности к количеству методов для всех релизов соответствующих фреймворков. Для подсчёта цикломатической сложности воспользовался замечательной библиотекой Себастьяна Бергмана phploc.

На графике видно, что Symfony слегка выигрывает у ZF по качеству. Laravel же скачет между ними, но в общем тоже держится на хорошем уровне. CakePHP стал гораздо лучше, чем когда он появился, однако похоже нашёл свою асимптоту. Yii же пока не показывает хороших результатов.

Ссылки