Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/yusuftaufiq/codeigniter3-ide-helper

CodeIgniter 3 IDE helper generator
https://github.com/yusuftaufiq/codeigniter3-ide-helper

autocompletion cli-app codeigniter3 ide-helper php

Last synced: 3 months ago
JSON representation

CodeIgniter 3 IDE helper generator

Awesome Lists containing this project

README

        





Lint Codebase Workflow Status


Test Workflow Status


Code Coverage


Packagist Version


Docker Image Version (latest semver)

License

## About CodeIgniter 3 IDE Helper

CodeIgniter 3 IDE Helper is a CLI application for generating a helper file to provide automatic code completion for your IDE.

IDE helper output is generated based on all the libraries and models you loaded in the [`config/autoload.php`](https://github.com/bcit-ci/CodeIgniter/blob/master/application/config/autoload.php), [`core`](https://github.com/bcit-ci/CodeIgniter/blob/master/application/core), [`controllers`](https://github.com/bcit-ci/CodeIgniter/blob/master/application/controllers), and [`models`](https://github.com/bcit-ci/CodeIgniter/blob/master/application/models) folders.

## Usage

### Via Composer

Installation via Composer (require PHP >= 7.4)

- First, install with `composer require haemanthus/codeigniter3-ide-helper --dev`
- Then, you can use it with `./vendor/bin/ide-helper generate`

### Via Docker

Alternatively, you can install this package via Docker if for whatever reason you don't have and can't install PHP >= 7.4.

- Pull latest Docker image with `docker pull haemanthus/codeigniter3-ide-helper`
- Then, you can use it with `docker run -it --rm -v "$(pwd):/app" haemanthus/codeigniter3-ide-helper generate`

## Usage Example



## Options

| Commands | Options | Description | Example |
| -- | -- | -- | -- |
| ./vendor/bin/ide-helper generate | `--dir` | Set CodeIgniter 3 root directory [default: `./`]. | - |
| | `--pattern` | Add pattern in string or regex to match files (multiple values allowed). | `--pattern '/Controller\b/'` (Match all files with 'Controller' suffix) |
| | | | `--pattern User --pattern Auth` (Match all files with filename containing 'User' or 'Auth') |
| | `--output-path` | Output path of generated file [default: `_ide_helper.php`] | `--output-path ./application/_my_ide_helper.php` |
| | `--help` | Display help. | - |
| | `--quiet` | Do not output any message. | - |
| | `--version` | Display application version. | - |
| | `--no-interaction` | Do not ask any interactive question. | - |

## Contributing

Feel free to contribute, but as this repository release cycle is fully automated using [GitHub Actions Workflows](./.github/workflows/) & [Semantic Release](https://github.com/semantic-release/semantic-release), so make sure your commit messages follow [Conventional Commits Specification](https://www.conventionalcommits.org/en/v1.0.0/).

## Features for Contributors

- Interactive commit with [Commitizen](https://github.com/commitizen/cz-cli).

Once you are done making your changes, you can run `npx cz` to bring up a prompt which needs to be filled in according to the [Conventional Commits Specification](https://www.conventionalcommits.org/en/v1.0.0/).

- Print debugging with [Symfony Var Dumper](https://symfony.com/doc/current/components/var_dumper.html).

Debugging CLI applications is very difficult, especially when you are dealing with complex data structures. So to minimize this problem, you can also do print debugging where the results of something you print appear in the browser.

- First, you can run `composer dumper:start`
- Open a new terminal then run `composer dumper:serve`
- Then anywhere inside [`src`](./src/) folder (except [`Application.php`](./src/Application.php), [`Commands/GenerateHelperCommand.php`](./src/Commands/GenerateHelperCommand.php) & [`Providers/AppServiceProvider.php`](./src/Providers/AppServiceProvider.php) files), you can write `dump($something)` or `dd($something)`
- See the result by opening [http://localhost:8000](http://localhost:8000) in your browser

- Developing inside a Container with [Visual Studio Code Remote Container](https://code.visualstudio.com/docs/remote/containers).

If you want to develop or explore the source code in this repository further, but you are lazy to install PHP, Composer, Node.js, and various other dependencies. You can also use VS Code Remote Container, just make sure you have Docker & VS Code with [Remote Containers](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers) installed.

## License

This application is licensed under the [MIT license](http://opensource.org/licenses/MIT).