1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
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>
|