A few of you have been asking about some of the Known dev tools that I use.
Well, I’ve been writing them as I go, and they’re a little bit dotted around, but since moving to composer I’ve been trying to link them up a bit.
Known Dev Scripts
The main dev scripts that I’ve been using are here. Requiring this package will also fetch the language tools scripts and the PHPCS code formatter config.
All of these are already included in the Known checkout in the
vendor directory, if you’re checking out from git, and composer installing the dev dependencies (default).
composer require mapkyca/known-dev-scripts --dev
Next are a set of console tools that I’ve built up over time which give me some ability to nudge data around, and to get various dumps of raw data.
They’re dotted around in their own repos, and can be installed individually, but for convenience you can grab them all in one go:
composer require mapkyca/known-console-tools --dev
It goes without saying that these should not be installed on a production system – with great power, and all that.
» Visit the project on Github...
A few months ago I wrote a bit about extending your Known plugins to support console functionality. I’ve recently pushed a patch which will make this functionality even more useful.
Previously, you could only have one console command available to your regular Known plugin, this was of course limiting. Now, you can have multiple!
Create a directory
Console within your plugin’s home directory. Then fill it with one or more classes, which extend
\Idno\Common\ConsolePlugin, one for each command you want to export. The format of this is exactly the same as those for any other console plugin.
The Known framework has the ability to execute commands from the console, which is kind of cool and enables, among other things, stuff like these console development tools.
You can see what commands are currently available by going to the console, navigate to your Known directory, and execute
The commands available can be added to in two ways…
Create a pure console plugin
If you look in
ConsolePlugins you’ll see a plugin called
Example, which probably tells you all you need to know.. but in summary:
- Create a subdirectory for your plugin in
ConsolePlugins (or at least copy/symlink it there later)
- Create a
Main.php file, containing a class called
Main which extends the class
- Implement the abstract methods:
getCommand() the command name you are providing
getDescription() the description of the command
getParameters() a method returning an array of the command’s parameters
execute() your actual code
And you’re done!
Add a console plugin to a regular Known plugin
If you’re using the most recent build of Known from github, you can also add a console command to an existing traditional Known plugin (i.e. those sitting in
IdnoPlugins/*). To do this, create a class called
ConsoleMain that extends
\Idno\Common\ConsolePlugin and save it in a file called
ConsoleMain.php sitting along side your regular