Приложение разработано с использованием следующих технологий:
Проект состоит из 2 модулей:
Модуль, состоящий из двух HTML-страниц, архитектура MVC. Находится в ./modules/Application
Технологии
HTML5. CSS, PHP, jQuery, D3.js
Базовая структура
Системные интерфейсы
Интерфейс с модулем API, который использует веб-службы, предоставляемые через ряд конечных точек, возвращающих JSON, с помощью которого графика отчета строится динамически.
Уровень веб-сервисов RESTful. Расположен в ./modules/Api
Технологии
PHP, MySQL, Доктрина
Он состоит из ряда конечных точек, к которым обращается страница результатов, которые предоставляют данные для графиков на странице результатов.
Открытые конечные точки
$ git clone [email protected]:diegoangel/informe-gei.git
$ cd informe-gei
$ git checkout zf3-version
$ composer install
Измените учетные данные подключения, если применимо, и запустите:
mysql -u root -proot -e " CREATE SCHEMA informe_gei "
Данные конфигурации подключения необходимо поместить в файл config/autoload/local.php
.
. . .
return [
' doctrine ' => [
' connection ' => [
' orm_default ' => [
' driverClass ' => PDOMySqlDriver::class,
' params ' => [
' host ' => ' 127.0.0.1 ' ,
' user ' => ' root ' ,
' password ' => ' root ' ,
' dbname ' => ' informe_gei ' ,
' charset ' => ' utf8 ' ,
]
],
],
],
];
Этот файл не будет существовать, поэтому вам необходимо создать его, скопировав, вставив и переименовав файл config/autoload/local.php.dist
.
cp config/autoload/local.php.dist config/autoload/local.php
Кроме того, этот файл игнорируется в репозитории контроля версий, поэтому учетные данные подключения никогда не будут случайно переданы и останутся в безопасности.
Функциональность проекта Doctrine Migrations используется для управления изменениями и версиями базы данных. Чтобы узнать больше о возможностях или работе этого инструмента, предлагаем перейти по ссылке на документацию проекта.
После настройки базы данных приступайте к начальной загрузке данных.
Чтобы запустить его, выполните следующую команду:
./vendor/bin/doctrine-module migrations:migrate
Затем вы будете проинформированы о том, что команда вот-вот будет выполнена, и о ее возможной критичности, и вам необходимо ее подтвердить.
Loading configuration from the integration code of your framework (setter).
Doctrine Database Migrations
WARNING ! You are about to execute a database migration that could result in schema changes and data lost. Are you sure you wish to continue ? (y/n)
Нажмите на букву и
Параметры конфигурации Doctrine Migration находятся в файле config/autoload/global.php
. . .
return [
' doctrine ' => [
// migrations configuration
' migrations_configuration ' => [
' orm_default ' => [
' directory ' => ' data/Migrations ' ,
' name ' => ' Doctrine Database Migrations ' ,
' namespace ' => ' Migrations ' ,
' table ' => ' migrations ' ,
],
],
],
];
Запустите консольный сервер на порту 8080 и перейдите по адресу http://localhost:8080/, чтобы проверить нормальную работу веб-сайта.
Примечание. Встроенный PHP-сервер предназначен только для разработки . В рабочей среде используйте Apache, Nginx или другой сервер, соответствующий вашим требованиям.
$ php -S 0.0.0.0:8080 -t public/ public/index.php
# O utilizar el alias definido en la sección scripts de composer.json:
$ composer serve
Проект поставляется с режимом разработки по умолчанию, который полезен для объявления конфигурации, которая будет работать только в локальной среде разработчика, чтобы, например, иметь возможность установить соединение с тестовой базой данных, среди прочего. Предоставляет три псевдонима для включения, отключения и запроса статуса:
$ composer development-enable # habilita el modo desarrollo
$ composer development-disable # deshabilita el modo desarrollo
$ composer development-status # informa sobre si esta o no habilitado el modo desarrollo
Два набора модульных тестов были созданы с использованием PHPUnit.
./module/Api/test
./module/Application/test
Запустите следующую команду в консоли.
$ ./vendor/bin/phpunit -v --debug --testsuite Api
$ ./vendor/bin/phpunit -v --debug --testsuite Application
Вы можете запустить оба пакета с помощью команды:
$ ./vendor/bin/phpunit -v --debug
Чтобы создать отчет о тестовом покрытии, выполните следующую команду в консоли, а затем откройте файл ./data/coverage/index.html
в браузере.
$ ./vendor/bin/phpunit -v --debug --coverage-html data/coverage
Если вам нужно добавить локальные изменения в конфигурацию PHPUnit, скопируйте phpunit.xml.dist
в phpunit.xml
и отредактируйте новый файл; последний имеет приоритет над первым при запуске тестов и игнорируется системой контроля версий. Если вы хотите навсегда изменить конфигурацию, отредактируйте файл phpunit.xml.dist
.
Использовал Scrutinizer CI для запуска:
Вы можете найти файл конфигурации scrutinizer.yml
, который мы используем на сервере непрерывной интеграции Scrutinizer.
Оценку качества кода, тестового покрытия и статуса последней сборки можно просмотреть по значкам, расположенным под заголовком документа.
ПРИМЕЧАНИЕ. Дополнительную информацию, такую как изображения, технические документы и снимки экрана с информацией об отчете по проекту, можно получить в папке ./doc.
Пример функциональной конфигурации в Apache.
Например, этот пример не предполагает объявления уровней ведения журнала, расположения файлов журнала или специальных правил перезаписи.
< VirtualHost *:80>
ServerName informe-gei.local
DocumentRoot /var/www/html/informe-gei/public
< Directory /var/www/html/informe-gei/public>
DirectoryIndex index.php
AllowOverride All
Order allow,deny
Allow from all
< IfModule mod_authz_core.c>
Require all granted
IfModule >
Directory >
VirtualHost >