php中好像不能像asp那样用“/”表示根目录,代之以$_SERVER['DOCUMENT_ROOT'],其它则相同:../表示向上一层。./表示当前层。假如现在a/b/c/s.php要调用根目录下的 /bb/s2.txt,则:
$RootDir = $_SERVER['DOCUMENT_ROOT']; $fireDir = "$RootDir/bb/s2.txt"; |
或者:“../../../bb/s2.txt”表示向上返回到b再向上到a再向上到根目录然后到bb下。
前一阵子老是受php开发中,文件互相引入require()相对位置关系的困扰,为了彻底弄清它们的关系,笔者做了个实验。
以下是实验图:
当前项目(project2)的绝对路径是:D:\www\php_case\Coucom_make。也就是我们当前项目的根目录root.
为了能更加清楚的表述不同级别的目录文件相互的引入问题,偶大胆将引用分成三种类型即:上级对下级的引用(简称上级引用,英文译为:superior to underling。简称(stou)).
下级对上级的引用(简称下级引用,英文反之便是)
平级引用或叫同级引用(英文:paratactic)。
好了,我们明确了引用类型,下面我们来看不同类型引用它们有着什么样的规则。
我们先来说说上级引用:
看我们的实验图,在图中项目下分别有aa bb ee 三个同级目录和一个index.php文件,在bb下又有cc目录,cc下又有dd目录和cc.php ccc.php两个文件,同样dd下也包含一个dd.php文件。凡是上层对下层均属上级引用.
例如:index.php对于所有文件的引用: cc .php对dd.php的引用: ee.php对dd.php的引用: |
大家仔细看一下目录结构,便会发现这三种引用虽然同属于上级引用,但它们又不完全相同,我把它分成两种情况:即在上级引用中存在两种引用情况:1.从属的上级引用(类如cc.php对dd.php,,因为这两个文件同属于cc目录)2.非从属的上级引用(类如index.php对于所有文件的引用和ee.php对dd.php的引用都属于这种情况因为它们与被引用的文件并没有一个共同的父目录,在能相对于站点根目录).
对于从属上级引用:
以下是在cc.php对dd.php的引用
require('dd/dd.php'); |
对于非从属上级引用:
以下是在ee.php中对cc.php的引用
require('../bb/cc/cc.php'); |
上記は上位の参照です。以下で下位の参照について学びましょう!同様に、下位層から上位層への参照は下位参照であり、下位カテゴリと非下位カテゴリに分類されます。下位下位参照の相対パスは、親ディレクトリをルート ディレクトリとします。次に例を示します。
Ttt.php による bbff.php への参照は、次の状況に該当します: require('../bb/cc/cc.php');
関連性のない下位参照は、Web サイトのルート ディレクトリに基づいています。例:ccc.php の ee.php への参照: require('../../ee/ee.php');
上記は従属引用についての紹介です。最後に、水平引用またはピア引用について見てみましょう。実は、兄弟引用も従属兄弟引用と非従属兄弟引用の 2 つの状況に分けられます。
従属兄弟参照は非常に単純です: つまり、同じディレクトリ内の 2 つのファイルへの参照です例: dd.php require('ttt.php');の ttt.php を参照してください。
非従属ピア参照: つまり、同じディレクトリ内にない 2 つのファイルへの参照 (共通の親ディレクトリはなく、Web サイトのみが親ディレクトリです)、レベルは同じです。例: aa.php 引用 ee.php require('../ee/ee.php');
上記は 3 種類の異なる状況での参照です。ネストされた参照に関連する問題もあります。
例:
ff.php は dd.php を参照し、dd.php は gf.php を参照します。 この場合、dd.php は従属参照内の非従属参照である gf.php を参照します。 this: require('. ./../../ee/gf.php'); ff.php の dd.php への参照は上位参照の下位参照です。 書き方は次のようになります。 ./cc/dd/dd.php' ); しかし、ff.php 内に gf.php ファイルが見つからないことがわかります。これを dd.php に記述する必要があります。 require('../ee/gf.php'); これが唯一の正しい書き方です。なぜでしょうか。ネストされた参照の場合、参照されるファイルの相対パスは、最終的な参照されるファイルに基づく必要があるためです。
要するに:
実際には、Web ルート ディレクトリをルート ディレクトリとして使用します。たとえば、ファイルには、すべてのファイルに含める必要があります。共通です.php
このファイルがルートディレクトリに配置されている場合
wwwroot/global.php
他のファイルによって使用されています
「../../../global.php」が必要;
| 以上です。global.php は既にパスを wwwroot に切り替えているので、多くの人ほど面倒なことをする必要はありません
define('ROOT_PATH',dirname(__FILE__));
ROOT_PATH が必要です....
|
http://www.bkjia.com/PHPjc/321391.html
www.bkjia.com
thesecrettokeepingaphp-poweredwebsterunningsmootlyunderheavyloadinvolvesseveralkeystrategies:1)emform opcodecoduceSciptionexecutiontime、2)aatabasequerycachingwithiThing withiThistolessendavasoload、

コードをより明確かつ維持しやすくするため、依存関係が関心(DI)に注意する必要があります。 1)DIは、クラスを切り離すことにより、よりモジュール化されます。2)テストとコードの柔軟性の利便性を向上させ、3)DIコンテナを使用して複雑な依存関係を管理しますが、パフォーマンスの影響と円形の依存関係に注意してください。

はい、最適化されたAphPossibleandessention.1)CachingingusapCutoredatedAtabaseload.2)最適化、効率的なQueries、およびConnectionPooling.3)EnhcodeCodewithBultinctions、Avoididingglobalbariables、およびUsingopcodeching

keyStrategIestsoSificlyvoostphpappliceperformanceare:1)useopcodecachinglikeToreexecutiontime、2)最適化abaseの相互作用とプロペラインデックス、3)3)構成

aphpDependencyInjectionContaineriSATOULTAINATINAGECLASSDEPTINCIES、強化測定性、テスト可能性、および維持可能性。

SELECT DEPENTENCINGINOFCENT(DI)大規模なアプリケーションの場合、ServicElocatorは小さなプロジェクトまたはプロトタイプに適しています。 1)DIは、コンストラクターインジェクションを通じてコードのテスト可能性とモジュール性を改善します。 2)ServiceLocatorは、センター登録を通じてサービスを取得します。これは便利ですが、コードカップリングの増加につながる可能性があります。

phpapplicationscanbeoptimizedforspeedandEfficiencyby:1)enabingopcacheinphp.ini、2)PreparedStatementswithpordatabasequeriesを使用して、3)LoopswithArray_filterandarray_mapfordataprocessing、4)の構成ngincasaSearverseproxy、5)

PHPemailvalidationinvolvesthreesteps:1)Formatvalidationusingregularexpressionstochecktheemailformat;2)DNSvalidationtoensurethedomainhasavalidMXrecord;3)SMTPvalidation,themostthoroughmethod,whichchecksifthemailboxexistsbyconnectingtotheSMTPserver.Impl


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

WebStorm Mac版
便利なJavaScript開発ツール

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

ドリームウィーバー CS6
ビジュアル Web 開発ツール
