phalcon / phalcon-devtools

Phalcon Developer Tools

Home Page:https://docs.phalcon.io/latest/en/devtools

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Phalcon Devtools

codecov Latest Version Software License Total Downloads Daily Downloads Build Status

Phalcon WebTools

What's Phalcon?

Phalcon PHP is a web framework delivered as a C extension providing high performance and lower resource consumption.

What are Devtools?

This tools provide you useful scripts to generate code helping to develop faster and easy applications that use with Phalcon framework.

Requirements

  • PHP >= 7.2
  • Phalcon >= 4.0.0

Installing via Composer

Install composer in a common location or in your project:

curl -s http://getcomposer.org/installer | php

Create the composer.json file as follows:

{
    "require-dev": {
        "phalcon/devtools": "~4.1"
    }
}

If you are still using Phalcon 3.4.x, create a composer.json with the following instead:

{
    "require-dev": {
        "phalcon/devtools": "^3.4"
    }
}

Run the composer installer:

php composer.phar install

Build .phar

Install composer and box in a common location or in your project:

curl -s http://getcomposer.org/installer | php
bin/composer install

Build phar file phalcon-devtools

bin/box build -v
chmod +xr ./phalcon.phar
# Test it!
php ./phalcon.phar

Installation via Git

Phalcon Devtools can be installed by using Git.

Just clone the repo and checkout the current branch:

cd ~
git clone https://github.com/phalcon/phalcon-devtools.git
cd phalcon-devtools

This method requires a little bit more of setup. Probably the best way would be to symlink the phalcon file to a directory in your PATH, so you can issue phalcon commands in each directory where a phalcon project resides.

cd phalcon-devtools
composer install
ln -s $(pwd)/phalcon /usr/bin/phalcon
chmod ugo+x /usr/bin/phalcon

If you get a "phalcon: command not found" message while creating the symlink, make an alias.

alias phalcon=/home/[USERNAME]/phalcon-devtools/phalcon

Usage

To get a list of available commands just execute following:

phalcon commands help

This command should display something similar to:

$ phalcon --help

Phalcon DevTools (4.1.0)

Help:
  Lists the commands available in Phalcon DevTools

Available commands:
  info             (alias of: i)
  commands         (alias of: list, enumerate)
  controller       (alias of: create-controller)
  module           (alias of: create-module)
  model            (alias of: create-model)
  all-models       (alias of: create-all-models)
  project          (alias of: create-project)
  scaffold         (alias of: create-scaffold)
  migration        (alias of: create-migration)
  webtools         (alias of: create-webtools)
  serve            (alias of: server)
  console          (alias of: shell, psysh)

Database adapter

Should add adapter parameter in your db config file (if you use not MySQL database).

For PostgreSQL it will be something like:

$config = [
  'host'     => 'localhost',
  'dbname'   => 'my_db_name',
  'username' => 'my_db_user',
  'password' => 'my_db_user_password',
  'adapter'  => 'Postgresql'
];

Configuration file

By creating config.json or any other configuration file called config in root project you can set options for all possible commands, for example:

{
  "migration" : {
    "migrations": "App/Migrations",
    "config": "App/Config/db.ini"
  },
  "controller" : {
    "namespace": "Phalcon\\Test",
    "directory": "App/Controllers",
    "base-class": "App\\MyAbstractController"
  }
}

And then you can use phalcon migration run or phalcon controller SomeClass and those commands will be executed with options from file. Arguments provided by developer from command line will overwrite existing one in a file.

License

Phalcon Developer Tools is open source software licensed under the New BSD License.
© Phalcon Framework Team and contributors

About

Phalcon Developer Tools

https://docs.phalcon.io/latest/en/devtools

License:Other


Languages

Language:JavaScript 62.1%Language:PHP 26.1%Language:CSS 8.0%Language:Volt 2.8%Language:HTML 0.5%Language:Shell 0.3%Language:Dockerfile 0.1%Language:Makefile 0.0%Language:Batchfile 0.0%