Файл index.php
содержит много файлов и в некоторых из них, включая файлы, есть некоторые переменные, принадлежащие файлу, который содержит index.php
.Can I Я пишу только «включить коды» в файл index.php
или вставлять «включить коды» во все отдельные файлы, которые index.php
файл прилагается? Это может быть трудно понять, что я написал, может быть, но вот мои папки и коды:Как обрабатывать «отдельные в том числе» из разных файлов в php?
Мои папки и файлы здесь:
/
|
+ includes/
| |
| + initialize.php
| + functions.php
| + config.php
|
+ layouts/
| |
| + header.php
| + sidebar.php
| + content.php
| + footer.php
|
+ images/
| |
| + image1.jpg
|
+ index.php
И мой initialize.php здесь:
//initialize.php
<?php
defined('DS') ? null : define('DS', '/');
defined('SITE_ROOT') ? null :
define('SITE_ROOT', '/webspace/httpdocs');
defined('LIB_PATH') ? null : define('LIB_PATH', SITE_ROOT.DS.'includes');
require_once(LIB_PATH.DS.'config.php');
require_once(LIB_PATH.DS.'functions.php');
?>
Вот function.php
//function.php
<?php
function include_layout_template($template="") {
include(SITE_ROOT.DS.'layouts'.DS.$template);
}
function __autoload($class_name) {
$class_name = strtolower($class_name);
$path = LIB_PATH.DS."{$class_name}.php";
if(file_exists($path)) {
require_once($path);
} else {
die("The file {$class_name}.php could not be found.");
}
}
?>
Вот некоторая часть content.php
//content.php
<img src="<?php echo SITE_ROOT.DS.'images'.DS.'image1.jpg' ?>" />
Вот index.php:
//index.php
<?php require_once "includes/initialize.php";?>
<?php include_layout_template("index_header.php"); ?>
<?php include_layout_template("sidebar.php"); ?>
<?php include_layout_template("index_content.php"); ?>
<?php include_layout_template("footer.php"); ?>
Итак, моя проблема в том, код, который в content.php:
<img src="<?php echo SITE_ROOT.DS.'images'.DS.'image1.jpg' ?>" />
не работает. Потому что файл не распознает SITE_ROOT
и DS
константы. Так что на сайте нет изображения. Я знаю, потому что initialize.php не включен. Нет в том числе в function.php, но DS
и SITE_ROOT
работ. В то время как initialize.php включен в index.php, почему файлы под включают в себя не видят эти SITE_ROOT
и DS
. Если я вставляю <?php require_once "includes/initialize.php";?>
в файлы в папке include, будет много initialize.php в index.php.
Использование одного <?php require_once "includes/initialize.php";?>
только в одном файле. Как я могу решить эту проблему? Или как лучше дизайн.