SKY / WINGS / FIRST /
CONF1

Если программист не знакомый с SKY. откроет код приложения и увидит файл main/conf.php, по имени файла он интуитивно поймет, что файл содержит некоторые конфигурационные данные. Традиционно практически все веб-приложения содержат файлы конфигураций и наличие файла main/conf.php в SKY., следование традициям, скорее оценивается положительно чем отрицательно. Кроме того, чтобы хранить данные конфигураций в БД, требуется сначала подключиться к ней и БД никак не может хранить данные доступа к ней. Поэтому в SKY. выделяется отдельный файл для первичной конфигурации. Тем не менее, следуя принципу простоты, в нем будем хранить исключительно конфигурационные данные, которые неудобно поместить в БД.

Большинству веб-приложений, так или иначе, требуется хранить некоторые конфигурационные данные в БД, чтобы оперативно (обычно через админ. раздел) влиять на работу сайта, поэтому целесообразно все конфигурационные данные, которые можно не помещать в файл первичной конфигурации, поместить в БД с той целью чтобы они приобрели оперативность и наглядность.

Не нужно хранить данные первичной конфигурации в манере отличной от представленной в SKY Framework. Не нужно данные кодировать некоторым образом, чтобы в конечном итоге их раскодировать и выполнить на PHP, это бесполезная работа. Поэтому этот файл - простой файл на PHP, и все остальные рассуждения нерациональны и есть бред. В 90% случаев, требуется только такое простое решение.

Все приложения SKY. могут поддерживать (различать) инсталляцию на "production" и на компьютере разработчика, причем как минимум, в первом случае, требуется отключать все видимые ошибки и трассировку (чтобы увеличить быстродействие), а во втором иметь максимально удобные средства отладки и визуализацию ошибок. Поэтому в конфигурационном файле определяются две константы: DEV и DEBUG. Следуя принципу простоты, чтобы не хранить разные копии конф. файла на "production" и компьютере разработчика, константа DEV, определяется так:
001
define('DEV', 'WINNT' == PHP_OS);
Если компьютер разработчика не Windows или "production" сервер Windows, вместо того, как чаще Unix подобный, определение константы DEV нужно выбрать по другому, обычно это не сложно. В этом случае вы будете избавлены от риска случайно скопировать конф. файл с компьютера разработчика, что приведет к неработоспособности "production" инсталляции. Кроме того не нужно обеспечивать специальный контроль этого файла с помощью систем контроля версий и отношение к нему будет как к обычному файлу. Если файл исключен из системы контроля версий, будучи измененным, программист может забыть модифицировать файл на production, понадеявшись на систему контроля версий. В общем, по нескольким причинам, решение, которое используется в SKY Framework, следует считать хорошим.
опубликовано ENERGY - 4 Oct 2015 06:30 GMT
последнее редактирование - 4 Oct 2015 10:24 GMT
комментировать