Heim >Backend-Entwicklung >PHP-Tutorial >php 怎么使用流程下面require定义的函数

php 怎么使用流程下面require定义的函数

WBOY
WBOYOriginal
2016-06-13 10:14:49738Durchsuche

php 如何使用流程下面require定义的函数
这样能成功
$test = 'yes';
fna($test);
function fna($a)
{
  echo $a;
}
?>

但是这样就不能调用了
a.php
----
$test = 'yes';
fna($test);
require('b.php');
?>

b.php
----
function fna($a)
{
  echo $a;
}
?>

1,我知道把require放在前面就可以了直接调用了
2,google了一会还有一个解决办法使用 autoload机制

没有 "声明" 的办法解决吗


------解决方案--------------------
autoload只适用于自动加载类文件,对函数不行
“没有 "声明" 的办法解决吗” 这话什么意思? 你都知道require放在前面就好了,为什么还要走弯路呢?
------解决方案--------------------
用function_exists判断是否存在,不存在包含指定文件
------解决方案--------------------
“要先定义,后使用”这是批评 PHP 的主要论据之一
不是都说 php 草根吗?不规范吗?居然可以使用未经声明的变量,真是大逆不道!

于是 php 的开发者们就听取了你们的意见,放弃了 require 在编译期间的优先级
于是 require 和 include 就没有了质的区别

既然你们都坚持要“要先定义,后使用”,他又何必要维持灵活性呢?毕竟php是给你们当工具用的

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn