Download the PHP package rougin/combustor without Composer
On this page you can find all versions of the php package rougin/combustor. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download rougin/combustor
More information about rougin/combustor
Files in rougin/combustor
Package combustor
Short Description MVC code generator for Codeigniter 3.
License MIT
Homepage https://roug.in/combustor/
Informations about the package combustor
Combustor
Combustor is a utility package for Codeigniter 3 that generates controllers, models, and views based on the provided database tables. It uses the Describe package for getting columns from a database table and as the basis for code generation.
Features
- Generates code based on the structure of the
Codeigniter 3
framework; - Speeds up the code development for prototyping web applications;
- View templates can be based on Bootstrap and are upgradable; and
- Only worry on the database schema, and
Combustor
will do the rest.
Installation
Extract the contents of the latest Codeigniter 3 project first:
Then configure the project's database connectivity settings:
Next is to proceed in installing Combustor
via Composer:
Lastly, install the ORM wrappers like Wildfire
or Doctrine
:
[!NOTE] Using the
install:wildfire
command installs the Wildfire package while theinstall:doctrine
installs the Credo package.
Reminders
Prior in executing any commands, kindly ensure that the database tables are defined properly (foreign keys, indexes, relationships, normalizations) in order to minimize the modifications after the code structure has been generated.
Also, please proceed first in generating models, views, or controllers to database tables that are having no relationship with other tables in the database.
[!TIP]
Combustor
will generate controllers, models, or views based on the specified database schema. If there's something wrong in the specified database schema,Combustor
will generate a bad codebase.
Commands
create:layout
Create a new header and footer file.
Options
--bootstrap
- adds styling based on Bootstrap--force
- generates file/s even they already exists
Example
create:controller
Create a new HTTP controller.
Arguments
table
- name of the database table
Options
--doctrine
- generates a Doctrine-based controller--wildfire
- generates a Wildfire-based controller--empty
- generates an empty HTTP controller--force
- generates file/s even they already exists
[!NOTE] If either
Wildfire
orDoctrine
is installed, no need to specify it as option for executing a specified command (e.g.--wildfire
). However if both are installed, a command must have a--wildfire
or--doctrine
option added.
Example
create:model
Create a new model.
Arguments
table
- name of the database table
Options
--doctrine
- generates a Doctrine-based model--wildfire
- generates a Wildfire-based model--empty
- generates an empty model--force
- generates file/s even they already exists
Example
create:repository
Create a new entity repository.
Arguments
table
- name of the database table
Options
--force
- generates file/s even they already exists
Example
[!NOTE] This command is only applicable to a Doctrine implementation.
create:view
Create view templates.
Arguments
table
- name of the database table
Options
--bootstrap
- adds styling based on Bootstrap--doctrine
- generates Doctrine-based views--wildfire
- generates Wildfire-based views--force
- generates file/s even they already exists
Example
create:scaffold
Create a new HTTP controller, model, and view templates.
Arguments
table
- name of the database table
Options
--bootstrap
- adds styling based on Bootstrap--doctrine
- generates a Doctrine-based controller, model, and views--wildfire
- generates a Wildfire-based controller, model, and views--force
- generates file/s even they already exists
Example
[!NOTE] If
--doctrine
is selected, the command will also execute thecreate:repository
command.
install:doctrine
Install the Doctrine package.
Example
[!NOTE]
- This command will be available if
Doctrine
is not installed in the project.- It also adds a
Loader.php
in thecore
directory. The said file is used for loading custom repositories extended toEntityRepository
.
install:wildfire
Install the Wildfire package.
Example
[!NOTE] This command will be available if
Wildfire
is not installed in the project.
remove:doctrine
Remove the Doctrine package.
Example
[!NOTE] This command will be available if
Doctrine
is installed in the project.
remove:wildfire
Remove the Wildfire package.
Example
[!NOTE] This command will be available if
Wildfire
is installed in the project.
Using combustor.yml
Combustor
currently works out of the box after the configuration based on Installation
. However, using a combustor.yml
can be used for complex setups like specifying the new application path and excluding columns:
To create a combustor.yml
, simply run the initialize
command:
app_path
This property specifies the application
directory. It may updated to any directory (e.g., ciacme/application
, ciacme/config
, etc.) as long it can detect the config/config.php
file from the defined directory:
[!NOTE]
Combustor
will try to check the path specified inapp_path
if it is a validCodeigniter 3
project. Then it will perform another check if theapplication
directory exists or if theconfig
directory can be accessed directly from the directory defined inapp_path
.
excluded_fields
Specified fields in this property are excluded from generation to the following templates:
controllers
models
views
(only forcreate
andedit
templates)
[!NOTE] The timestamps are added by default when creating a
combustor.yml
for the first time as they are usually populated automatically by installed ORMs such asWildfire
orDoctrine
.
custom_fields
By default, all of the fields generated by Combustor
to create
and edit
pages will use the form_input
helper:
However, some fields like email
and boolean
types may need to use other form helpers:
To achieve this, Combustor
provides a utility for handling specified field names or data types using custom_fields
:
When adding a custom field, kindly create a class that extends to the Colfield
class:
Then after creating the custom field, simply add the class name to the combustor.yml
:
Changelog
Please see CHANGELOG for more information what has changed recently.
Testing
Credits
License
The MIT License (MIT). Please see LICENSE for more information.
All versions of combustor with dependencies
rougin/blueprint Version ~0.7
rougin/classidy Version ~0.1
rougin/describe Version ~1.8
rougin/spark-plug Version ~0.6