使用以下技术开发的应用程序:
该项目由 2 个模块组成:
模块由两个HTML页面组成,MVC架构。位于./modules/Application
技术
HTML5。 CSS、PHP、jQuery、D3.js
基本结构
系统接口
与 Api 模块的接口,该模块使用通过一系列返回 JSON 的端点公开的 Web 服务,并使用这些端点动态构建报表图形。
RESTful Web 服务层。位于./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 迁移配置参数位于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 持续集成服务器上使用的配置文件scrutinizer.yml
。
可以通过文档标题下的徽章查看代码质量、测试覆盖率和上次构建的状态的评估。
注意:可以在 ./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 >