diff options
Diffstat (limited to 'demos/quickstart/protected/pages')
-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> |