2010-04-24 2 views
1

существует множество фреймворков для кодирования веб-приложений MVC.рамки для кодирования php-библиотеки?

на этот раз im собирается кодировать библиотеку (подумайте о Doctrine или Solr) с кучей файлов классов. u просто включите bootstrap или файл класса, и вы готовы использовать мои классы.

Я никогда не пытался закодировать библиотеку раньше и намеревался ввести код для обучения, чтобы я мог использовать различные шаблоны дизайна, которые я узнал.

Есть ли отличные рамки для этого, как я должен организовать разные файлы классов, где я могу разместить файлы конфигурации и так далее?

учебники или другая информация также будет отличной.

благодаря

UPDATE: его только в целом, а не что-то конкретное. im задается вопросом, существует ли «шаблон», как и для веб-приложений (MVC): должен ли он быть один файл, который он включает, и этот файл будет включать все другие файлы классов? должен ли он быть файл класса, который он включает, или так называемый файл начальной загрузки? Короче говоря, мне нужно знать, как закодировать библиотеку, чтобы каждый разработчик мог использовать ее с открытым исходным кодом.

+0

Дополнительная информация о функциональности вашей библиотеки была бы полезной, asjie. – BenTheDesigner

+0

ive обновил мое сообщение. –

ответ

2

Библиотечный код охватывает столько разнообразных областей, что трудно представить общую структуру для развития библиотеки.

Вообще говоря, вы должны стремиться создать библиотеку, которая (среди прочего):

  • Последовательная - API вашей библиотеки должны быть как можно более последовательными. Например: передаете ли вы стандартные списки аргументов конструкторам или один массив $ config, содержащий пары имя/значение? Если вы предпочитаете фабричные методы, последовательно их реализуйте по всей библиотеке.

  • Эффективный - избегайте загрузки классов, которые не нужны. Выясните, как управлять зависимостями - не просто загружать каждый класс из некоторого центрального сценария начальной загрузки. Рассмотрим структуру каталогов, используемую PEAR или Zend Framework. Это может помочь вам интегрироваться с различными автозагрузчиками, которые ваши пользователи могут использовать.

  • Testable - библиотека с хорошими тестами, которые покрывают ее более ценно, чем без нее.

  • Документировано. Удостоверьтесь в PHPDocumentor и будьте готовы написать дополнительную документацию, которая является тяжелой на примере клиентского кода.

+0

Есть ли хорошие учебники о том, как создать библиотеку? –

2

Общих библиотечных фреймворков нет. Вы найдете API-интерфейсы плагинов или аналогичные, если вы разрабатываете для другого программного обеспечения. В этом случае используйте их. В противном случае не следует делать никаких предположений о том, как должна работать библиотека, и, следовательно, для ее размещения не требуется никакой рамки, кроме языка программирования.

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

Смежные вопросы