是否可以在服务器上使用"include"在应用程序之间共享库?



我有许多使用子域的网站,并且都在Web服务器上自己的目录中。 每个文件中 99% 的文件是相同的,只有少数文件是不同的,并且每个子域都非常独特。

我熟悉 include 语句,但是有没有办法将所有"核心"php 文件放在一个目录中,只有子域目录中的唯一文件,然后它们可以引用核心文件?这将节省维护同一文件的多个副本的麻烦......不是好习惯!

像这样的东西...

+-core_file_directory -index.php
|                     -file1.php
|                     -file2.php
|
+-sub_domain_1 - subdom_scheme.css
|              - unique_file.php
|
+-sub_domain_2 - subdom_scheme.css
|              - unique_file.php
|
+-sub_domain_3 - subdom_scheme.css
- unique_file.php

我需要在每个子目录中.php索引,但假设我可以在核心文件夹中包含索引.php?我可以包含相对路径吗?"..\core_file_directory\index.php"?

我猜这也更安全,因为核心文件不直接面向公众......?

是的,这是可能的。

但请注意,当脚本运行时,相对目录相对于"当前工作目录",这并不总是您所期望的。

最好的方法是使用魔术常量__DIR__指定路径,该常量提供了键入该文件的文件的绝对路径。所以与其include "..core_file_directoryindex.php";你会写include __DIR__ . "..core_file_directoryindex.php";

另一件会让你的生活更轻松的事情是使用类自动加载来避免在每个文件顶部出现长长的包含列表。这也将使以后移动内容变得更加容易(例如,将共享类放入可重用的包而不是中央目录中),因为只有自动加载器需要知道目录布局。

相关内容

最新更新