From 4def5cca8aeb85390c0f82c9445ee228ac40a7f3 Mon Sep 17 00:00:00 2001 From: wei <> Date: Mon, 18 Sep 2006 23:38:21 +0000 Subject: Add CommandLine quickstart doc. --- .gitattributes | 1 + buildscripts/texbuilder/pages.php | 1 + demos/quickstart/protected/controls/TopicList.tpl | 1 + .../pages/GettingStarted/CommandLine.page | 105 +++++++++++++++++++++ .../protected/pages/GettingStarted/HelloWorld.page | 8 ++ demos/quickstart/themes/PradoSoft/style.css | 58 ++++++++++++ framework/prado-cli.php | 2 +- 7 files changed, 175 insertions(+), 1 deletion(-) create mode 100644 demos/quickstart/protected/pages/GettingStarted/CommandLine.page diff --git a/.gitattributes b/.gitattributes index b25e8bc4..fab56204 100644 --- a/.gitattributes +++ b/.gitattributes @@ -983,6 +983,7 @@ demos/quickstart/protected/pages/Fundamentals/lifecycles.vsd -text demos/quickstart/protected/pages/Fundamentals/objectdiagram.gif -text demos/quickstart/protected/pages/Fundamentals/objectdiagram.vsd -text demos/quickstart/protected/pages/GettingStarted/AboutPrado.page -text +demos/quickstart/protected/pages/GettingStarted/CommandLine.page -text demos/quickstart/protected/pages/GettingStarted/HelloWorld.page -text demos/quickstart/protected/pages/GettingStarted/Installation.page -text demos/quickstart/protected/pages/GettingStarted/Introduction.page -text diff --git a/buildscripts/texbuilder/pages.php b/buildscripts/texbuilder/pages.php index 9b8a97ad..4d285162 100644 --- a/buildscripts/texbuilder/pages.php +++ b/buildscripts/texbuilder/pages.php @@ -9,6 +9,7 @@ $pages['Getting Started'] = array( 'GettingStarted/AboutPrado.page', 'GettingStarted/Installation.page', 'GettingStarted/HelloWorld.page', + 'GettingStarted/CommandLine.page', 'GettingStarted/Upgrading.page' ); diff --git a/demos/quickstart/protected/controls/TopicList.tpl b/demos/quickstart/protected/controls/TopicList.tpl index 1302338d..677a727e 100644 --- a/demos/quickstart/protected/controls/TopicList.tpl +++ b/demos/quickstart/protected/controls/TopicList.tpl @@ -7,6 +7,7 @@
  • What is PRADO?
  • Installation
  • Creating First PRADO Application
  • +
  • Command Line Tool
  • Upgrading from v2.x and v1.x
  • diff --git a/demos/quickstart/protected/pages/GettingStarted/CommandLine.page b/demos/quickstart/protected/pages/GettingStarted/CommandLine.page new file mode 100644 index 00000000..7d439fac --- /dev/null +++ b/demos/quickstart/protected/pages/GettingStarted/CommandLine.page @@ -0,0 +1,105 @@ + +

    Command Line Tool

    +

    The optional prado-cli.php PHP script file in the framework +directory provides command line tools to perform various tendious taks in Prado. +The prado-cli.php can be used to create Prado project skeletons, create +initial test fixtures, and access to an interactive PHP shell. +

    +

    Requirements

    +

    +To use the command line tool, you need to use your command prompt, command console +or terminal. In addition, PHP must be able to execute PHP scripts from +the command line. +

    + +

    Usage

    +

    +If you type php path/to/framework/prado-cli.php, you should see +the following information. Alternatively, if you are not on Windows, +you may try to change the prado-cli.php into an executable +and execute it as a script

    + +Command line tools for Prado 3.0.5. +usage: php prado-cli.php action [optional] +example: php prado-cli.php -c mysite + +actions: + -c + Creates a Prado project skeleton for the given . + + -t + Create test fixtures in the given . + + shell [directory] + Runs a PHP interactive interpreter. Initializes the Prado + application in the given [directory]. + + +

    The <parameter> are required parameters and [optional] +are optional parameters.

    + +

    Creating a new Prado project skeleton

    + +

    To create a Prado project skeleton, do the following:

    +
      +
    1. Change to the directory where you want to create the project skeleton.
    2. +
    3. Type, php ../prado/framework/prado-cli.php -c helloworld, where + hellowworld is the directory name that you want to create the project skeleton files.
    4. +
    5. Type, php ../prado/framework/prado-cli.php -t helloworld to create + the test fixtures for the helloworld project.
    6. +
    + +

    Interactive Shell

    +

    +The interactive shell allows you to evaluate PHP statements from te command line. +The prado-cli.php script can be used to start the shell and load an existing +Prado project. For example, let us load the blog demo project. Assume that your +command line is in the prado distribution directory and you type. +

    +

    + +$: php framework/prado-cli.php shell demos/blog + +The output should be + +Command line tools for Prado 3.0.5. +** Loaded Prado appplication in directory "demos\blog\protected". +PHP-Shell - Version 0.3.1 +(c) 2006, Jan Kneschke + +>> use '?' to open the inline help + +>> + +Then we will get an instance of the Prado blog application, and from +that instance we want an instance of the 'data' module. + + +>> $app = Prado::getApplication(); + +>> $db = $app->getModule('data'); + +Lastly, we want to use the data module to query for a post with ID=1. + +>> $db->queryPostByID(1) + +There should not be any errors and you should see the following. + +PostRecord#1 +( + [ID] => 1 + [AuthorID] => 1 + [AuthorName] => 'Prado User' + [CreateTime] => 1148819691 + [ModifyTime] => 0 + [Title] => 'Welcome to Prado Weblog' + [Content] => 'Congratulations! You have successfully installed Prado Blog -- + a PRADO-driven weblog system. A default administrator account has been created. + Please login with admin/prado and update your password as soon as possib +le.' + [Status] => 0 + [CommentCount] => 0 +) + +

    +
    \ No newline at end of file diff --git a/demos/quickstart/protected/pages/GettingStarted/HelloWorld.page b/demos/quickstart/protected/pages/GettingStarted/HelloWorld.page index 780c92b9..97d4f72d 100644 --- a/demos/quickstart/protected/pages/GettingStarted/HelloWorld.page +++ b/demos/quickstart/protected/pages/GettingStarted/HelloWorld.page @@ -27,6 +27,14 @@ where each directory is explained as follows. Note, the above directory structur
  • pages - base path storing all PRADO pages.
  • +
    +Tip:You may also use the framework/prado-cli.php +command line script +to create the Prado project directory structure. For example, type the command +php path/to/prado-cli.php -c helloworld in the directory +where you want to create the helloworld project. +
    +

    The three files that we need are explained as follows.

    diff --git a/demos/quickstart/themes/PradoSoft/style.css b/demos/quickstart/themes/PradoSoft/style.css index 782697ae..d7e94032 100644 --- a/demos/quickstart/themes/PradoSoft/style.css +++ b/demos/quickstart/themes/PradoSoft/style.css @@ -517,4 +517,62 @@ pre code background-color:#ffffee; font-family: "Courier New", Courier, mono; margin: 0.2em; +} + +div.tip, div.info, div.note +{ + border:1px solid #0cf; + padding:1em; + margin: 1em 2em; + background-color: #eff; +} + +div.info +{ + border-color: #32CD32; + background-color: #EBFFCE; +} + +div.note +{ + border-color: Orange; + background-color: #FFF5E1; +} + +div b.tip +{ + font-size: 1em; + padding-right: 0.5em; +} + +img.figure +{ + display: block; + margin: 1em auto; + background-color: White; + padding: 15px; + border: 1px solid #eee; +} + +div.caption +{ + text-align: center; +} + +table.tabular, table.tabular td, table.tabular th +{ + border: 1px solid #ccc; + border-collapse: collapse; + padding: 0.3em; +} + +table.tabular +{ + margin: 1em auto; + width: 80%; +} + +table.tabular td +{ + padding: 0.75em; } \ No newline at end of file diff --git a/framework/prado-cli.php b/framework/prado-cli.php index 58e274fe..894d8adc 100755 --- a/framework/prado-cli.php +++ b/framework/prado-cli.php @@ -33,7 +33,7 @@ restore_exception_handler(); //run it; PradoCommandLineInterpreter::run($_SERVER['argv']); -if(strtolower($_SERVER['argv'][1])==='shell') +if(count($_SERVER['argv']) > 1 && strtolower($_SERVER['argv'][1])==='shell') include_once(dirname(__FILE__).'/3rdParty/PhpShell/php-shell-cmd.php'); class PradoCommandLineInterpreter -- cgit v1.2.3