Heim php教程 php手册 构建可配置PHP应用程序的正确方式

构建可配置PHP应用程序的正确方式

May 25, 2016 pm 04:53 PM
应用程序 构建 配置

本文举例说明了创建可配置 PHP 应用程序的几种方法。文中也探讨了应用程序中理想的配置点,并在应用程序过分可配置和过分封闭之间寻求一个平衡点。

假如计划让其他人或公司可以使用您的 PHP 应用程序,需要确保该程序是可配置的。至少,要答应用户以一种安全的方式设置数据库登录及密码,从而使其中的材料不会对外公开。

本文展示了几种用于存储配置设置及编辑这些设置的技术。另外,文中也为哪些元素需要设为可配置以及如何避免陷入配置过度或者配置不足的困境提供了指导。

使用 INI 文件进行配置

PHP 内建了对配置文件的支持。这是通过 php.ini 文件这样的初始化文件(INI)机制实现的,在 php.ini 文件中定义了数据库连接超时或会话如何存储等常量。假如愿意的话,可以在这个 php.ini 文件中为应用程序定制配置。为了说明,我将下列代码行添加到 php.ini 文件中。

myapptempdir=foo

然后,我编写了一个小 PHP 脚本来读取这个配置项,如清单 1 所示。

清单 1. ini1.php

<?php
function get_template_directory() {
      $v = get_cfg_var("myapptempdir");
     return($v == null) ? "tempdir" : $v;
}
echo (get_template_directory() . "\n");
?>
Nach dem Login kopieren

当在命令行中运行这段代码时,得到如下结果:

% php ini1.php 
foo 
%
Nach dem Login kopieren

太棒了。但为什么不能用标准的 INI 函数来获取 myapptempdir 配置项的值呢?我研究了一下,发现在大多数情况下,定制配置项不能使用这些方法来获取。然而,使用 get_cfg_var 函数却是可以访问的。

为使这个方法更加简单,将对变量的访问封装在第二个函数中,该函数使用配置键名及一个缺省值作为参数,如下所示。

清单 2. ini2.php

<?php
function get_ini_value($n, $dv) {
      $c = get_cfg_var($n);
     return($c == null) ? $dv : $c;
}
function get_template_directory() {
     returnget_ini_value("myapptempdir", "tempdir");
}
?>
Nach dem Login kopieren

这是对如何访问 INI 文件的一个很好的概括,所以,假如要使用一个不同的机制或将这个 INI 文件存储到其他位置,就不需要为更改大量的函数而大费周折。

我不推荐使用 INI 文件作为应用程序的配置,这有两个理由。首先,虽然这样做较轻易读取 INI 文件,但却几乎不可能安全地写 INI 文件。所以这样做只适合于只读配置项。第二,php.ini 文件在服务器的所有应用程序上共享,所以我认为特定于应用程序的配置项不应该写在该文件中。

需要对 INI 文件了解什么呢?最重要的是如何重置 include 路径来添加配置项,如下所示。

清单 3. ini3.php

<?php
echo (ini_get("include_path") . "n");
ini_set("include_path", ini_get("include_path") . ":./mylib");
echo (ini_get("include_path") . "n");
?>
Nach dem Login kopieren

在本例中,我将我的本地 mylib 目录添加到了 include 路径中,所以能够从该目录中 require PHP 文件,而不需要将该路径添加到 require 语句中。

PHP 中的配置

通常对于在 INI 文件中存储配置条目的一个替代办法是使用一个简单的 PHP 脚本来保持数据。如下是一个样例。

清单 4. config.php

<?php
// Specify the location of the temporary directory
//
$TEMPLATE_DIRECTORY = "tempdir";
?>
Nach dem Login kopieren

使用该常量的代码如上所示。


               
               

文章网址:

随意转载^^但请附上教程地址。

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Fehler beim Speichern der Änderungen an der Fotos-App in Windows 11 Fehler beim Speichern der Änderungen an der Fotos-App in Windows 11 Mar 04, 2024 am 09:34 AM

Wenn bei der Verwendung der Fotos-App zur Bildbearbeitung in Windows 11 der Fehler „Änderungen können nicht gespeichert werden“ auftritt, finden Sie in diesem Artikel Lösungen. Änderungen können nicht gespeichert werden. Beim Speichern ist ein Fehler aufgetreten. Bitte versuchen Sie es später erneut. Dieses Problem tritt normalerweise aufgrund falscher Berechtigungseinstellungen, einer Dateibeschädigung oder eines Systemfehlers auf. Deshalb haben wir eine gründliche Recherche durchgeführt und einige der effektivsten Schritte zur Fehlerbehebung zusammengestellt, um Ihnen bei der Lösung dieses Problems zu helfen und sicherzustellen, dass Sie die Microsoft Fotos-App weiterhin nahtlos auf Ihrem Windows 11-Gerät verwenden können. Behebung des Fehlers „Änderungen an der Fotos-App konnten nicht gespeichert werden“ in Windows 11. Viele Benutzer haben in verschiedenen Foren über den Fehler in der Microsoft Fotos-App gesprochen

MS Paint funktioniert unter Windows 11 nicht richtig MS Paint funktioniert unter Windows 11 nicht richtig Mar 09, 2024 am 09:52 AM

Microsoft Paint funktioniert nicht unter Windows 11/10? Nun, das scheint ein häufiges Problem zu sein und wir haben einige großartige Lösungen, um es zu beheben. Benutzer haben sich darüber beschwert, dass MSPaint beim Versuch, es zu verwenden, nicht funktioniert oder geöffnet wird. Bildlaufleisten in der App funktionieren nicht, Einfügesymbole werden nicht angezeigt, Abstürze usw. Glücklicherweise haben wir einige der effektivsten Methoden zur Fehlerbehebung zusammengestellt, die Ihnen bei der Lösung von Problemen mit der Microsoft Paint-App helfen. Warum funktioniert Microsoft Paint nicht? Einige mögliche Gründe, warum MSPaint auf einem Windows 11/10-PC nicht funktioniert, sind folgende: Die Sicherheitskennung ist beschädigt. hängendes System

So verbinden Sie Apple Vision Pro mit dem PC So verbinden Sie Apple Vision Pro mit dem PC Apr 08, 2024 pm 09:01 PM

Das Apple Vision Pro-Headset ist nicht nativ mit Computern kompatibel, daher müssen Sie es für die Verbindung mit einem Windows-Computer konfigurieren. Seit seiner Einführung ist Apple Vision Pro ein Hit, und angesichts seiner hochmodernen Funktionen und umfassenden Bedienbarkeit ist es leicht zu verstehen, warum. Obwohl Sie einige Anpassungen daran vornehmen können, um es an Ihren PC anzupassen, und seine Funktionalität stark von AppleOS abhängt, ist die Funktionalität daher eingeschränkt. Wie verbinde ich AppleVisionPro mit meinem Computer? 1. Überprüfen Sie die Systemanforderungen. Sie benötigen die neueste Version von Windows 11 (benutzerdefinierte PCs und Surface-Geräte werden nicht unterstützt). Unterstützt 64-Bit, 2 GHz oder schneller, schneller Prozessor, meist leistungsstarke GPU

Das Funktionsprinzip und die Konfigurationsmethode von GDM im Linux-System Das Funktionsprinzip und die Konfigurationsmethode von GDM im Linux-System Mar 01, 2024 pm 06:36 PM

Titel: Das Funktionsprinzip und die Konfigurationsmethode von GDM in Linux-Systemen. In Linux-Betriebssystemen ist GDM (GNOMEDisplayManager) ein gängiger Anzeigemanager, der zur Steuerung der grafischen Benutzeroberfläche (GUI)-Anmeldung und Benutzersitzungsverwaltung verwendet wird. In diesem Artikel werden das Funktionsprinzip und die Konfigurationsmethode von GDM vorgestellt und spezifische Codebeispiele bereitgestellt. 1. Funktionsprinzip von GDM GDM ist der Display-Manager in der GNOME-Desktop-Umgebung. Er ist für den Start des X-Servers und die Bereitstellung der Anmeldeschnittstelle verantwortlich

Shazam-App funktioniert nicht auf dem iPhone: Fix Shazam-App funktioniert nicht auf dem iPhone: Fix Jun 08, 2024 pm 12:36 PM

Haben Sie Probleme mit der Shazam-App auf dem iPhone? Shazam hilft Ihnen, Lieder zu finden, indem Sie sie anhören. Wenn Shazam jedoch nicht richtig funktioniert oder den Song nicht erkennt, müssen Sie den Fehler manuell beheben. Die Reparatur der Shazam-App wird nicht lange dauern. Befolgen Sie also, ohne noch mehr Zeit zu verlieren, die folgenden Schritte, um Probleme mit der Shazam-App zu beheben. Fix 1 – Deaktivieren Sie die Funktion für fetten Text. Fetter Text auf dem iPhone kann der Grund dafür sein, dass Shazam nicht richtig funktioniert. Schritt 1 – Sie können dies nur über Ihre iPhone-Einstellungen tun. Also, öffnen Sie es. Schritt 2 – Als nächstes öffnen Sie dort die Einstellungen „Anzeige & Helligkeit“. Schritt 3 – Wenn Sie feststellen, dass „Fetttext“ aktiviert ist

Verschieben Sie Fotos aus alten Fotos in die neue Fotos-App in Windows 11 Verschieben Sie Fotos aus alten Fotos in die neue Fotos-App in Windows 11 Mar 10, 2024 am 09:37 AM

In diesem Artikel erfahren Sie, wie Sie Fotos von Photos Legacy in die neue Fotos-App in Windows 11 migrieren. Microsoft hat in Windows 11 eine überarbeitete Foto-App eingeführt, die Benutzern ein einfacheres und funktionsreicheres Erlebnis bietet. Die neue Fotos-App sortiert Fotos anders als die vorherige PhotosLegacy-App. Es organisiert Fotos wie andere Windows-Dateien in Ordnern, anstatt Alben zu erstellen. Benutzer, die weiterhin die Photos Legacy-App verwenden, können ihre Fotos jedoch problemlos auf die neue Version von Microsoft Photos migrieren. Was ist Phot?

Verstehen Sie Linux Bashrc: Funktionen, Konfiguration und Verwendung Verstehen Sie Linux Bashrc: Funktionen, Konfiguration und Verwendung Mar 20, 2024 pm 03:30 PM

Grundlegendes zu Linux Bashrc: Funktion, Konfiguration und Verwendung In Linux-Systemen ist Bashrc (BourneAgainShellruncommands) eine sehr wichtige Konfigurationsdatei, die verschiedene Befehle und Einstellungen enthält, die beim Systemstart automatisch ausgeführt werden. Die Bashrc-Datei befindet sich normalerweise im Home-Verzeichnis des Benutzers und ist eine versteckte Datei. Ihre Funktion besteht darin, die Bashshell-Umgebung für den Benutzer anzupassen. 1. Bashrc-Funktionseinstellungsumgebung

Warum erscheint der Fehlercode 0xc0000142? Warum erscheint der Fehlercode 0xc0000142? Feb 25, 2024 am 11:15 AM

0xc0000142 bezieht sich auf den Fehlercode in Windows-Systemen und hängt normalerweise mit dem Problem zusammen, dass ein Programm oder eine Anwendung nicht richtig gestartet oder ausgeführt wird. Wenn ein Benutzer versucht, ein Programm zu öffnen, zeigt das System die Fehlermeldung „0xc0000142“ an und das Programm kann nicht weiter ausgeführt werden. Warum tritt also der Fehler 0xc0000142 auf? Es gibt viele Gründe für diesen Fehlercode. Hier finden Sie einige häufige Ursachen und Lösungen. Beschädigte Konfigurationsdateien: Die Konfigurationsdateien einiger Programme können beschädigt sein

See all articles