requirePodręcznik PHPPoprzedniRozdział 11. Control StructuresNastępnyrequire()
The require() statement replaces itself with
the specified file, much like the C preprocessor's
#include works.
If "URL fopen wrappers" are enabled in PHP (which they are in the
default configuration), you can specify the file to be
require()ed using an URL instead of a local
pathname. See Remote
files and fopen() for more information.
An important note about how this works is that when a file is
include()ed or require()ed,
parsing drops out of PHP mode and into HTML mode at the beginning
of the target file, and resumes PHP mode again at the end. For
this reason, any code inside the target file which should be
executed as PHP code must be enclosed within valid PHP start and end
tags.
require() is not actually a function in PHP;
rather, it is a language construct. It is subject to some
different rules than functions are. For instance,
require() is not subject to any containing
control structures. For another, it does not return any value;
attempting to read a return value from a
require() call results in a parse error.
Unlike include(), require()
will always read in the target file,
even if the line it's on never executes. If
you want to conditionally include a file, use
include(). The conditional statement won't
affect the require(). However, if the line on
which the require() occurs is not executed,
neither will any of the code in the target file be executed.
Similarly, looping structures do not affect the behaviour of
require(). Although the code contained in the
target file is still subject to the loop, the
require() itself happens only once.
This means that you can't put a require()
statement inside of a loop structure and expect it to include the
contents of a different file on each iteration. To do that, use an
include() statement.
require ('header.php');
When a file is require()ed, the code it
contains inherits the variable scope of the line on which the
require() occurs. Any variables available at
that line in the calling file will be available within the called
file. If the require() occurs inside a
function within the calling file, then all of the code contained
in the called file will behave as though it had been defined
inside that function.
If the require()ed file is called via HTTP
using the fopen wrappers, and if the target server interprets the
target file as PHP code, variables may be passed to the
require()ed file using an URL request string as
used with HTTP GET. This is not strictly speaking the same thing
as require()ing the file and having it inherit
the parent file's variable scope; the script is actually being run
on the remote server and the result is then being included into
the local script.
/* This example assumes that someserver is configured to parse .php
* files and not .txt files. Also, 'works' here means that the variables
* $varone and $vartwo are available within the require()ed file. */
/* Won't work; file.txt wasn't handled by someserver. */
require ("http://someserver/file.txt?varone=1&vartwo=2");
/* Won't work; looks for a file named 'file.php?varone=1&vartwo=2'
* on the local filesystem. */
require ("file.php?varone=1&vartwo=2");
/* Works. */
require ("http://someserver/file.php?varone=1&vartwo=2");
$varone = 1;
$vartwo = 2;
require ("file.txt"); /* Works. */
require ("file.php"); /* Works. */
In PHP 3, it is possible to execute a return
statement inside a require()ed file, as long as
that statement occurs in the global scope of the
require()ed file. It may not occur within any
block (meaning inside braces ({}). In PHP 4, however, this ability
has been discontinued. If you need this functionality, see
include().
See also include(), require_once(),
include_once(), readfile(),
and virtual().
PoprzedniSpis treściNastępnydeclarePoczątek rozdziałuinclude()
Wyszukiwarka
Podobne podstrony:
function require oncefunction requirefunction requirefunction require oncefunction get required filesfunction get required filesfunction fdf next field namereview requirements tmS4695E9function ccvs voidfunction mysql errorfunction mcal event set endfunction mcrypt cbcFunctional Origins of Religious Concepts Ontological and Strategic Selection in Evolved Mindsfunction domnode get contentwięcej podobnych podstron