Is this a bad practice?
like:
function boo(){
require_once(\"class.moo.php\");
}
...
?
Yes it is bad practice; no it's not.
You're likely going to get both answers, and here's why:
If you use __autoload
(or equivalent), calling:
function someFunc()
{
$n = new UndefinedClassName();
}
is equivalent to:
function someFunc()
{
include('path/to/UndefinedClassName.php');
//may be require_once, include_once, include, or require
//depending on how autoload is written
$n = new UndefinedClassName();
}
But you'll get better performance out of your code if you avoid using __autoload
. And to maintain your code, it's better to put all your includes
at the top of the script like you would for import
statements in other languages.
include('path/to/UndefinedClassName.php');
...code...
function someFunc()
{
$n = new UndefinedClassName();
}
I would suggest consistency. If you consistently call the include
in the functions, you shouldn't have too many issues, but I would choose imports at the beginnings of files, or as autoloads
.