0

そのため、PHP を使用してファイルからファイルへ変数を渡すことについて、いくつかの論争を見てきました。それを行うための「最良の方法」は何ですか?

現在、私はこのようなセットアップを持っています

ファイル 1:

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

ファイル A:

<? 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 つあります。複数のプログラマーが大規模なプロジェクトで作業している場合、異なるファイルで定義された変数を追跡するのが難しいとします。そのため、私は常に、それぞれに個別の変数を使用するのではなく、連想配列を使用して同様の値をグループ化するようにしています。次の構造を使用することを検討できます。

ファイル 1:

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

ファイル A:

<?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 に答える