noccylabs/codeassist

$ git tag


$ git branch
* master

CodeAssist: The helper you need

NOTE! This documentation might not be up to speed with the code!

What it does

Generate stubs

With the following file dropped in ~/.codeassist/templates/symfony/consoleapplication.php:

props:
    appname:    { hint:"App name" }
    appversion: { hint:"App version" }
---
<?php

namespace {{namespace}};

use Symfony\Component\Console\Application as ConsoleApplication;

class {{class} extends ConsoleApplication
{
    public static APP_NAME = "{{appname}}";
    public static APP_VERSION = "{{appversion}}";

    public static function main()
    {
        $inst = new {{class}}(self::APP_NAME, self::APP_VERSION);
    }
}

The following is possible:

$ cas info
./composer.json: myvendor/mypackage
Autoloader for MyVendor\MyPackage\ at lib/ (psr-4)
$ cas create --template symfony.consoleapplication MyVendor\\MyPackage\\Application\\MyPackageApplication
App name? []: MyPackage
App version? []: 1.0
[create] lib/Application
[render] lib/Application/MyPackageApplication.php
$

Generate classes

Anywhere in your project:

$ cas info
../../composer.json: myvendor/mypackage
$ case create:class MyVendor\\MyPackage\\MyClass
[render] lib/MyClass.php
$

Inspect and reflect classes and methods

Enumerate classes:

$ cas class:list

Or, to include external classes:

$ cas class:list --bootstrap vendor/autoload.php

Show information on classes or methods:

$ cas class:info FooClass
$ cas class:info FooClass:fooMethod

Or dump constants:

$ cas constants