Heim Backend-Entwicklung PHP-Tutorial PHP与ASP.NET正面交锋(二)_PHP

PHP与ASP.NET正面交锋(二)_PHP

Jun 01, 2016 pm 12:40 PM
apache asp.net iis php Front

接上一篇:PHP 与 ASP.NET正面交锋(一)

安全性比较

ASP.NET 官方要求您使用 IIS。不幸的是,IIS 易受攻击的历史由来已久,这使得许多管理员不愿意部署它来处理 Web 站点。这些弱点是因为 Microsoft 的缺陷或是因为 IIS 是黑客们攻击的目标无关紧要:这些系统有被黑或被攻击的历史。PHP 也运行在 Apache 上,Apache 快速并且是开放源代码的,并拥有很好的安全性记录。此外,正如我提到过的,Apache 可以在许多平台上运行。

如果您在考虑 ASP.NET,但您想用 Apache 作为 Internet 门户,那么很幸运您可以有一些选择。首先,您可以使用 Apache 将请求转发给在另一台计算机上内部运行的 IIS。然后 Apache 处理静态内容,并将 aspx 内容传送给 IIS 服务器(不暴露给 Internet)。

不过,如果您想利用 Apache 承载 ASP.NET,那么提供了一些选项,这些选项 Microsoft 可能支持也可能不支持。作为最后一种选择,有 Ximian 的 Project Mono,它致力于构建一个开放源代码模块。请浏览 www.go-mono.com,以获取更多信息。

数据库编码示例

您在选用 PHP 或 ASP.NET 时首先要考虑因素之一就是与数据库的连接。不过,利用 ASP.NET 更复杂,因为您可以从许多备选语言中选择任意一种语言。当然,这些代码示例将必须嵌入到 HTML 页面、实例化的类等之中。不过,以下信息将使您对二者的编码风格有所了解。

PHP 5 与 Oracle 连接

下面是一个 PHP 5 类,它提供了一个 Oracle 连接和断开例程,用以演示利用 PHP 5(也可以使用其他驱动程序(如 ODBC 驱动程序)和通用的数据库接口)与 Oracle 连接的一种方式:

class oracle_object {
protected $theDB;
protected $user;
protected $pass;
protected $db;

function __construct($u, $p, $d) {
$this->user = $u;
$this->pass = $p;
$this->db = $d;
}

function db_open () {
$theDB = @OCILogon($this->user, $this->pass, $this->db);
db_check_errors($php_errormsg);
}

function db_close() {
@OCILogoff($theDB);
db_check_errors($php_errormsg);
}

function __destruct () {
print ("so long...");
}

}



ASP.NET 与 Oracle 连接

如果您希望利用 VB.NET(Visual Basic 是 Microsoft 的默认 .NET 编程语言)与 Oracle 连接,那么请看一下这个来自 MSDN 的示例:

Imports System
Imports System.Data
Imports System.Data.OracleClient
Imports Microsoft.VisualBasic

Class Sample

Public Shared Sub Main()

Dim oraConn As OracleConnection = New OracleConnection
("Data Source=MyOracleServer;Integrated Security=yes;")

Dim oraCMD As OracleCommand = New OracleCommand
("SELECT CUSTOMER_ID, NAME FROM DEMO.CUSTOMER", oraConn)

oraConn.Open()

Dim myReader As OracleDataReader = oraCMD.ExecuteReader()

Do While (myReader.Read())
Console.WriteLine(vbTab & "{0}" & vbTab & "{1}",
myReader.GetInt32(0), myReader.GetString(1))
Loop

myReader.Close()
oraConn.Close()
End Sub
End Class



作出选择

假定您还没有决定选用 PHP,我可以断言 PHP 的优势远远超过它的弱点。(请参见表 1 中的概要。)这些优势归结为价格、速度和效率、安全性、跨平台适用性和开放源代码机遇。它惟一的弱点是缺少一种纯粹和完美的 OOP 实现,不过,这是一个很小的缺点。虽然语言结构的确有帮助,但好的编码最终是由实践、执行、好的习惯和规范带来的。

表 1

PHP 4 PHP 5 ASP.NET
软件价格 免费 免费 免费
平台价格 免费 免费 $$
速度 强 强 弱
效率 强 强 弱
安全性 强 强 强
平台 强 强 弱(仅用于 IIS)
平台 任意 任意 win32(仅用于 IIS)
是否提供源代码 是 是 否
异常 否 是 是
OOP 弱 强 强


价格。在此,我们不应简单地考虑初始投资 — 对 PHP 而言,这很明显是免费的 — 还应考虑实施、维护和调试的成本。对 PHP 而言,您可能需要购买 Zend 优化引擎。然而,使用 ASP,您将从一开始就进行投资,而且您还要为附加的技术 — 例如,执行图形处理的库 — 支付费用。但从长远来看,PHP 将不会逼迫您升级并向您收取更多的许可费用。接触过复杂许可的每一个人都知道,很多公司花费大量的时间和金钱仅是为了确保其顺应性。此外,当在获得错误修复的时间上,您得到的反应也有所不同。这当然将转化成时间,时间又将转化成总体开发的成本。

速度和效率。正如我先前提到的,ASP.NET 是一个允许您使用各种编程语言的框架。此外,它据称拥有一个极好的面向对象模型。尽管所有这些都是真的,但在考虑到速度时,它却是不利的。基于以上原因,在 ASP.NET 中运行 ASP 页面与在 PHP 引擎中运行等效的 PHP 页面相比需要执行更多代码。PHP 是一种“快速粗糙”的解决方案,是为完成工作而设计的解决方案。虽然自 2.0 和 3.0 版本以来为其增强了许多强健性,但它仍然保留着核心的优化的高速方法。

速度不是惟一要考虑的因素。内存使用率也很重要。

安全性。ASP.NET 运行在 IIS 上,而 IIS 已被攻击了无数次 — 正如每隔一周的 IT 新闻报告所证实的。它已经成为这样一种负担,实际上,尽管其耗巨资进行销售宣传,但许多 IT 专业人员仍然拒绝用 IIS Web 服务器来开放他们的网络。而 PHP 使用 Apache。Apache 拥有已被证明的速度、可靠性和稳固的安全性的记录。请浏览 www.securityfocus.com,以获取更多信息。

跨平台适用性。ASP.NET 在 IIS 上运行,并且开始在 Apache 上运行(Apache 能够在许多平台上运行)。PHP 从一开始就设计用于和 Apache 一起工作,因此您拥有许多可供选择的已被证明和可靠的服务器平台。

开放源代码机遇。开放源代码并不只靠一些异想天开的编程人员或想要节省一些许可费用的公司来开展。当您处理软件本身的错误时,开放源代码可能成为真正的天赐之物。

在使用 PHP 或 ASP.NET 的情况下,您都会有一个大的用户群,他们使用软件并且可能遇到错误。使用 ASP.NET,这些错误必须通过一个官方程序来通知、修复、测试,并在一个新的补丁或版本中消除。然而,PHP 补丁可以快速地得到修补并发布。目睹开放源代码发展的任何人都知道,新的版本和补丁通常在几天内而不是像商业软件一样在几个星期或几个月内推出。如果这不够快,那么您通常可以自己来修补问题(如果必要的话)。

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 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
1 Monate 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)

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein Dec 20, 2024 am 11:31 AM

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

Wie analysiert und verarbeitet man HTML/XML in PHP? Wie analysiert und verarbeitet man HTML/XML in PHP? Feb 07, 2025 am 11:57 AM

Dieses Tutorial zeigt, wie XML -Dokumente mit PHP effizient verarbeitet werden. XML (Extensible Markup-Sprache) ist eine vielseitige textbasierte Markup-Sprache, die sowohl für die Lesbarkeit des Menschen als auch für die Analyse von Maschinen entwickelt wurde. Es wird üblicherweise für die Datenspeicherung ein verwendet und wird häufig verwendet

PHP -Programm zum Zählen von Vokalen in einer Zeichenfolge PHP -Programm zum Zählen von Vokalen in einer Zeichenfolge Feb 07, 2025 pm 12:12 PM

Eine Zeichenfolge ist eine Folge von Zeichen, einschließlich Buchstaben, Zahlen und Symbolen. In diesem Tutorial wird lernen, wie Sie die Anzahl der Vokale in einer bestimmten Zeichenfolge in PHP unter Verwendung verschiedener Methoden berechnen. Die Vokale auf Englisch sind a, e, i, o, u und sie können Großbuchstaben oder Kleinbuchstaben sein. Was ist ein Vokal? Vokale sind alphabetische Zeichen, die eine spezifische Aussprache darstellen. Es gibt fünf Vokale in Englisch, einschließlich Großbuchstaben und Kleinbuchstaben: a, e, ich, o, u Beispiel 1 Eingabe: String = "TutorialPoint" Ausgabe: 6 erklären Die Vokale in der String "TutorialPoint" sind u, o, i, a, o, ich. Insgesamt gibt es 6 Yuan

7 PHP-Funktionen, die ich leider vorher nicht kannte 7 PHP-Funktionen, die ich leider vorher nicht kannte Nov 13, 2024 am 09:42 AM

Wenn Sie ein erfahrener PHP-Entwickler sind, haben Sie möglicherweise das Gefühl, dass Sie dort waren und dies bereits getan haben. Sie haben eine beträchtliche Anzahl von Anwendungen entwickelt, Millionen von Codezeilen debuggt und eine Reihe von Skripten optimiert, um op zu erreichen

Die 10 besten PHP-CMS-Plattformen für Entwickler im Jahr 2024 Die 10 besten PHP-CMS-Plattformen für Entwickler im Jahr 2024 Dec 05, 2024 am 10:29 AM

CMS steht für Content Management System. Es handelt sich um eine Softwareanwendung oder Plattform, die es Benutzern ermöglicht, digitale Inhalte zu erstellen, zu verwalten und zu ändern, ohne dass dafür fortgeschrittene technische Kenntnisse erforderlich sind. CMS ermöglicht Benutzern das einfache Erstellen und Organisieren von Inhalten

So fügen Sie Elemente zum Ende eines Arrays in PHP hinzu So fügen Sie Elemente zum Ende eines Arrays in PHP hinzu Feb 07, 2025 am 11:17 AM

Arrays sind lineare Datenstrukturen, die zur Verarbeitung von Daten in der Programmierung verwendet werden. Manchmal, wenn wir Arrays verarbeiten, müssen wir dem vorhandenen Array neue Elemente hinzufügen. In diesem Artikel werden wir verschiedene Möglichkeiten diskutieren, Elemente zum Ende eines Arrays in PHP hinzuzufügen, mit Code -Beispielen, Ausgabe sowie Zeit- und Raumkomplexitätsanalyse für jede Methode. Hier sind die verschiedenen Möglichkeiten, um einem Array Elemente hinzuzufügen: Verwenden Sie quadratische Klammern [] In PHP besteht die Möglichkeit, Elemente zum Ende eines Arrays hinzuzufügen, die Verwendung von Quadratklammern []. Diese Syntax funktioniert nur in Fällen, in denen wir nur ein einzelnes Element hinzufügen möchten. Das Folgende ist die Syntax: $ array [] = Wert; Beispiel

PHP und Social Media: Integrieren Sie Ihre Website mit der Welt PHP und Social Media: Integrieren Sie Ihre Website mit der Welt Oct 11, 2024 am 11:54 AM

PHP bietet Tools, mit denen Websites auf einfache Weise Social-Media-Funktionen integrieren können: 1. Dynamische Social-Media-Sharing-Schaltflächen generieren, damit Benutzer Inhalte teilen können. 2. Mit der OAuth-Bibliothek integrieren, um eine nahtlose Social-Media-Anmeldung zu erreichen. 3. Verwenden Sie die HTTP-Bibliothek, um soziale Medien zu erfassen Mediendaten, Erhalten von Benutzerprofilen, Beiträgen und anderen Informationen.

See all articles