Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/254.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
显示不同文件输出的php文件_Php_Drupal 7 - Fatal编程技术网

显示不同文件输出的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

我对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 "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_一次。并删除重新声明错误。包含文件中声明的变量/类的生存期是多少。我以为他们只为那个浏览器请求而活。它一直活到那个脚本执行的末尾。但如果在一次执行中多次包含它(无论是有意还是无意,通过嵌套包含),您都会得到该错误。