Download the PHP package atsmacode/framework without Composer
On this page you can find all versions of the php package atsmacode/framework. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download atsmacode/framework
More information about atsmacode/framework
Files in atsmacode/framework
Package framework
Short Description Repo with base DB, Model and Config resources
License
Informations about the package framework
About
I created this repository to provide some basic resources for use in other packages I've been working on.
It essentially consists of the following:
- Commands for migrations
- Container based database connections
- Model classes
This is intended for my own personal use.
Environment
PHP
8.1.3
MySQL
8.0.13
Commands
Linux
Run the unit test suite:
dev/phpunit
Windows
Run the unit test suite:
.\dev\runtests.bat
Usage
The example configs and migrations are included mainly as examples of how I am currently using this framework.
Migrator
You can use the base Migrator to migrate any set of classes. The CreateDatabase class included can be used to drop/create a DB.
In the ExampleMigrator, a Laminas\ServiceManager\ServiceManager is passed into the constructor. It has a DB connection set in the dependency map using app/FrameworkConfigProvider.php.
The base app/Console/Commands/Migrator.php looks for the Atsmacode\Framework\Database\ConnectionInterface and uses the given DB credentials for all migrations.
This interface is also used for the Model DB connections throughout a request lifecycle.
You can then run a command like so (-d true is for the 'test' DB credentials in the config array, remove this for 'live' DB):
php dev/SymfonyApplication.php app:build-framework -d true
A standalone command to create a DB is provided (you can add it to the SymfonyApplication in the same way as the ExampleMigrator):
app/Console/Commands/CreateDatabase.php
php dev/SymfonyApplication.php app:create-database -d true
Configs
You need to add framework.php to configure your local DB credentials, like so:
All versions of framework with dependencies
laminas/laminas-config-aggregator Version ^1.12
symfony/console Version 5.4.* || ^6.0
laminas/laminas-servicemanager Version ^3.19
monolog/monolog Version ^1.22 || ^2.0 || ^3.0