6b. Creating new command interface action

gjerokrsteski edited this page Mar 20, 2014 · 8 revisions

Yes, we programmers are lazy and pragmatic guys. Therefore PIMF gives us the posibillity to create our own interactive PHP Command Line Interface actions. That is the easiest way to make some possibility for scaffolding or manipulating data without implementing a whole HTML backend interface.

A action at the controller for inserting a blog-article via command line interface.

  public function insertCliAction()
  {

    $std = new \Pimf\Cli\Std();

    $title   = $std->read('article title');
    $content = $std->read('article content');

    $entry = new MyFirstBlog\Model\Entry();

    $entry->setTitle($title);
    $entry->setContent($content);

    $res = Pimf\Registry::get('em')->entry->insert($entry);

    var_dump($res);
  }

Start your command line interface, go to your PIMF root directory, type following command and follow the instructions:

php pimf blog:insert

Retrieving a list of available app or core commands:

php pimf list

Chose the command you desire:

PIMF v1.7 PHP Command Line Interface by Gjero Krsteski
+------------------------------------------------------+
controller: blog

 action: insert

 action: update

 action: delete

 action: create_blog_table

+------------------------------------------------------+
controller: core

 action: init

 action: create_session_table

 action: create_cache_table

+------------------------------------------------------+
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.