显示不同文件输出的php文件
我对PHP编程非常陌生。我试图用Drupal编写这个定制php代码,看到了这种奇怪的行为。基本上,我有两个用户可以点击的php文件,第一个php文件显示第二个php文件的输出。我没有把第二个文件包括在第一个文件中 Home.php-第一个文件(最后输出“我为什么要执行”)显示不同文件输出的php文件,php,drupal-7,Php,Drupal 7,我对PHP编程非常陌生。我试图用Drupal编写这个定制php代码,看到了这种奇怪的行为。基本上,我有两个用户可以点击的php文件,第一个php文件显示第二个php文件的输出。我没有把第二个文件包括在第一个文件中 Home.php-第一个文件(最后输出“我为什么要执行”) HomeView.BL.inc <?php include 'db.inc'; include 'dao.inc'; - has a class called IDA_Map ?> <?php echo
HomeView.BL.inc
<?php
include 'db.inc';
include 'dao.inc'; - has a class called IDA_Map
?>
<?php
echo "why am i executing";
include 'db.inc';
include 'dao.inc';
?>
<?php
require_once'db.inc';
require_once'dao.inc'; - has a class called IDA_Map
?>
<?php
echo "why am i executing";
require_once'db.inc';
require_once'dao.inc';
?>
FacultyInternshipDetail.php-第二个文件
<?php
include 'InternshipDetailView.BL.inc';
?>
实习生详细视图有限公司
<?php
include 'db.inc';
include 'dao.inc'; - has a class called IDA_Map
?>
<?php
echo "why am i executing";
include 'db.inc';
include 'dao.inc';
?>
<?php
require_once'db.inc';
require_once'dao.inc'; - has a class called IDA_Map
?>
<?php
echo "why am i executing";
require_once'db.inc';
require_once'dao.inc';
?>
除了第二个文件的输出之外,我还看到了这个错误——无法重新声明类IDA_映射
我在其他帖子中读过关于“include_once”的文章,但没有想到会出现重新声明错误,因为类(IDA_映射)每个请求声明一次
谢谢。将所有这些翻转到
require\u一次
<?php require_once'HomeView.BL.inc';
//Other links to access second file
?>
HomeView.BL.inc
<?php
include 'db.inc';
include 'dao.inc'; - has a class called IDA_Map
?>
<?php
echo "why am i executing";
include 'db.inc';
include 'dao.inc';
?>
<?php
require_once'db.inc';
require_once'dao.inc'; - has a class called IDA_Map
?>
<?php
echo "why am i executing";
require_once'db.inc';
require_once'dao.inc';
?>
FacultyInternshipDetail.php
<?php
require_once'InternshipDetailView.BL.inc';
?>
实习生详细视图有限公司
<?php
include 'db.inc';
include 'dao.inc'; - has a class called IDA_Map
?>
<?php
echo "why am i executing";
include 'db.inc';
include 'dao.inc';
?>
<?php
require_once'db.inc';
require_once'dao.inc'; - has a class called IDA_Map
?>
<?php
echo "why am i executing";
require_once'db.inc';
require_once'dao.inc';
?>
尝试两次包含同一文件时包含中断。
还可以查找composer并使用php框架,这样您就不必担心这些了 将所有这些翻转到
require\u一次
<?php require_once'HomeView.BL.inc';
//Other links to access second file
?>
HomeView.BL.inc
<?php
include 'db.inc';
include 'dao.inc'; - has a class called IDA_Map
?>
<?php
echo "why am i executing";
include 'db.inc';
include 'dao.inc';
?>
<?php
require_once'db.inc';
require_once'dao.inc'; - has a class called IDA_Map
?>
<?php
echo "why am i executing";
require_once'db.inc';
require_once'dao.inc';
?>
FacultyInternshipDetail.php
<?php
require_once'InternshipDetailView.BL.inc';
?>
实习生详细视图有限公司
<?php
include 'db.inc';
include 'dao.inc'; - has a class called IDA_Map
?>
<?php
echo "why am i executing";
include 'db.inc';
include 'dao.inc';
?>
<?php
require_once'db.inc';
require_once'dao.inc'; - has a class called IDA_Map
?>
<?php
echo "why am i executing";
require_once'db.inc';
require_once'dao.inc';
?>
尝试两次包含同一文件时包含中断。
还可以查找composer并使用php框架,这样您就不必担心这些了 引用类源时,请始终使用一次
include\u
。始终使用.php
文件结尾,而不是.inc
(除非您有逻辑.htaccess阻止外部访问任何.inc文件)。谢谢。因此,我为dao.inc.将include改为include_一次。并删除重新声明错误。包含文件中声明的变量/类的生存期是多少。我以为他们只为那个浏览器请求而活。它一直活到那个脚本执行的末尾。但如果您在一次执行中多次包含它(无论是有意还是无意通过嵌套包含),您都会得到该错误。在引用类源时,请始终使用include\u once
。始终使用.php
文件结尾,而不是.inc
(除非您有逻辑.htaccess阻止外部访问任何.inc文件)。谢谢。因此,我为dao.inc.将include改为include_一次。并删除重新声明错误。包含文件中声明的变量/类的生存期是多少。我以为他们只为那个浏览器请求而活。它一直活到那个脚本执行的末尾。但如果在一次执行中多次包含它(无论是有意还是无意,通过嵌套包含),您都会得到该错误。