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 ./known.php
.
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 calledMain
which extends the class\Idno\Common\ConsolePlugin
- Implement the abstract methods:
getCommand()
the command name you are providinggetDescription()
the description of the commandgetParameters()
a method returning an array of the command’s parametersexecute()
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 Main.php
.
tag:plus.google.com,2013:z12jhtqbumivhhdue23qdj0pwkvuytpja04_liked_by_107279156596231277937
Daniel Nix (nxD4n)
https://plus.google.com/+MarcusPovey/posts/DRuBf1oeFqX#liked-by-107279156596231277937
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 extendIdnoCommonConsolePlugin
, one for each command you want to export. The format of this is exactly the same as those for any other console plugin.Enjoy!
Thanks for visiting! If you’re new here you might like to read a bit about me.
(Psst… I am also available to hire! Find out more…)
Follow @mapkyca
!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?’http’:’https’;if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+’://platform.twitter.com/widgets.js’;fjs.parentNode.insertBefore(js,fjs);}}(document, ‘script’, ‘twitter-wjs’);
Share this:EmailLinkedInTwitterGoogleFacebookReddit