File: intro.xml

package info (click to toggle)
php-doc 20241205~git.dfcbb86%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 70,956 kB
  • sloc: xml: 968,269; php: 23,883; javascript: 671; sh: 177; makefile: 37
file content (203 lines) | stat: -rw-r--r-- 8,525 bytes parent folder | download | duplicates (2)
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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
 <chapter xml:id="introduction" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
  <info>
   <titleabbrev>Introduction</titleabbrev>
   <title>What is PHP and what can it do?</title>
  </info>

  <section xml:id="intro-whatis" annotations="chunk:false">
   <info><title>What is PHP?</title></info>
   <para>
    <acronym>PHP</acronym> (recursive acronym for <emphasis>PHP: Hypertext
    Preprocessor</emphasis>) is a widely-used open source general-purpose
    scripting language that is especially suited for web
    development and can be embedded into HTML.
   </para>
   <para>
    Nice, but what does that mean? An example:
   </para>
   <para>
    <example>
     <info><title>An introductory example</title></info>
     <programlisting role="php">
<![CDATA[
<!DOCTYPE html>
<html>
    <head>
        <title>Example</title>
    </head>
    <body>

        <?php
            echo "Hi, I'm a PHP script!";
        ?>

    </body>
</html>
]]>
     </programlisting>
    </example>
   </para>
   <para>
    Instead of lots of commands to output HTML (as seen in C or Perl),
    PHP pages contain HTML with embedded code that does
    <replaceable>something</replaceable> (in this case, output <computeroutput>Hi, I'm a PHP script!</computeroutput>).
    The PHP code is enclosed in special <link
    linkend="language.basic-syntax.phpmode">start and end processing
    instructions <code>&lt;?php</code> and <code>?&gt;</code></link>
    that allow jumping in and out of <quote>PHP mode.</quote>
   </para>
   <para>
    What distinguishes PHP from something like client-side JavaScript
    is that the code is executed on the server, generating HTML which
    is then sent to the client. The client would receive
    the results of running that script, but would not know
    what the underlying code was. A web server can even be configured
    to process all HTML files with PHP, and then there's no
    way that users can tell that PHP is being used.
   </para>
   <para>
    The best part about using PHP is that it is extremely simple
    for a newcomer, but offers many advanced features for
    a professional programmer. Don't be afraid to read the long
    list of PHP's features. With PHP, almost anyone can get up and running and be
    writing simple scripts in no time at all.
   </para>
   <para>
    Although PHP's development is focused on server-side scripting,
    much more can be done with it. Read on, and see more in the
    <link linkend="intro-whatcando">What can PHP do?</link> section,
    or go right to the <link linkend="tutorial">introductory
    tutorial</link> to jump straight to learning about web programming.
   </para>
  </section>

  <section xml:id="intro-whatcando" annotations="chunk:false">
   <info><title>What can PHP do?</title></info>
   <para>
    Anything. PHP is mainly focused on server-side scripting,
    so it can do anything any other CGI program can do, such
    as collect form data, generate dynamic page content, or
    send and receive cookies. But PHP can do much more.
   </para>
   <para>
    There are two main areas where PHP scripts are used.
    <itemizedlist>
     <listitem>
      <simpara>
       Server-side scripting. This is the most widely used
       and main target field for PHP. Three things are needed
       to make this work: the PHP parser (CGI or server
       module), a web server, and a web browser. All these can
       run on a local machine in order to just experiment
       with PHP programming. See the
       <link linkend="install">installation instructions</link>
       section for more information.
      </simpara>
     </listitem>
     <listitem>
      <simpara>
       Command line scripting. A PHP script can be run
       without any server or browser, only the
       PHP parser is needed to use it this way.
       This type of usage is ideal for scripts regularly
       executed using <command>cron</command> (on Unix or macOS) or Task Scheduler (on
       Windows). These scripts can also be used for simple text
       processing tasks. See the section about
       <link linkend="features.commandline">Command line usage of PHP</link>
       for more information.
      </simpara>
     </listitem>
    </itemizedlist>
   </para>
   <para>
    PHP can be <link linkend="install">used</link> on all major operating systems, including
    Linux, many Unix variants (including HP-UX, Solaris and OpenBSD),
    Microsoft Windows, macOS, RISC OS, and probably others.
    PHP also has support for most of the web servers today. This
    includes Apache, IIS, and many others. And this includes any
    web server that can utilize the FastCGI PHP binary, like lighttpd
    and nginx. PHP works as either a module, or as a CGI processor.
   </para>
   <para>
    So with PHP, developers have the freedom of choosing an operating
    system and a web server. Furthermore, they also have the choice
    of using procedural programming or object-oriented
    programming (OOP), or a mixture of them both.
   </para>
   <para>
    PHP is not limited to outputting HTML. PHP's abilities include
    outputting rich file types, such as images or PDF files, encrypting data,
    and sending emails. It can also output easily any text, such as JSON
    or XML. PHP can autogenerate these files, and save them in the
    file system, instead of printing it out, forming a server-side cache for
    dynamic content.
   </para>
   <para>
    One of the strongest and most significant features in PHP is its
    support for a <link linkend="refs.database">wide range of databases</link>. 
    Writing a database-enabled web page is incredibly simple using one of
    the database specific extensions (e.g., for <link linkend="book.mysqli">mysql</link>),
    or using an abstraction layer like <link linkend="book.pdo">PDO</link>, or connect
    to any database supporting the Open Database Connection standard via the
    <link linkend="book.uodbc">ODBC</link> extension. Other databases may utilize
    <link linkend="book.curl">cURL</link> or <link linkend="book.sockets">sockets</link>,
    like CouchDB.
   </para>
   <para>
    PHP also has support for talking to other services using protocols
    such as LDAP, IMAP, SNMP, NNTP, POP3, HTTP, COM (on Windows) and
    countless others. It can also open raw network sockets and
    interact using any other protocol. PHP has support for the WDDX
    complex data exchange between virtually all Web programming
    languages. Talking about interconnection, PHP has support for
    instantiation of Java objects and using them transparently
    as PHP objects.
   </para>
   <para>
    PHP has useful <link linkend="refs.basic.text">text processing</link> features,
    which includes the Perl compatible regular expressions (<link linkend="book.pcre">PCRE</link>),
    and many extensions and tools to <link linkend="refs.xml">parse and access XML documents</link>.
    PHP standardizes all of the XML extensions on the solid base of <link linkend="book.libxml">libxml2</link>,
    and extends the feature set adding <link linkend="book.simplexml">SimpleXML</link>,
    <link linkend="book.xmlreader">XMLReader</link> and <link linkend="book.xmlwriter">XMLWriter</link> support.
   </para>
   <para>
    And many other interesting extensions exist, which are categorized both
    <link linkend="extensions">alphabetically</link> and by <link linkend="funcref">category</link>.
    And there are additional <link linkend="install.pecl.intro">PECL extensions</link> that may or may not be documented
    within the PHP manual itself, like <link xlink:href="&url.xdebug;">XDebug</link>.
   </para>
   <para>
    This page is not enough to list all
    the features and benefits PHP can offer. Read on in
    the sections about <link linkend="install">installing
    PHP</link>, and see the <link linkend="funcref">function
    reference</link> part for explanation of the extensions
    mentioned here.
   </para>
  </section>

 </chapter>

<!-- 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:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->