PHPackages                             milestone/interact - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Database &amp; ORM](/categories/database)
4. /
5. milestone/interact

ActiveLaravel-package[Database &amp; ORM](/categories/database)

milestone/interact
==================

Direct database interaction of project

0.4.1(6y ago)0411PHP

Since Mar 16Pushed 6y ago1 watchersCompare

[ Source](https://github.com/MilestoneInnovativeTechnologies/Interact)[ Packagist](https://packagist.org/packages/milestone/interact)[ RSS](/packages/milestone-interact/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (10)Dependencies (1)Versions (25)Used By (1)

The package which enables direct interaction with appframe project tables.

install appframe
install interact

Create class with same name of incoming table, which implements the interface *Milestone\\Interact\\Table*

Give common namespace for all such classes and mention that namespace in interact configuration file in config folder.

---

If any data from import interact file required, the define public properties in the class in the name *table*,*mode*,*primary\_key*,*data*

If a method named, **isValidImportRecord**, is available, then this method will be called before executing each record.
That particular record will be the only argument supplied to this method.
This method should return boolean *true*, *false* or *string* mentioning the reason for invalid.

If a method named, **recordImported** exists, then this method will be called after executing each record.
This method received that particular record and id of execution.
Return value is ignored.

If a method named, **preImport**, is exists, then it will be called before starting the import action. It will be supplied with the argument, the total Content. Modified Content or null to be return.

If a method named, **postImport**, is exists, then it will be called after executing the whole action. It will be supplied with the argument, the total Content and Result object. This should respond with modified result which will be outputted or else with null to output default Result object

---

If any data for export action is required like \_table\_,\_created\_,\_updated\_ then define public properties in the class in same name If a method named, **isValidExportGet** OR **isValidExportUpdate**, is available, then this method will be called before executing each record of insert mode or update mode respectively.
That particular record will be the only argument supplied to this method.
This method should return boolean *true* or *false*.

If a method named, **recordGetExported**, **recordUpdateExported** exists, then this method will be called after executing each record of insert mode or update mode respectively.
This method received that particular record and id of execution.
Return value is ignored.

If a method named, **preExportGet**,**preExportUpdate**, is exists, then it will be called before starting the export action of mode insert and update respectively. It will be supplied with the argument, the query to be executed. This method should return the same or modified query or null;

If a method named, **postExportGet**,**postExportUpdate**, is exists, then it will be called after executing the whole action. It will be supplied with the argument, the eloquent record and exported record. Return value is ignored.

---

USAGE
-----

[](#usage)

For importing to web, send a file with json content having multiple activity, each activity composed of table,primary\_key,mode and data. where data will have all records. url: /interact For exporting from web, request to url in the format /interact/{tablename}?created\_at=datetime&amp;updated\_at=datetime&amp;format=xml&amp;type=file

The root parameter interact can be changed to desired one in config

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity60

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~14 days

Recently: every ~61 days

Total

24

Last Release

2278d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/e86f2e701d34c3d7cb2be9451d4590ace81a6fa92df95256d36e413ce141b61d?d=identicon)[milestone-it](/maintainers/milestone-it)

---

Top Contributors

[![firumon](https://avatars.githubusercontent.com/u/14584619?v=4)](https://github.com/firumon "firumon (73 commits)")

### Embed Badge

![Health badge](/badges/milestone-interact/health.svg)

```
[![Health](https://phpackages.com/badges/milestone-interact/health.svg)](https://phpackages.com/packages/milestone-interact)
```

###  Alternatives

[doctrine/orm

Object-Relational-Mapper for PHP

10.2k285.3M6.2k](/packages/doctrine-orm)[jdorn/sql-formatter

a PHP SQL highlighting library

3.9k115.1M102](/packages/jdorn-sql-formatter)[illuminate/database

The Illuminate Database package.

2.8k52.4M9.4k](/packages/illuminate-database)[mongodb/mongodb

MongoDB driver library

1.6k64.0M546](/packages/mongodb-mongodb)[ramsey/uuid-doctrine

Use ramsey/uuid as a Doctrine field type.

90340.3M211](/packages/ramsey-uuid-doctrine)[reliese/laravel

Reliese Components for Laravel Framework code generation.

1.7k3.4M16](/packages/reliese-laravel)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
