atsmacode / framework
包含基本数据库、模型和配置资源的仓库
Requires
- doctrine/dbal: ^3.5
- laminas/laminas-config-aggregator: ^1.12
- laminas/laminas-servicemanager: ^3.19
- monolog/monolog: ^1.22 || ^2.0 || ^3.0
- symfony/console: 5.4.* || ^6.0
Requires (Dev)
- phpunit/phpunit: ^9.5
This package is auto-updated.
Last update: 2024-09-26 13:18:47 UTC
README
我创建此仓库是为了提供一些基本资源,用于我在其他项目中的使用。
它基本上包括以下内容
- 迁移命令
- 基于容器的数据库连接
- 模型类
这主要用于我个人使用。
环境
PHP
8.1.3
MySQL
8.0.13
命令
Linux
运行单元测试套件
dev/phpunit
Windows
运行单元测试套件
.\dev\runtests.bat
用法
示例配置和迁移主要包含作为当前使用此框架的示例。
迁移器
您可以使用基本迁移器迁移任何一组类。包含的CreateDatabase类可用于删除/创建数据库。
在ExampleMigrator中,构造函数中传递了一个Laminas\ServiceManager\ServiceManager,它在app/FrameworkConfigProvider.php中设置了一个数据库连接。
基础app/Console/Commands/Migrator.php查找Atsmacode\Framework\Database\ConnectionInterface,并使用给定的数据库凭据进行所有迁移。
在整个请求生命周期中,此接口也用于模型数据库连接。
然后您可以使用以下命令运行(-d true表示配置数组中的'test'数据库凭据,移除它以用于'live'数据库)
php dev/SymfonyApplication.php app:build-framework -d true
提供了一个独立的创建数据库的命令(您可以将它添加到ExampleMigrator相同的SymfonyApplication中)
app/Console/Commands/CreateDatabase.php
php dev/SymfonyApplication.php app:create-database -d true
配置
您需要添加framework.php来配置本地数据库凭据,如下所示
<?php
return [
'framework' => [
'db' => [
'live' => [
'servername' => 'localhost',
'username' => 'DB_USER',
'password' => 'DB_PASSWORD',
'database' => 'framework',
'driver' => 'pdo_mysql',
],
'test' => [
'servername' => 'localhost',
'username' => 'DB_USER',
'password' => 'DB_PASSWORD',
'database' => 'framework_test',
'driver' => 'pdo_mysql',
],
]
]
];