アプリケーションは次のテクノロジーを使用して開発されました。
プロジェクトは 2 つのモジュールで構成されます。
2 つの HTML ページ、MVC アーキテクチャで構成されるモジュール。 ./modules/Application
にあります
テクノロジー
HTML5。 CSS、PHP、jQuery、D3.js
基本構造
システムインターフェース
API モジュールとのインターフェース。これは、レポート グラフィックスが動的に構築される JSON を返す一連のエンドポイントを通じて公開される Web サービスを利用します。
RESTful Web サービス層。 ./modules/Api
にあります
テクノロジー
PHP、MySQL、Doctrine
これは、結果ページで参照される一連のエンドポイントで構成され、結果ページのグラフのデータを提供します。
公開されたエンドポイント
$ 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/ に移動して、Web サイトの通常の動作を確認します。
注:組み込み 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
プロジェクトにはデフォルトの開発モードが付属しており、たとえば、テスト データベースへの接続を確立できるようにするために、開発者のローカル環境でのみ実行される構成を宣言するのに役立ちます。ステータスを有効、無効、およびクエリするための 3 つのエイリアスを提供します。
$ 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 を使用して 2 つの単体テスト スイートが作成されました。
./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 >