Jadual Kandungan
php中include文件变量作用域的研究,
第一种情况:A文件include B文件,在B文件中可以调用A中的变量。
第二种情况:A文件include B文件,然后在A文件中可以调用B文件的变量。
第三种情况:A文件的某个类的某个方法中调用B文件,然后在B文件中可以调用该方法中的变量。
第四种情况:A文件通过定义的一个函数引入B文件,在B文件中无法使用A中的变量,但是可以使用A文件中调用函数(display)中的变量。
Rumah pembangunan bahagian belakang tutorial php php中include文件变量作用域的研究,_PHP教程

php中include文件变量作用域的研究,_PHP教程

Jul 13, 2016 am 09:51 AM
include php Skop pembolehubah wujud dokumen daripada Penyelidikan

php中include文件变量作用域的研究,

 

在php中我们有时候需要include一个文件。比如我前段时间在写一个框架的时候,打算用原生的php作为模板,然后写一个display方法引入模板文件就可以,但是这只是我的意淫而已。

写完后发现在模板中所有的变量都提示未定义。通过各种研究和查找资料,总结了include文件时的几种情况下的作用域。

 

第一种情况:A文件include B文件,在B文件中可以调用A中的变量。

A文件代码

<?<span>php
 </span><span>$aaa</span> = '123'<span>;
 
 </span><span>include</span> "B.php";
Salin selepas log masuk

B文件代码:

<?<span>php

</span><span>echo</span> <span>$aaa</span>;
Salin selepas log masuk

可以正常输出内容。

第二种情况:A文件include B文件,然后在A文件中可以调用B文件的变量。

A文件代码

<?<span>php

</span><span>include</span> "B.php"<span>;

</span><span>echo</span> <span>$fff</span>;
Salin selepas log masuk

B文件代码

<?<span>php

</span><span>$fff</span> = 'i am f';
Salin selepas log masuk

这个时候是可以正常输出内容的。

第三种情况:A文件的某个类的某个方法中调用B文件,然后在B文件中可以调用该方法中的变量。

A文件代码

<?<span>php

</span><span>class</span><span> test{
    </span><span>public</span> <span>function</span><span> show(){
        </span><span>$bbb</span> = 'abc'<span>;
        </span><span>include</span> "B.php"<span>;
    }
}

</span><span>$t</span> = <span>new</span><span> test;
</span><span>$t</span>->show();
Salin selepas log masuk

B文件的代码

<?<span>php

</span><span>echo</span> <span>$bbb</span>;
Salin selepas log masuk

这个时候是可以正常输出内容的。

第四种情况:A文件通过定义的一个函数引入B文件,在B文件中无法使用A中的变量,但是可以使用A文件中调用函数(display)中的变量。

A文件代码:

<?<span>php
</span><span>$aaa</span> = '123'<span>;

</span><span>function</span> display(<span>$file</span><span>){
    </span><span>$bbb</span>= 'asdasdas'<span>;
    </span><span>include</span> <span>$file</span><span>;
}

display(</span>"B.php");
Salin selepas log masuk

B文件代码:

<?<span>php
</span><span>echo</span> <span>$aaa</span><span>;
</span><span>echo</span> <span>$bbb</span>;
Salin selepas log masuk

运行后$aaa提示未定义,$bbb可以正常输出。

 原文链接:http://www.cnblogs.com/dragondean/

所以我开始准本用一个display方法来引入模板是不可行的。根据方面的三种情况,最后我选择了写一个类来导入模板文件。目前ThinkPHP和Smarty也都是用类来引入模板文件的。文中不足之处欢迎指正。

 

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1015276.htmlTechArticlephp中include文件变量作用域的研究, 在php中我们有时候需要include一个文件。比如我前段时间在写一个框架的时候,打算用原生的php作为模板...
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Dec 24, 2024 pm 04:42 PM

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian

Konfigurasi Projek CakePHP Konfigurasi Projek CakePHP Sep 10, 2024 pm 05:25 PM

Konfigurasi Projek CakePHP

Tarikh dan Masa CakePHP Tarikh dan Masa CakePHP Sep 10, 2024 pm 05:27 PM

Tarikh dan Masa CakePHP

Muat naik Fail CakePHP Muat naik Fail CakePHP Sep 10, 2024 pm 05:27 PM

Muat naik Fail CakePHP

Penghalaan CakePHP Penghalaan CakePHP Sep 10, 2024 pm 05:25 PM

Penghalaan CakePHP

Bincangkan CakePHP Bincangkan CakePHP Sep 10, 2024 pm 05:28 PM

Bincangkan CakePHP

Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Dec 20, 2024 am 11:31 AM

Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP

Panduan Ringkas CakePHP Panduan Ringkas CakePHP Sep 10, 2024 pm 05:27 PM

Panduan Ringkas CakePHP

See all articles