cvs: phpdoc-cs /features commandline.xml

[email protected] ("Jakub Vrana") Sun, 07 Dec 2003 14:06:29 -0000
Newsgroups php.doc.cs
Message-ID <cvsvrana1070805989@cvsserver>
vrana		Sun Dec  7 09:06:29 2003 EDT

  Added files:                 
    /phpdoc-cs/features	commandline.xml 
  Log:
  Moved from appendices
vrana-20031207090629.txt (text/plain, 9.5 KB)
Index: phpdoc-cs/features/commandline.xml
+++ phpdoc-cs/features/commandline.xml
<?xml version="1.0" encoding="iso-8859-2"?>
<!-- EN-Revision: 1.9 Maintainer: luk Status: ready -->

<!-- 
   TODO:
   
     The command line options not in the
     list, but in the -h output below:
   
       -e, -z
    
     It would be best to document these, and
     collect more info about -c and -d!
-->
<appendix id="commandline">
 <title>Pou¾ití PHP z pøíkazové øádky</title>
 <para>
  Mo¾nosti PHP pøi spou¹tìní z pøíkazové øádky pøiná¹ejí mnoho u¾itku,
  pokud chcete ladit nebo testovat va¹e nastavení PHP, hodí se v¹ak
  i pro pøípady, kdy byste rádi pou¾ili PHP pro jiné úèely ne¾ WWW
  skriptování.  
 </para>
 <para>
  Uvìdomte si, ¾e mù¾ete v¾dy smìrovat výstup programu PHP do vnìj¹ího
  souboru pomocí znaku &gt;, tak¾e <literal>php -q test.php >
  test.html</literal> vytiskne výstup <filename>test.php</filename>
  bez HTTP hlavièek do <filename>test.html</filename> ve stejném adresáøi.  
 </para>
 <para>
  Mo¾nosti pøíkazové øádky mù¾ete vyu¾ívat pouze tehdy, máte-li (spustitelný)
  program PHP. Pokud jste zkompilovali pouze modul do serveru a nemáte na
  poèítaèi ¾ádnou CGI verzi, nemù¾ete pøíkazovou øádku pou¾ívat.
  Pro u¾ivatele Windows je v binárním balíèku jak serverový modul, tak
  spustitelný soubor nazvaný <filename>php.exe</filename>.
 </para>
 <para>
  Tento seznem voleb pro pøíkazovou øádku je konzistentní s PHP 4.0.6.
  Aktuální seznam vèetnì jednoøádkových popisù mù¾ete získat pomocí parametru
  <literal>-h</literal>. Výstup <literal>php -h</literal> by mìl vypadat
  pøibli¾nì takto:  
  <screen>
<![CDATA[
Usage: php [-q] [-h] [-s [-v] [-i] [-f <file>] |  {<file> [args...]}
  -q             Quiet-mode.  Suppress HTTP Header output.
  -s             Display colour syntax highlighted source.
  -f <file>      Parse <file>.  Implies `-q'
  -v             Version number
  -C             Do not chdir to the script's directory
  -c <path>      Look for php.ini file in this directory
  -d foo[=bar]   Define INI entry foo with value 'bar'
  -e             Generate extended information for debugger/profiler
  -z <file>      Load Zend extension <file>.
  -l             Syntax check only (lint)
  -m             Show compiled in modules
  -i             PHP information
  -h             This help
]]>
  </screen>
 </para>
 <para>
  Zde uvádíme nìkteré z nejdùle¾itìj¹ích voleb s detailním vysvìtlením.  
 </para>
 <para>
  <table>
   <title>Volby pro pøíkazovou øádku</title>
   <tgroup cols="2">
    <thead>
     <row>
      <entry>Volba</entry>
      <entry>Popis</entry>
     </row>
    </thead>
    <tbody>
     <row>
      <entry>-q</entry>
      <entry>
       Potlaèí výstup HTTP hlavièek. Normálnì PHP tiskne HTTP hlavièky
       pro volající program (typicky WWW server) k pøedání prohlí¾eèi.
       Pøi pou¾ití pro aplikace spou¹tìné z pøíkazové øádky nemají hlavièky
       smysl.
      </entry>
     </row>
     <row>
      <entry>-s</entry>
      <entry>
       Zobrazí barevnì vysvícený zdrojový soubor s daným názvem.
       Je to toté¾, jako kdy¾ se zdroj vytiskne pomocí funkce
       <function>highlight_file</function> v PHP skriptu.
      </entry>
     </row>
     <row>
      <entry>-f</entry>
      <entry>
       Parsuje daný soubor a hledá syntaktické a fatální chyby.
       Tato volba implikuje -q. Pou¾ijte pro ladicí úèely
       (debugging).       
      </entry>
     </row>
     <row>
      <entry>-v</entry>
      <entry>
       Zavoláním PHP s tímto pøepínaèem si mù¾ete vypsat èíslo verze,
       napø. 4.0.6.        
      </entry>
     </row>
     <row>
      <entry>-C</entry>
      <entry>
       Za normálních okolností PHP mìní pracovní adresáø na ten, kde se
       nachází spou¹tìný skript. To napøíklad umo¾òuje otvírat soubory
       ve stejném adresáøi urèením pouhého názvu souboru (bez cesty).
       Pokud byste toto chtìli potlaèit, pou¾ijte tuto volbu.       
      </entry>
     </row>
     <row>
      <entry>-c</entry>
      <entry>
       Pou¾itím tohoto argumentu mù¾ete specifikovat alternativní
       umístìní souboru <filename>php.ini</filename>, tak¾e PHP bude
       hledat konfiguraèní soubor zde namísto implicitního umístìní.       
      </entry>
     </row>
     <row>
      <entry>-d</entry>
      <entry>
       Touto volbou mù¾ete provést individuální nastavení        
       <filename>php.ini</filename> bìhem provádìní skriptu.
      </entry>
     </row>
     <row>
      <entry>-l</entry>
      <entry>
       Otestuje daný soubor na syntaktické chyby. Tato volba implikuje
       -q. Pou¾ijte ji pro úèely ladìní. Nebudou se hledat fatální chyby
       (jako jsou nedefinované funkce). Pokud chcete hledat i fatální
       chyby, pou¾ijte -f.       
      </entry>
     </row>
     <row>
      <entry>-m</entry>
      <entry>
       Pou¾itím této volby PHP vypí¹e zabudované (a naètené) PHP a Zend
       moduly, èísla verzí PHP a Zend, a také krátkou informaci o
       autorských právech k jádru Zend.       
      </entry>
     </row>
     <row>
      <entry>-i</entry>
      <entry>
       Tento pøepínaè zavolá funkci <function>phpinfo</function> a vypí¹e
       její výsledek. Pokud PHP nepracuje správnì, je dobré spustit
       <literal>php -i</literal> a podívat se, zda se nevypsala nìjaká
       chybová hlá¹ení pøed nebo uvnitø informaèních tabulek.
      </entry>
     </row>
     <row>
      <entry>-h</entry>
      <entry>
       Touto volbou získáte informace o aktuálních volbách pøíkazové øádky
       a jednoøádkové popisy o tom, co dìlají.       
      </entry>
     </row>
    </tbody>
   </tgroup>
  </table>
 </para>
 <para>
  Spustitelná verze PHP mù¾e být pou¾ita pro spou¹tìní skriptù absolutnì
  nezávisle na webovském serveru. Pokud jste na unixovém systému, mù¾ete
  do PHP skriptu pøidat speciální první øádek a udìlat z nìj spustitelný
  program - systém bude vìdìt, jaký program by mìl skript zpracovávat.
  Na Windows mù¾ete asociovat <literal>php.exe -q</literal> se souborovou
  pøíponou <literal>.php</literal> (pro spou¹tìní dvojklikem), nebo mù¾ete
  vytvoøit dávkový soubor pro spu¹tìní skriptu pøes PHP. První øádek skriptu
  pro práci v Unixu nebude ve Windows vadit, tak¾e tímto zpùsobem mù¾ete
  psát programy pro více platforem. Jednoduchý pøíklad psaní PHP programu
  pro pøíkazovou øádku je uveden ní¾e.    
 </para>
 <example>
  <title>Skript urèený ke spou¹tìní z pøíkazové øádky (script.php)</title>
  <programlisting role="php">
<![CDATA[
#!/usr/bin/php -q
<?php

if ($argc != 2 || in_array($argv[1], array('--help', '-help', '-h', '-?'))) {
?>

This is a command line PHP script with one option.

  Usage:
  <?php echo $argv[0]; ?> <option>

  <option> can be some word you would like
  to print out. With the --help, -help, -h,
  or -? options, you can get this help.

<?php
} else {
    echo $argv[1];
}
?>
]]>
  </programlisting>
 </example>
 <para>
  Ve vý¹e uvedeném skriptu jsme pou¾ili speciální první øádek k indikaci,
  ¾e by tento soubor mìl být spou¹tìn pomocí PHP a nemìl by vypisovat
  HTTP hlavièky. Jsou zde dvì promìnné, které mù¾ete pou¾ít pøi psaní
  aplikací pro PHP spou¹tìných z pøíkazové øádky:
  <varname>$argc</varname> a
  <varname>$argv</varname>. První z nich je poèet argumentù + 1 (název
  bì¾ícího skriptu). Druhá je pole obsahující argumenty, poèínaje názvem
  skriptu jako èíslo 0 (<varname>$argv[0]</varname>).
 </para>
 <para>
  V ukázkovém programu se testuje, zda je argumentù více èi ménì ne¾ jeden.
  Pokud by argument byl <literal>--help</literal>,
  <literal>-help</literal>, <literal>-h</literal> nebo <literal>-?</literal>,
  vytiskne se nápovìda k programu vèetnì skuteèného názvu skriptu.
  Pokud by byly pøidány nìjaké dal¹í argumenty, vytisknou se na výstup.  
 </para>
 <para>
  Pokud byste chtìli spou¹tìt uvedený skript pod Unixem, musíte ho udìlat
  spustitelným (nastavit práva pro spou¹tìní), a pak jednodu¹e napsat
  <literal>script.php vypis_tohle</literal> nebo
  <literal>script.php -h</literal>. Na Windows musíte pro tento úkol vytvoøit
  dávkový soubor:  
 </para>
 <example>
  <title>Dávkový soubor pro spou¹tìní PHP skriptu z pøíkazové øádky (script.bat)</title>
  <programlisting role="winbat">
@c:\php\php.exe -q script.php %1 %2 %3 %4
  </programlisting>
 </example>
 <para>
  Za pøedpokladu, ¾e jste vý¹e uvedený program nazvali
  <filename>script.php</filename> a soubor
  <filename>php.exe</filename> máte ulo¾ený jako
  <filename>c:\php\php.exe</filename>, mù¾ete tento dávkový soubor spou¹tìt
  takto:  
  <literal>script.bat echothis</literal> nebo
  <literal>script.bat -h</literal>.
 </para>
 <para>
  Viz také dokumentaci roz¹íøení <link linkend="ref.readline">Readline</link>,
  kde najdete více funkcí pro pou¾ití k aplikacím PHP spou¹tìných z
  pøíkazové øádky.  
 </para>
</appendix>

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
-->