浅谈php中include文件变量作用域
发布:smiling 来源: PHP粉丝网 添加日期:2021-05-28 21:37:38 浏览: 评论:0
本文给大家总结了php中include文件时的几种情况下的作用域,十分的简单实用,希望对大家熟悉include的使用能够有所帮助。
在php中我们有时候需要include一个文件,比如我前段时间在写一个框架的时候,打算用原生的php作为模板,然后写一个display方法引入模板文件就可以,但是这只是我的意淫而已。
写完后发现在模板中所有的变量都提示未定义。通过各种研究和查找资料,总结了include文件时的几种情况下的作用域。
第一种情况:A文件include B文件,在B文件中可以调用A中的变量。
A文件代码:
- $aaa = '123';
- include "B.php";
B文件代码:
echo $aaa;
可以正常输出内容。
第二种情况:A文件include B文件,然后在A文件中可以调用B文件的变量。
A文件代码:
include "B.php";
echo $fff;
B文件代码:
$fff = 'i am f';
这个时候是可以正常输出内容的。
第三种情况:A文件的某个类的某个方法中调用B文件,然后在B文件中可以调用该方法中的变量。
A文件代码:
- class test{
- public function show(){
- $bbb = 'abc';
- include "B.php";
- }
- }
- $t = new test;
- $t->show();
B文件的代码:
echo $bbb;
这个时候是可以正常输出内容的。
第四种情况:A文件通过定义的一个函数引入B文件,在B文件中无法使用A中的变量,但是可以使用A文件中调用函数(display)中的变量。
A文件代码:
- $aaa = '123';
- function display($file){
- $bbb= 'asdasdas';
- include $file;
- }
- display("B.php");
B文件代码:
echo $aaa;
echo $bbb;
运行后$aaa提示未定义,$bbb可以正常输出。
所以我开始准本用一个display方法来引入模板是不可行的,根据方面的三种情况,最后我选择了写一个类来导入模板文件,目前ThinkPHP和Smarty也都是用类来引入模板文件的,文中不足之处欢迎指正。
Tags: php文件变量 include
- 上一篇:php实现只保留mysql中最新1000条记录
- 下一篇:PHP实现获取中英文首字母
相关文章
- ·php include()调用文件简单实例(2013-11-29)
- ·php中文目录 include错误解决(2013-11-29)
- ·php include与require用法介绍(2013-11-30)
- ·require,include和require_once,include_once 出现open_basedir错误(2013-12-03)
- ·include的妙用,实现路径加密(2014-01-14)
- ·php中文件包含include(),require()介绍(2014-01-16)
- ·php中include_once和require_once性能分析(2014-02-27)
- ·php include()带参数实现方法(2014-03-02)
- ·php留言板制作教程(2014-03-11)
- ·PHP中全局变量global详解(2014-03-13)
- ·php中include require utf-8文件时出现空格(2014-03-18)
- ·php关于require和include的区别(2014-05-27)
- ·PHP中include()与require()的区别说明(2018-08-02)
- ·php中set_include_path和require,include介绍(2018-09-14)
- ·简单谈谈PHP中的include、include_once、require以及require_once语句(2019-08-22)
- ·php中的路径问题与set_include_path使用介绍(2020-09-09)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)