diff options
author | wei <> | 2006-09-18 23:38:21 +0000 |
---|---|---|
committer | wei <> | 2006-09-18 23:38:21 +0000 |
commit | 4def5cca8aeb85390c0f82c9445ee228ac40a7f3 (patch) | |
tree | 2e5e33e2c20ffefaedcb3d39a9f57dd8a9172f3c | |
parent | 1e5f13b21b33b0d7ce86fe97ca145a3561433a7a (diff) |
Add CommandLine quickstart doc.
-rw-r--r-- | .gitattributes | 1 | ||||
-rw-r--r-- | buildscripts/texbuilder/pages.php | 1 | ||||
-rw-r--r-- | demos/quickstart/protected/controls/TopicList.tpl | 1 | ||||
-rw-r--r-- | demos/quickstart/protected/pages/GettingStarted/CommandLine.page | 105 | ||||
-rw-r--r-- | demos/quickstart/protected/pages/GettingStarted/HelloWorld.page | 8 | ||||
-rw-r--r-- | demos/quickstart/themes/PradoSoft/style.css | 58 | ||||
-rwxr-xr-x | framework/prado-cli.php | 2 |
7 files changed, 175 insertions, 1 deletions
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 @@ <li><a href="?page=GettingStarted.AboutPrado">What is PRADO?</a></li>
<li><a href="?page=GettingStarted.Installation">Installation</a></li>
<li><a href="?page=GettingStarted.HelloWorld">Creating First PRADO Application</a></li>
+ <li><a href="?page=GettingStarted.CommandLine">Command Line Tool</a></li>
<li><a href="?page=GettingStarted.Upgrading">Upgrading from v2.x and v1.x</a></li>
</ul>
</div>
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 @@ +<com:TContent ID="body" >
+<h1>Command Line Tool</h1>
+<p>The optional <tt>prado-cli.php</tt> PHP script file in the <tt>framework</tt>
+directory provides command line tools to perform various tendious taks in Prado.
+The <tt>prado-cli.php</tt> can be used to create Prado project skeletons, create
+initial test fixtures, and access to an interactive PHP shell.
+</p>
+<h2>Requirements</h2>
+<p>
+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.
+</p>
+
+<h2>Usage</h2>
+<p>
+If you type <tt>php path/to/framework/prado-cli.php</tt>, you should see
+the following information. Alternatively, if you are not on Windows,
+you may try to change the <tt>prado-cli.php</tt> into an executable
+and execute it as a script</p>
+<com:TTextHighlighter Language="cli" CssClass="source">
+Command line tools for Prado 3.0.5.
+usage: php prado-cli.php action <parameter> [optional]
+example: php prado-cli.php -c mysite
+
+actions:
+ -c <directory>
+ Creates a Prado project skeleton for the given <directory>.
+
+ -t <directory>
+ Create test fixtures in the given <directory>.
+
+ shell [directory]
+ Runs a PHP interactive interpreter. Initializes the Prado
+ application in the given [directory].
+</com:TTextHighlighter>
+
+<p>The <b><parameter></b> are required parameters and <b>[optional]</b>
+are optional parameters. </p>
+
+<h2>Creating a new Prado project skeleton</h2>
+
+<p>To create a Prado project skeleton, do the following:</p>
+<ol>
+ <li>Change to the directory where you want to create the project skeleton.</li>
+ <li>Type, <tt>php ../prado/framework/prado-cli.php -c helloworld</tt>, where
+ <tt>hellowworld</tt> is the directory name that you want to create the project skeleton files.</li>
+ <li>Type, <tt>php ../prado/framework/prado-cli.php <b>-t</b> helloworld</tt> to create
+ the test fixtures for the <tt>helloworld</tt> project.</li>
+</ol>
+
+<h2>Interactive Shell</h2>
+<p>
+The interactive shell allows you to evaluate PHP statements from te command line.
+The <tt>prado-cli.php</tt> 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 <tt>prado</tt> distribution directory and you type.
+</p>
+<p>
+<com:TTextHighlighter Language="cli" CssClass="source">
+$: php framework/prado-cli.php shell demos/blog
+</com:TTextHighlighter>
+The output should be
+<com:TTextHighlighter Language="cli" CssClass="source">
+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 <jan@kneschke.de>
+
+>> use '?' to open the inline help
+
+>>
+</com:TTextHighlighter>
+Then we will get an instance of the Prado blog application, and from
+that instance we want an instance of the <tt>'data'</tt> module.
+
+<com:TTextHighlighter Language="cli" CssClass="source">
+>> $app = Prado::getApplication();
+
+>> $db = $app->getModule('data');
+</com:TTextHighlighter>
+Lastly, we want to use the data module to query for a post with <tt>ID=1</tt>.
+<com:TTextHighlighter Language="cli" CssClass="source">
+>> $db->queryPostByID(1)
+</com:TTextHighlighter>
+There should not be any errors and you should see the following.
+<com:TTextHighlighter Language="cli" CssClass="source">
+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 <b>admin/prado</b> and update your password as soon as possib
+le.'
+ [Status] => 0
+ [CommentCount] => 0
+)
+</com:TTextHighlighter>
+</p>
+</com:TContent>
\ 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 <li><tt>pages</tt> - base path storing all PRADO pages.</li>
</ul>
+<div class="tip">
+<b class="tip">Tip:</b>You may also use the <tt>framework/prado-cli.php</tt>
+<a href="?page=GettingStarted.CommandLine">command line script</a>
+to create the Prado project directory structure. For example, type the command
+<tt>php path/to/prado-cli.php -c helloworld</tt> in the directory
+where you want to create the <tt>helloworld</tt> project.
+</div>
+
<p>
The three files that we need are explained as follows.
</p>
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 |