haemanthus/codeigniter3-ide-helper

CodeIgniter 3 IDE helper generator

v1.0.8 2022-06-10 09:53 UTC

This package is auto-updated.

Last update: 2023-01-25 05:00:48 UTC


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, core, controllers, and 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

ci3-ide-helper-usage.gif

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 & Semantic Release, so make sure your commit messages follow Conventional Commits Specification.

Features for Contributors

  • Interactive commit with Commitizen.

    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.

  • Print debugging with Symfony Var Dumper.

    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.

  • Developing inside a Container with Visual Studio Code Remote Container.

    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 installed.

License

This application is licensed under the MIT license.