Download the PHP package meridius/dbentities-generator without Composer

On this page you can find all versions of the php package meridius/dbentities-generator. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package dbentities-generator

dbentities-generator

Generator of database entities for use with Nette Database

Are you tired of manually typing table and column names when dealing with Nette Database (and other similar DB frameworks) yet? You don't have to now!

Why should I use that

How to setup

Simply run generators' php index.php -s path/to/your_scheme.sql which will parse given scheme SQL file and create respective entity files.

Other options

-s <path>             SQL file with schema to be parsed to entities.
-n <namespace>        What namespace to put generated entities into. 
                      Will be used also as destination directory.
                        (default: DbEntity)
-d <database name>    Used as part of namespace and directory for entities.
                        [optional] (default: none)
-a                    Generate also absolute constants. This will generate: 
                        const __COLUMN_NAME = 'table.column_name';
                      Constant name is prefixed with (__) two underscores.
                        [optional] (default: true)
-e                    Enquote table and column names. This will generate: 
                        const __COLUMN_NAME = '`table`.`column_name`';
                        [optional] (default: false)
-f                    Remove destination directory if exists - use force.
                        [optional] (default: true)
-h | --help           This help.

Use of generated entities

Where can I use them

Primary use of generated DB entities is targeted to projects based on Nette (and derived) frameworks using Nette Database.

Prerequisites for other frameworks

Should you decide to use entities with other framework than Nette or none at all, please note that you will need to include these two components to your project:

Example usage

Create new record

$movie = new Movie;
$movie->name = $values["name"];
$movie->year = $values["year"];
$movieManager->create($movie);

# ---------- MovieManager ----------
public function create(Movie $movie) {
    $this->db->table($movie->getTableName())->insert($movie->getArray());
}

Get existing record

$movie = $movieManager->getByName($values["name"]);
echo $movie->year;

# ---------- MovieManager ----------
public function getByName($name) {
    $row = $this->db->table(Movie::getTableName())->where(array(
            Movie::NAME => $name,
        ))->fetch();
    return ($row instanceof ActiveRow) ? new Movie($row) : null;
}

Get existing record by value from another table

public function getByTagName($tagTitle) {
    $row = $this->db->table(Movie::getTableName())
        ->select(Movie::getTableName() . '.*')
        ->where(array(
            Tag::__TITLE => $tagTitle, // see (-a) option for description
        ))->fetch();
    return ($row instanceof ActiveRow) ? new Movie($row) : null;
}

Notes

The generator will parse MySQL files, syntax for other database types was not tested.


All versions of dbentities-generator with dependencies

PHP Build Version
Package Version
Requires php Version >=5.4.24
nette/php-generator Version ~2.3.0
nette/tester Version ^1.4.0
meridius/helpers Version ^1.0.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package meridius/dbentities-generator contains the following files

Loading the files please wait ....