| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 16656 -->
- <!-- Reviewed: no -->
- <sect1 id="zend.tool.framework.clitool">
- <title>Usando la herramienta CLI</title>
- <para>
- The
- <acronym>CLI</acronym>
- , or command line tool (internally known as the console tool),
- is currently the primary
- interface for dispatching
- <classname>Zend_Tool</classname>
- requests. With the
- <acronym>CLI</acronym>
- tool, developers can issue tooling requests
- inside the "command line windows", also commonly
- known as a "terminal"
- window. This environment is predominant in the *nix environment, but
- also has a common implementation in windows with the
- <filename>cmd.exe</filename>
- , console2 and also with the Cygwin project.
- </para>
- <sect2 id="zend.tool.framework.clitool.setup-general">
- <title>Setting up the CLI tool</title>
- <para>
- To issue tooling requests via the command line client, you first
- need to set up the
- client so that your system can handle the "zf"
- command. The command line client, for all
- intents and purposes, is
- the
- <filename>.sh</filename>
- or
- <filename>.bat</filename>
- file that is provided with
- your Zend Framework distribution. In trunk, it can be found
- here:
- <ulink url="http://framework.zend.com/svn/framework/standard/trunk/bin/">
- http://framework.zend.com/svn/framework/standard/trunk/bin/
- </ulink>
- .
- </para>
- <para>
- As you can see, there are 3 files in the
- <filename>/bin/</filename>
- directory: a
- <filename>zf.php</filename>
- ,
- <filename>zf.sh</filename>
- , and
- <filename>zf.bat</filename>
- . The
- <filename>zf.sh</filename>
- and the
- <filename>zf.bat</filename>
- are the operating system specific client
- wrappers:
- <filename>zf.sh</filename>
- for the *nix environment, and
- <filename>zf.bat</filename>
- for the Win32 environment. These client wrappers are
- responsible for finding the proper
- <filename>php.exe</filename>
- , finding the
- <filename>zf.php</filename>
- , and passing on the client request. The
- <filename>zf.php</filename>
- is the responsible for handling understanding
- your environment, constructing the proper
- include_path, and passing
- what is provided on the command line to the proper library
- component
- for dispatching.
- </para>
- <para>
- Ultimately, you want to ensure two things to make everything work
- regardless of the
- operating system you are on:
- </para>
- <orderedlist>
- <listitem>
- <para>
- <filename>zf.sh/zf.bat</filename>
- is reachable from your system
- path. This is the ability to call
- <command>zf</command>
- from
- anywhere on your command line, regardless of what your
- current working
- directory is.
- </para>
- </listitem>
- <listitem>
- <para>
- <filename>ZendFramework/library</filename>
- is in your
- <property>include_path</property>
- .
- </para>
- </listitem>
- </orderedlist>
- <note>
- <para>
- Note: while the above are the most ideal
- requirements, you can simply download Zend
- Framework and expect it
- to work as
- <filename>./path/to/zf.php</filename>
- some command.
- </para>
- </note>
- </sect2>
- <sect2 id="zend.tool.framework.clitool.setup-starnix">
- <title>Setting up the CLI tool on Unix-like Systems</title>
- <para>
- The most common setup in the *nix environment, is to copy the
- <filename>zf.sh</filename>
- and
- <filename>zf.php</filename>
- into the same directory
- as your
- <acronym>PHP</acronym>
- binary. This can generally be found in one of the
- following places:
- </para>
- <programlisting language="text"><![CDATA[
- /usr/bin
- /usr/local/bin
- /usr/local/ZendServer/bin/
- /Applications/ZendServer/bin/
- ]]></programlisting>
- <para>
- To find out the location of your
- <acronym>PHP</acronym>
- binary, you can execute 'which
- php' on the command line. This will return the location of
- the
- <acronym>PHP</acronym>
- binary you will be using to run
- <acronym>PHP</acronym>
- scripts in this environment.
- </para>
- <para>
- The next order of business is to ensure that Zend Framework
- library is set up correctly
- inside of the system
- <acronym>PHP</acronym>
- <property>include_path</property>
- . To find out where your
- <property>include_path</property>
- is located, you can execute
- <command>php -i</command>
- and look for the
- <property>include_path</property>
- variable, or more succinctly,
- execute
- <command>php -i | grep include_path</command>
- . Once you have found where
- your
- <property>include_path</property>
- is located (this will generally be
- something like
- <filename>/usr/lib/php</filename>
- ,
- <filename>/usr/share/php</filename>
- ,
- <filename>/usr/local/lib/php</filename>
- , or similar), ensure that the contents of the
- <filename>/library/</filename>
- directory are put
- inside your
- <property>include_path</property>
- specified directory.
- </para>
- <para>
- Once you have done those two things, you should be able to issue a
- command and get back
- the proper response like this:
- </para>
- <para>
- <inlinegraphic scale="100" align="center" valign="middle"
- fileref="figures/zend.tool.framework.cliversionunix.png" format="PNG"/>
- </para>
- <para>
- If you do not see this type of output, go back and check your setup
- to ensure you have
- all of the necessary pieces in the proper place.
- </para>
- <para>
- There are a couple of alternative setups you might want to employ
- depending on your
- servers configuration, your level of access, or
- for other reasons.
- </para>
- <para>
- <emphasis>Alternative Setup</emphasis>
- involves keeping the Zend
- Framework download together as is, and creating a link from a
- <constant>PATH</constant>
- location to the
- <filename>zf.sh</filename>
- . What this means is you can
- place the contents of the ZendFramework download into a
- location
- such as
- <filename>/usr/local/share/ZendFramework</filename>
- , or more locally
- like
- <filename>/home/username/lib/ZendFramework</filename>
- , and creating a
- symbolic link to the
- <filename>zf.sh</filename>
- .
- </para>
- <para>
- Assuming you want to put the link inside
- <filename>/usr/local/bin</filename>
- (this could also work for placing the link inside
- <filename>/home/username/bin/</filename>
- for example) you would issue a
- command similar to this:
- </para>
- <programlisting language="sh"><![CDATA[
- ln -s /usr/local/share/ZendFramework/bin/zf.sh /usr/local/bin/zf
- # OR (for example)
- ln -s /home/username/lib/ZendFramework/bin/zf.sh /home/username/bin/zf
- ]]></programlisting>
- <para>
- This will create a link which you should be able to access globally
- on the command
- line.
- </para>
- </sect2>
- <sect2 id="zend.tool.framework.clitool.setup-windows">
- <title>Setting up the CLI tool on Windows</title>
- <para>
- The most common setup in the Windows Win32 environment, is to copy
- the
- <filename>zf.bat</filename>
- and
- <filename>zf.php</filename>
- into the same
- directory as your
- <acronym>PHP</acronym>
- binary. This can generally be found in one of
- the following places:
- </para>
- <programlisting language="text"><![CDATA[
- C:\PHP
- C:\Program Files\ZendServer\bin\
- C:\WAMP\PHP\bin
- ]]></programlisting>
- <para>
- You should be able to run
- <filename>php.exe</filename>
- on the command line.
- If you are not able to, first check the documentation that came with
- your
- <acronym>PHP</acronym>
- distribution, or ensure that the path to
- <filename>php.exe</filename>
- is in your
- Windows
- <constant>PATH</constant>
- environment variable.
- </para>
- <para>
- The next order of business is to ensure that Zend Framework
- library is set up correctly
- inside of the system
- <acronym>PHP</acronym>
- <property>include_path</property>
- . To find out where your
- <property>include_path</property>
- is located, you can type
- <command>php -i</command>
- and
- look for the
- <property>include_path</property>
- variable, or more succinctly
- execute
- <command>php -i | grep include_path</command>
- if you have Cygwin setup with
- grep available. Once you have found where your
- <property>include_path</property>
- is located (this will generally be
- something like
- <filename>C:\PHP\pear</filename>
- ,
- <filename>C:\PHP\share</filename>
- ,
- <filename>C:\Program%20Files\ZendServer\share</filename>
- or similar), ensure
- that the contents of the library/ directory are put inside your
- <property>include_path</property>
- specified directory.
- </para>
- <para>
- Once you have done those two things, you should be able to issue a
- command and get back
- the proper response like this:
- </para>
- <para>
- <inlinegraphic scale="100" align="center" valign="middle"
- fileref="figures/zend.tool.framework.cliversionwin32.png" format="PNG"/>
- </para>
- <para>
- If you do not see this type of output, go back and check your setup
- to ensure you have
- all of the necessary pieces in the proper place.
- </para>
- <para>
- There are a couple of alternative setups you might want to employ
- depending on your
- server's configuration, your level of access, or
- for other reasons.
- </para>
- <para>
- <emphasis>Alternative Setup</emphasis>
- involves keeping the Zend
- Framework download together as is, and altering both your
- system
- <constant>PATH</constant>
- as well as the
- <filename>php.ini</filename>
- file.
- In your user's environment, make sure to add
- <filename>C:\Path\To\ZendFramework\bin</filename>
- , so that your
- <filename>zf.bat</filename>
- file is executable. Also, alter the
- <filename>php.ini</filename>
- file to ensure that
- <filename>C:\Path\To\ZendFramework\library</filename>
- is in your
- <property>include_path</property>
- .
- </para>
- </sect2>
- <sect2 id="zend.tool.framework.clitool.setup-othernotes">
- <title>Other Setup Considerations</title>
- <para>
- If for some reason you do not want Zend Framework library inside
- your
- <property>include_path</property>
- , there is another option. There are
- two special environment variables that
- <filename>zf.php</filename>
- will
- utilize to determine the location of your Zend Framework
- installation.
- </para>
- <para>
- The first is
- <constant>ZEND_TOOL_INCLUDE_PATH_PREPEND</constant>
- , which will
- prepend the value of this environment variable to the system
- (
- <filename>php.ini</filename>
- )
- <property>include_path</property>
- before loading the
- client.
- </para>
- <para>
- Alternatively, you might want to use
- <constant>ZEND_TOOL_INCLUDE_PATH</constant>
- to completely
- <emphasis>replace</emphasis>
- the system
- <property>include_path</property>
- for one that makes sense specifically for the
- <command>zf</command>
- command line tool.
- </para>
- </sect2>
- <sect2 id="zend.tool.framework.clitool.continuing">
- <title>Where To Go Next?</title>
- <para>
- At this point, you should be set up to start initiating some more
- "interesting" commands.
- To get going, you can issue the
- <command>zf --help</command>
- command to see what is available to you.
- </para>
- <para>
- <inlinegraphic scale="100" align="center" valign="middle"
- fileref="figures/zend.tool.framework.clihelp.png" format="PNG"/>
- </para>
- <para>
- Continue on to the
- <classname>Zend_Tool_Project</classname>
- "Create Project"
- section to understand how to use the
- <command>zf</command>
- script for
- project creation.
- </para>
- </sect2>
- </sect1>
|