diff options
Diffstat (limited to 'demos/quickstart')
| -rw-r--r--[-rwxr-xr-x] | demos/quickstart/protected/pages/GettingStarted/CommandLine.page | 242 | 
1 files changed, 136 insertions, 106 deletions
diff --git a/demos/quickstart/protected/pages/GettingStarted/CommandLine.page b/demos/quickstart/protected/pages/GettingStarted/CommandLine.page index 5f5dacb9..31509338 100755..100644 --- a/demos/quickstart/protected/pages/GettingStarted/CommandLine.page +++ b/demos/quickstart/protected/pages/GettingStarted/CommandLine.page @@ -1,106 +1,136 @@ -<com:TContent ID="body" >
 -<h1 id="501">Command Line Tool</h1>
 -<p id="70046" class="block-content">The optional <tt>prado-cli.php</tt> PHP script file in the <tt>framework</tt>
 -directory provides command line tools to perform various tedious takes 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 id="502">Requirements</h2>
 -<p id="70047" class="block-content">
 -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 id="503">Usage</h2>
 -<p id="70048" class="block-content">
 -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 block-content cli" id="code_70006">
 -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 id="70049" class="block-content">The <b><parameter></b> are required parameters and <b>[optional]</b>
 -are optional parameters. </p>
 -
 -<h2 id="504">Creating a new Prado project skeleton</h2>
 -
 -<p id="70050" class="block-content">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>helloworld</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 id="505">Interactive Shell</h2>
 -<p id="70051" class="block-content">
 -The interactive shell allows you to evaluate PHP statements from the 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 id="70052" class="block-content">
 -<com:TTextHighlighter Language="cli" CssClass="source block-content cli" id="code_70007">
 -$: php framework/prado-cli.php shell demos/blog
 -</com:TTextHighlighter>
 -The output should be
 -<com:TTextHighlighter Language="cli" CssClass="source block-content cli" id="code_70008">
 -Command line tools for Prado 3.0.5.
 -** Loaded Prado application 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. Notice that
 -a <b>semicolon</b> at the end of the line <b>suppresses the output</b>.
 -
 -<com:TTextHighlighter Language="cli" CssClass="source block-content cli" id="code_70009">
 ->> $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>. Notice that
 -we <b>leave out the semicolon</b> to show the results.
 -<com:TTextHighlighter Language="cli" CssClass="source block-content cli" id="code_70010">
 ->> $db->queryPostByID(1)
 -</com:TTextHighlighter>
 -There should not be any errors and you should see the following. 
 -<com:TTextHighlighter Language="cli" CssClass="source block-content cli" id="code_70011">
 -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 possible.'
 -    [Status] => 0
 -    [CommentCount] => 0
 -)
 -</com:TTextHighlighter>
 -</p>
 -</com:TContent>
 +<com:TContent ID="body" > +<h1 id="501">Command Line Tool</h1> +<p id="70046" class="block-content">The optional <tt>prado-cli.php</tt> PHP script file in the <tt>framework</tt> +directory provides command line tools to perform various tedious takes 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 id="502">Requirements</h2> +<p id="70047" class="block-content"> +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 id="503">Usage</h2> +<p id="70048" class="block-content"> +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 block-content cli" id="code_70006"> +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 id="70049" class="block-content">The <b><parameter></b> are required parameters and <b>[optional]</b> +are optional parameters. </p> + +<h2 id="504">Creating a new Prado project skeleton</h2> + +<p id="70050" class="block-content">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>helloworld</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 id="505">Interactive Shell</h2> +<p id="70051" class="block-content"> +The interactive shell allows you to evaluate PHP statements from the 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 id="70052" class="block-content"> +<com:TTextHighlighter Language="cli" CssClass="source block-content cli" id="code_70007"> +$: php framework/prado-cli.php shell demos/blog +</com:TTextHighlighter> +The output should be +<com:TTextHighlighter Language="cli" CssClass="source block-content cli" id="code_70008"> +Command line tools for Prado 3.0.5. +** Loaded Prado application 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. Notice that +a <b>semicolon</b> at the end of the line <b>suppresses the output</b>. + +<com:TTextHighlighter Language="cli" CssClass="source block-content cli" id="code_70009"> +>> $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>. Notice that +we <b>leave out the semicolon</b> to show the results. +<com:TTextHighlighter Language="cli" CssClass="source block-content cli" id="code_70010"> +>> $db->queryPostByID(1) +</com:TTextHighlighter> +There should not be any errors and you should see the following.  +<com:TTextHighlighter Language="cli" CssClass="source block-content cli" id="code_70011"> +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 possible.' +    [Status] => 0 +    [CommentCount] => 0 +) +</com:TTextHighlighter> +</p> + +<h2>Creating Active Record Classes</h2> +<p> +In the blog demo project, we need to create two <a href="?page=Database.ActiveRecord">Active Record</a> classes, <tt>UserRecord</tt> and <tt>PostRecord</tt>, to represent data records in the <tt>users</tt> and <tt>posts</tt> tables, respectively. Active Record classes must extend from the base class <tt>ActiveRecord</tt>, and must define property names that matches with the field names of the corresponding table. +</p> + +<p> +To better organize our directories, we create a new directory <tt>protected/database</tt> to hold the class files. We also modify our application configuration by inserting the following lines. It is equivalent to adding the directory <tt>protected/database</tt> to PHP include_path, which allows us to use the classes without explicitly including them. +</p> + +<com:TTextHighlighter CssClass="source" Language="xml"> +<paths> +  <using namespace="Application.database.*" /> +</paths> +</com:TTextHighlighter> + +<p> +At the prompt, enter the following two commands to create <tt>UserRecord</tt> and <tt>PostRecord</tt> classes: +</p> + +<com:TTextHighlighter CssClass="source cli" Language="text"> +>> generate users Application.database.UserRecord + +>> generate posts Application.database.PostRecord +</com:TTextHighlighter> + +<p> +Here we used the <a href="?page=Fundamentals.Components">namespace format</a> again to specify the classes to be created. The path <tt>Application.database.UserRecord</tt> indicates that we want the <tt>UserRecord</tt> class file to be <tt>protected/database/UserRecord.php</tt>. +</p> + +</com:TContent>  | 
