Coder Social home page Coder Social logo

entity-builder's Introduction

Laravel Builder

Intuitive productivity tool for Laravel. demo

You no longer need to write migrations, Doctrine will do it for you.

PhpStorm plugin Laravel Builder

PhpStorm plugin Laravel Generator

features

  • design database schemas
  • manage database migrations
  • generate OpenApi document
  • generate CRUD files

install

PhpStorm plugin

composer require --dev googee/laravel-builder

php artisan vendor:publish --provider="GooGee\LaravelBuilder\LaravelBuilderServiceProvider"

php artisan setupLaravelBuilder

how to generate migrations?

migration

  • go to Migration page, then select the User in sidebar
  • click button to generate the Entity file
  • click diff button to generate a migration file
  • click ►| button to run php artisan migrate
  • to ignore a table, add its name to the file config/laravelbuilder.php

Doctrine compares files in database/Entity with the database schemas, and generate a migration file of their difference.

how to generate CRUD files?

crud

  • go to Entity page, then select User in sidebar
  • select File tab, then click button to generate the file

how to generate OpenApi document?

  • click OpenApi in the menu bar
  • click toJSON button, then copy the text
  • click editor link, then paste in the editor

how file is generated?

for example, lets generate the User Entity file. when button is clicked, this plugin will do the following:

  • GUI fetch all files in laravel-builder/code
  • execute code in code-helper.js
  • execute code in file-1.js (1 is the id of Entity)
  • render template file-1.txt
  • write the result text to database/Entity/User.php

how to generate custom files?

  • go to Tree page, then select a file in sidebar
  • click edit script button to modify the code (optional)
  • click edit template button to modify the text
  • go to Entity page, then select User in sidebar
  • select File tab, then click button to generate the file

Note: if changes didn't work, make sure to save the changed file manually, PhpStorm doesn't save the changed file immediately.

for example

function run(data) {
    /** @type {DataForScript} */
    const ddd = data

    // define variable `model`
    ddd.model = ddd.db.tables.File.find(item => item.name === 'Model')

    // define function `toString`
    ddd.toString = function(object) {
        return JSON.stringify(object)
    }
}

in template

{{ model.name }}

{{ toString(model) }}

templating engine

entity-builder's People

Contributors

googee avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.