Как сгруппировать php классы? - PullRequest
1 голос
/ 16 августа 2011

Мне интересно, как лучше группировать мои классы PHP.В тот момент, когда я создаю новый класс, я добавляю много require_once "FancyClass.php"; сверху, чтобы я мог использовать уже встроенную функциональность, и мне интересно, как этого избежать.

Я прочитал это в PHP 5.3Есть пространства имен, но есть две причины, которые заставляют меня думать, что они не лучшее решение для меня.Прежде всего, насколько я понимаю, что они используют мой FancyClass.php, я должен снова написать require, даже если я нахожусь в том же пространстве имен.Вторая причина заключается в том, что я занимаюсь разработкой небольшого фреймворка и хотел бы ориентироваться на большее количество версий PHP, по крайней мере PHP 5.2 +

У меня есть опыт работы с C # и java, и у них есть пространства имен и пакеты, которые действительно упрощаюттвоя работа.Есть ли в PHP что-то похожее или есть обходной путь?

Ответы [ 3 ]

4 голосов
/ 16 августа 2011

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

1 голос
/ 16 августа 2011

В основном я использую включаемые файлы, такие как «xml.inc.php», в которых мне требуются все мои классы, необходимые для обработки операций XML.В файловой системе вы можете использовать ту же иерархию.Таким образом, вы получаете тот же подход, что и пространства имен пакетов, как и в других языках.

1 голос
/ 16 августа 2011

Вы, вероятно, хотите это: http://www.php.net/manual/en/language.oop5.autoload.php

...