0

所以我看到了一些关于使用 PHP 在文件之间传递变量的争议。什么是“最好的方法”?

目前,我有这样的设置

文件 1:

<? $foo = 'somethingCoolHere';
$bar = 'nothingLameThere'; ?>

档案一:

<? include('/link/to/file1.php');
printf('stuff' .$foo. 'stuff'); ?>

文件 B:

<? include('/link/to/file1.php');
printf('stuff' .$foo. 'stuff');
printf('stuff' .$bar. 'stuff'); ?>

这行得通,“好吧”。但是,如果有人想扩展我所拥有的内容,他们可能需要记住在第一行包含“包含”以使变量起作用。与我现在正在做的事情相比,是否有“更好的实践”或“最佳实践”的方式?

4

2 回答 2

1

我的项目也遵循类似的模式,但我想在您的代码中指出一件事。假设如果多个程序员正在处理一个大型项目,那么很难跟踪不同文件中定义的变量。所以我总是确保关联数组用于对相似的值进行分组,而不是为每个值使用单独的变量。您可以考虑使用以下结构。

文件 1:

<?php 
  $file1['foo'] = 'somethingCoolHere';
  $file1['bar'] = 'nothingLameThere';
?>

档案一:

<?php
  include('file1.php');
  printf('stuff' .$file1['foo']. 'stuff');
?>

文件 B:

<?
  include('file1.php');
  printf('stuff' .$file1['foo']. 'stuff');
  printf('stuff' .$file1['bar']. 'stuff');
?>

通过这种方式,您可以组织数据,而且使代码审查和以后的开发变得不那么令人生畏。

于 2012-08-07T03:53:45.677 回答
0

就个人而言(不确定其他人是否会同意),我会在包含文件时使用绝对路径。我会让这些路径保持不变。为什么?因为如果我需要更改路径(比如我移动了一个文件或其他东西),我不必遍历每个文件来更改路径,而是只需要定义常量的文件即可。

一个例子:

常量.php

define('file1' , 'abolute/path/to/file1');
define('fileA' , 'abolute/path/to/fileA');
define('fileB' , 'abolute/path/to/fileB');

然后在需要使用常量的任何文件中包含 constant.php:

东西.php:

include_once($_SERVER['DOCUMENT_ROOT'].'/constant.php');//we now have access to our constants
include_once(fileA);
include_once(fileB);
include_once(file1);

我并不是说这种方法是最佳实践,但这只是我在所有项目中都会做的事情。我也看不出有什么问题。

于 2012-08-07T03:13:40.760 回答