1

これは一般的な質問です。ファイルを移動したり、ファイルを別のディレクトリに移動したりするたびにPHPコード内のリンクが壊れないようにするために、どのような手法を採用していますか?

4

3 に答える 3

1

Web ページ全体でリンクされているファイルを移動/名前変更し、リンクが引き続き機能することを確認したい場合は、303 リダイレクトを作成します (場所と方法は Web サーバーとその構成によって異なります)。

于 2010-03-23T07:43:30.257 に答える
1

using define()「webroot」、「application」、「css」などのさまざまなディレクトリへのすべてのパス ( ) を定義する構成ファイルを使用します。

このように、1 つのファイルで 1 行だけ変更する必要があり、この変数が使用されているすべてのファイルで変更が影響を受けます。

于 2010-03-23T07:44:23.237 に答える
1

フロント エンドの場合は、常に絶対 URL を使用します (必要に応じてドメインからドメインに移動できるように、「/」で開始します)。

内部include()/require()タイプのものについては、Gauravが提案するように行い、パスを表す定数を作成する構成ファイルを使用します(コード内の1つの場所から必要に応じて簡単に変更できます)。

再利用したいライブラリタイプのもの(つまり、クラス、関数など)については、include_pathphp.ini(グローバルまたはローカル)、.htaccess(Apacheを使用している場合)、または関数を介して追加しini_set()ます。そうすれば、ファイル名だけでこれらのファイルを含めることができます(つまり<?php include_once('library.php'); ?>

ini_set ルートに行く場合は、auto_append ディレクティブを見てください (これは、php.ini、.htaccess、または ini_set を介して設定できます) ... そうすれば、すべてのページ要求に「bootstrap」ファイルを追加できます。どこにでも ini_set ステートメントを追加する必要なく、そのアプリケーションだけに include_path を設定します。

以上のことから、次のことをお勧めします。

  • アプリケーションのレイアウトを前もって考え、共通の規則を作成し、それを固守してください。
  • 設計パターン (MVC など) について学習することを検討してください。これにより、アプリケーションの設計方法について新しい方法で考えることができます。
  • アプリケーション フレームワーク (CakePHP、Zend Framework など) の使用を採用すると、提案された (または必須の) ファイル/ディレクトリ レイアウトが付属し、ファイルの場所などを管理する必要がなくなります。

幸運を!

于 2010-03-23T08:03:48.427 に答える