quioteframework/propulsion
Composer 安装命令:
composer require quioteframework/propulsion
包简介
Propulsion is an object-relational mapping (ORM) for PHP, forked from Propel 1.
关键字:
README 文档
README
Propulsion is an object-relational mapper (ORM) for PHP, forked from Propel 1 and modernized to target PHP 8.5+.
Propel 1 development had wound down and the project was effectively
unmaintained; Propulsion picks up that codebase, renames it, and carries it
forward — modern PHP syntax and types throughout, Phing replaced by a plain
console app, PostgreSQL promoted to the default/recommended database, and
ongoing bug fixes. See NOTICE.md for attribution details and
KNOWN_ISSUES.md for a running log of what's changed and what's still in
progress.
Database support
PostgreSQL is the recommended and default database for new projects
(PostgreSQL 15+; see KNOWN_ISSUES.md for the version-support note). It's
what this codebase's own test suite, CI, and code generator default to —
generator/default.php's propulsion.database is pgsql out of the box, and
PgsqlPlatform gets the most feature-parity attention of the bundled
platforms. MySQL, SQLite, Oracle, and MSSQL/SQL Server are also supported and
exercised by the test suite, and remain a simple per-project override — set
propulsion.database in your own build.php (a plain PHP file returning an
array; --config, repeatable, on the console commands — a legacy
build.properties text file is also still accepted), or pass --database
directly, if you need a different target.
Logging
Propulsion logs through PSR-3
(Psr\Log\LoggerInterface). It does not bundle a concrete logger
implementation — bring your own (e.g. Monolog,
or any other PSR-3 implementation) and register it once, typically right
after Propulsion::init():
use Propulsion\Propulsion; use Monolog\Logger; use Monolog\Handler\StreamHandler; Propulsion::init('/path/to/runtime-conf.php'); $logger = new Logger('propulsion'); $logger->pushHandler(new StreamHandler('/path/to/propulsion.log')); Propulsion::setLogger($logger);
If no logger is registered, Propulsion::log() is a no-op and nothing is
written anywhere — there is no implicit fallback to error_log() or a file
on disk.
Propulsion::LOG_EMERG .. Propulsion::LOG_DEBUG are aliases for the corresponding
Psr\Log\LogLevel::* string constants, so existing call sites like
Propulsion::log($message, Propulsion::LOG_ERR) keep working unchanged.
A PropulsionPDO connection can also be given its own logger, overriding the
globally-registered one for just that connection:
$con->setLogger($logger);
统计信息
- 总下载量: 0
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 2
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-07-05