diff options
| author | Daniel <darthdaniel85@gmail.com> | 2013-12-20 15:36:31 -0500 | 
|---|---|---|
| committer | Daniel <darthdaniel85@gmail.com> | 2013-12-20 15:36:31 -0500 | 
| commit | ec9ebfe3f0680b6f451829bf0111eb69fe092b24 (patch) | |
| tree | 75c6a1b9e8a4b33ff08862f144b29665b699ba56 /demos/quickstart/protected/pages/GettingStarted/CommandLine.page | |
| parent | 35c487b3784909a1c00b5c78d99a25ba8a9222c6 (diff) | |
release v1.0
Diffstat (limited to 'demos/quickstart/protected/pages/GettingStarted/CommandLine.page')
| -rw-r--r-- | demos/quickstart/protected/pages/GettingStarted/CommandLine.page | 272 | 
1 files changed, 136 insertions, 136 deletions
diff --git a/demos/quickstart/protected/pages/GettingStarted/CommandLine.page b/demos/quickstart/protected/pages/GettingStarted/CommandLine.page index 31509338..bc8f2f55 100644 --- a/demos/quickstart/protected/pages/GettingStarted/CommandLine.page +++ b/demos/quickstart/protected/pages/GettingStarted/CommandLine.page @@ -1,136 +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> - -<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> +<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>
  | 
