Running revIgniter via the CLI
Controllers can also be loaded via the command-line interface (CLI). That's handy for:
- Running cron-jobs while making the executing controllers inaccessible from being loaded in the URL.
- Implenenting interactive tasks like running backups, pruning cache folders, setting permissions etc.
- Integrating revIgniter with other applications in other languages.
Hello World Example
Following is a simple example demonstrating revIgniter's CGI capability. Create a file called hello.lc, and put the following code in it:
<?lc put "index,hello,message" into gControllerHandlers command hello # MAKE SURE THAT THE CONTROLLER IS ONLY ACCESSIBLE VIA COMMAND LINE if $_SERVER["PATH_TRANSLATED"] <> empty then put "This script can only be accessed via the command line." exit to top end if end hello command index put "Hello World!" & return end index command message put rigFetchSegment(3) into tTo if tTo is FALSE then put "Jane Doe" into tTo end if put "Hello" && tTo & "!" & return end message
Save the file to your application/controllers/ folder. Normally you would load the controller using a URL similar to this:
Instead, we are going to open the terminal and navigate to our revIgniter project.
$ cd /path/to/project $ path/to/LiveCode/executable index.lc hello
If you did it right, the terminal should print "Hello World!".
Note: To avoid always having to write the complete path to the LC server executable, consider adding the location of LC server to the PATH environment variable.
Now add a third argument "message" to the command like:
$ path/to/LiveCode/executable index.lc hello message
This calls the "message" handler instead of the default handler (index). The output should be "Hello Jane Doe!"
You could replace "Jane Doe" by adding your name in a fourth argument like:
$ path/to/LiveCode/executable index.lc hello message "Your Name"
This should print "Hello Your Name!"
That, in a nutshell, is all there is to know about controllers on the command line.