Using PHP include during conditional statements

2019-08-29 20:57发布

问题:

Is it possible to use an include statement that contains conditional statements in a control structure? It's hard to explain, so here's an example:

if (...) { 
} 
elseif (...) { 
} 
elseif (...) {
}
elseif (...) {
}
else {
}

Let's say my third elseif contained a lot of code and I wanted to put it in another file and use an include statement instead. Could I do that? When I tried to, it was giving my an "unexpected T_ELSE" error. So it would be something like this:

if (...) {
}
elseif (...) {
}
elseif (...) {
}
include 'abc.php';
else {
}

Also, I couldn't find many sources on the web that give a breakdown of the legal usage of include (I checked out php.net, too), like if you could put the conditions of a conditional statement in an separate file and use an include statement to call it, or use an include statement in an echo statement. If anyone has some good references, I'd appreciate it. Thank you all in advance.

回答1:

Yes, you can do that.

As Jared pointed out, the problem is that the include line isn't within a bracketed block.

However, conditional loading of code in this manner is typically frowned upon. You should only use it for determining what you will load as you need it. I recommend looking into auto-loading what you need, as the standard solution to this problem:

http://php.net/manual/en/language.oop5.autoload.php