PHPackages                             iazaran/crudgeneratrix - 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. [Admin Panels](/categories/admin)
4. /
5. iazaran/crudgeneratrix

ActiveLibrary[Admin Panels](/categories/admin)

iazaran/crudgeneratrix
======================

PHP CRUD Generator

1.0.7(3y ago)110MITPHPPHP &gt;=8.1

Since Jan 1Pushed 3y ago1 watchersCompare

[ Source](https://github.com/iazaran/crudgeneratrix)[ Packagist](https://packagist.org/packages/iazaran/crudgeneratrix)[ Docs](https://github.com/iazaran/crudgeneratrix)[ RSS](/packages/iazaran-crudgeneratrix/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (8)DependenciesVersions (9)Used By (0)

### PHP CRUD Generatrix

[](#php-crud-generatrix)

> Generating CRUD features in PHP and can be used on API projects to accept requests from a single POST endpoint. Please take a look at samples.php

#### Installation:

[](#installation)

- By composer: `composer require iazaran/crudgeneratrix`

#### Features:

[](#features)

- **Get information about the tables and columns**The `information` method can generate information about the tables and columns. So frontend can see the columns and their types.
- **Generate simple CRUD automatically**The `create`, `read`, `update` and `delete` methods can accept the different parameters that determine the target table(s) and column(s) to apply CRUD. You can add your custom method to do more process on specific request.
- **Customizable search**The `search` method can be used for listing records based on some conditions. Conditions can be customize and join each others by different type of conditional operators. Relationships can be used like `read` method. Limitation and offset can be applied to limit records count and start index, that will be useful for pagination too.
- **Can be used by a single endpoint in API**This package doesn't serve API features, but you can set an endpoint to accept those parameters and do CRUD features like GraphQL. There is a method `api` that accepts all parameters and will implement any type of features of this package.

#### Run Web App:

[](#run-web-app)

- There is a sample in here. You can create a DB and some tables and records. Make sure you set foreign keys too.
- Now update samples.php and run `php samples.php`.
- Some samples:

```
// Getting information about a table and some columns
$generatrixCRUD::information(
    ['countries' => ['countryCode', 'countryName']]
);

// Reading a specific row from a table and related table(s) and columns based on different relationship directions
$generatrixCRUD::read(
    ['cities' => ['cityName']],
    30,
    ['hotels' => ['name']],
    'LEFT'
);
$generatrixCRUD::read(
    ['hotels' => ['name']],
    30,
    ['cities' => ['cityName']],
    'RIGHT'
);

// Using custom method as callback
// Without callback like: [{"cityName":"Al Ain","name":"Radisson Blu Hotel & Resort, Al Ain"},{"cityName":"Al Ain","name":"Danat Al Ain Resort"},{"cityName":"Al Ain","name":"Mercure Grand Jebel Hafeet Al Ain Hotel"}]
// With callback like: {"cityName":[{"name":"Radisson Blu Hotel & Resort, Al Ain"},{"name":"Danat Al Ain Resort"},{"name":"Mercure Grand Jebel Hafeet Al Ain Hotel"}]}
$generatrixCRUD::read(
    ['cities' => ['cityName']],
    30,
    ['hotels' => ['name']],
    'LEFT',
    ['CustomMethods', 'groupByFirstColumn']
);

// Create multiple rows
$generatrixCRUD::create(
    ['countries' => [
        'countryCode' => ['US', 'GB'],
        'countryName' => ['United State', 'Great Britain'],
    ]]
);

// Update specific row
$generatrixCRUD::update(
    ['countries' => [
        'countryCode' => 'ES',
        'countryName' => 'Spain',
    ]],
    237
);

// Delete specific row
$generatrixCRUD::delete(
    ['countries'],
    237
);

// Search for multiple columns (AND, OR, XOR, ...) of target table (=, LIKE, NOT, ...) and list them ('AND' will be considered for joining conditions of conditions) You can add relationships like read method
$generatrixCRUD::search(
    ['OR' => [
        '=' => ['cityName' => 'dubai'],
        'LIKE' => ['cityName' => 'old'],
    ]],
    ['cities' => ['cityName']],
    [],
    '',
    10,
    5
);

// To use as a single method for all type of features. You can use any method name in here as `type`
$generatrixCRUD::api(
    'search',
    ['cities' => ['cityName']],
    null,
    [],
    '',
    ['OR' => [
        '=' => ['cityName' => 'dubai'],
        'LIKE' => ['cityName' => 'old'],
    ]],
    10,
    5,
    []
);
```

---

[eazaran@gmail.com](mailto:eazaran@gmail.com "eazaran@gmail.com")

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community7

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 ~10 days

Recently: every ~17 days

Total

8

Last Release

1151d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/10566709?v=4)[Ismael Azaran](/maintainers/iazaran)[@iazaran](https://github.com/iazaran)

---

Top Contributors

[![iazaran](https://avatars.githubusercontent.com/u/10566709?v=4)](https://github.com/iazaran "iazaran (33 commits)")

---

Tags

crudcrud-gerenatorphpphp

### Embed Badge

![Health badge](/badges/iazaran-crudgeneratrix/health.svg)

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

###  Alternatives

[redchamps/module-clean-admin-menu

It will merge all third party extensions menu items to single menu item named 'Extensions'.

164416.3k](/packages/redchamps-module-clean-admin-menu)[tomatophp/filament-pos

POS System for FilamentPHP with a lot of features and integration with Ecommerce Builder

681.5k](/packages/tomatophp-filament-pos)[tomatophp/filament-saas-panel

Ready to use SaaS panel with integration of Filament Accounts Builder and JetStream teams

421.1k](/packages/tomatophp-filament-saas-panel)[rockys/ex-admin-thinkphp

Ex-admin-thinkphp 是一个基于Ant Design of Vue + Thinkphp 开发而成后台系统构建工具，无需关注页面模板JavaScript，只用php代码即可快速构建出一个功能完善的后台系统。

163.0k](/packages/rockys-ex-admin-thinkphp)

PHPackages © 2026

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