Я был лидером в Zend Framework в версии 1.0. Мы часто получали комментарии о том, что это не «фреймворк» в том смысле, в котором ожидали разработчики - они сказали, что это скорее библиотека классов.
Они ожидали, что фреймворк больше похож на набор классов, которые должны использоваться вместе для их работы. Фреймворк также может включать в себя набор соглашений о кодировании, которые помогут вам организовать ваш код определенным образом. Также фреймворк может налагать соглашения об именах для ваших классов и объектов базы данных. И, наконец, инструменты генерации кода.
Zend Framework был разработан для слабой связи, так что вы можете использовать любой из классов, если хотите. Это наложило несколько соглашений на ваш код или вашу базу данных. И мы собирались разработать генераторы кода, но еще не реализовали их.
Но я все еще чувствовал, что Zend Framework квалифицируется как фреймворк, а не как SDK, другим способом: фреймворк расширяемый . Он разработан как набор объектно-ориентированных базовых классов, и предполагается, что разработчики либо extend
эти классы, либо пишут простые подключаемые классы, чтобы добавить функциональность.
Традиционный SDK не расширяемый . Вы просто вызываете методы API в предоставленных классах, они делают то, что делают, и вы работаете с результатом. Любая настройка заключается в том, как вы используете API и как вы используете результаты.