>백엔드 개발 >PHP 튜토리얼 > php 怎么使用流程下面require定义的函数

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

WBOY
WBOY원래의
2016-06-13 13:37:12862검색

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是给你们当工具用的

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.