前回記事の続き:PHP と ASP.NET の直接対決 (1) セキュリティ比較 ASP.NET では正式に IIS の使用が必須となります。残念ながら、IIS には長い脆弱性があり、多くの管理者は Web サイトを処理するために IIS を導入することに消極的です。これらの弱点が Microsoft の欠陥によるものであるか、IIS がハッカーの標的であるためであるかは問題ではありません。これらのシステムにはハッキングまたは侵害された歴史があります。 PHP は Apache 上でも実行されます。Apache は高速でオープンソースであり、優れたセキュリティ記録を持っています。さらに、前述したように、Apache は多くのプラットフォームで実行されます。 ASP.NET を検討しているが、インターネット ポータルとして Apache を使用したい場合は、幸いなことにいくつかの選択肢があります。まず、Apache を使用して、別のマシンで内部的に実行されている IIS にリクエストを転送できます。次に、Apache は静的コンテンツを処理し、aspx コンテンツを IIS サーバーに配信します (インターネットには公開されません)。 ただし、Apache を利用して ASP.NET をホストする場合は、Microsoft がサポートするオプションとサポートしないオプションがいくつかあります。最後のオプションとして、オープンソース モジュールの構築に特化した Ximian の Project Mono があります。詳細については、www.go-mono.com をご覧ください。 データベースのコーディング例 PHP または ASP.NET を選択するときに最初に考慮すべきことの 1 つは、データベースへの接続です。ただし、ASP.NET の活用は、多数の代替言語から選択できるため、より複雑になります。もちろん、これらのコード例は HTML ページ、インスタンス化されたクラスなどに埋め込む必要があります。ただし、次の情報は、両方のコーディング スタイルのアイデアを示します。 PHP 5 と Oracle の接続 以下は、Oracle 接続および切断ルーチンを提供する PHP 5 クラスであり、PHP 5 の使用法を示します (他のドライバー (ODBC ドライバーなど) および共通データベース インターフェイスも使用できます)。 Oracle: クラス oracle_object { 保護された $user; 保護された $pass; 関数 __construct($u, $p, $d) { $this->user = $u; p; $this->db = $d; } 関数 db_open () { $theDB = @OCILogon($this->pass, $this->db) } 関数db_close() { @OCILogoff($theDB); db_check_errors($php_errormsg); } function __destruct () { print ("so long...") } を使用して Oracle に接続するにはVB.NET (Visual Basic は Microsoft のデフォルトの .NET プログラミング言語です) の場合は、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) ソース コードは提供されていますか? いいえ はい: 弱い、強い、強い価格。ここでは、単に初期投資 (PHP の場合は明らかに無料) だけでなく、実装、メンテナンス、デバッグのコストも考慮する必要があります。 PHP の場合は、Zend 最適化エンジンを購入することをお勧めします。ただし、ASP の場合は最初から投資が必要で、グラフィック処理を実行するライブラリなどの追加テクノロジーにも料金を支払います。しかし、長期的には、PHP はアップグレードを強制したり、ライセンスの追加料金を請求したりすることはありません。複雑なライセンスを扱ったことのある人なら誰でも、多くの企業がコンプライアンスを確保するためだけに膨大な時間と費用を費やしていることを知っています。また、バグ修正の場合、得られる反応はさまざまです。もちろん、これは時間に換算され、全体的な開発コストに換算されます。 スピードと効率。先ほども述べたように、ASP.NET はさまざまなプログラミング言語を使用できるようにするフレームワークです。さらに、優れたオブジェクト指向モデルを備えていると言われています。これらはすべて真実ですが、速度を考慮すると不利になります。これらの理由により、ASP.NET で ASP ページを実行するには、PHP エンジンで同等の PHP ページを実行するよりも多くのコードを実行する必要があります。PHP は「迅速かつ汚い」ソリューション、つまり仕事を完了するために設計されたソリューションです。バージョン 2.0 および 3.0 以来、多くの強力な機能強化が行われていますが、コアの最適化された高速アプローチは依然として維持されています。 考慮すべき要素は速度だけではありません。メモリ使用量も重要です。 安全性。 ASP.NET は IIS 上で実行されますが、隔週の IT ニュース報道が確認しているように、IIS は数え切れないほどハッキングされています。実際、これは非常に負担になっているため、その高価な売り込みにもかかわらず、多くの IT プロフェッショナルが依然として IIS Web サーバーでネットワークを開くことを拒否しています。そして、PHP は Apache を使用します。 Apache には、速度、信頼性、強固なセキュリティに関して実証済みの実績があります。詳細については、www.securityfocus.com をご覧ください。 クロスプラットフォームの適用性。 ASP.NET は IIS 上で実行され、Apache 上でも実行され始めています (Apache は多くのプラットフォームで実行されます)。 PHP は Apache と連携できるように最初から設計されているため、実績のある信頼性の高いサーバー プラットフォームを数多く選択できます。 オープンソースの機会。オープンソースは、ライセンス料を節約したい少数の気まぐれなプログラマーや企業だけに任されているわけではありません。ソフトウェア自体のバグに対処する場合、オープンソースはまさに天の恵みとなる可能性があります。 PHP または ASP.NET の場合、ソフトウェアを使用するユーザー ベースが大きいため、エラーが発生する可能性があります。 ASP.NET では、これらのバグは公式プロセスを通じて通知され、新しいパッチまたはバージョンで修正、テストされ、除去される必要があります。ただし、PHP パッチはすぐにパッチを適用してリリースできます。オープンソースの開発を目撃した人なら誰でも、新しいバージョンやパッチが商用ソフトウェアのように数週間や数か月ではなく、数日以内に公開されることが多いことを知っています。これが十分に迅速でない場合は、通常、必要に応じて自分で問題にパッチを適用できます。

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

在php中,可以使用substr()函数来读取字符串后几个字符,只需要将该函数的第二个参数设置为负值,第三个参数省略即可;语法为“substr(字符串,-n)”,表示读取从字符串结尾处向前数第n个字符开始,直到字符串结尾的全部字符。

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

方法:1、用“str_replace(" ","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\ \;||\xc2\xa0)/","其他字符",$str)”语句。

查找方法:1、用strpos(),语法“strpos("字符串值","查找子串")+1”;2、用stripos(),语法“strpos("字符串值","查找子串")+1”。因为字符串是从0开始计数的,因此两个函数获取的位置需要进行加1处理。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SublimeText3 中国語版
中国語版、とても使いやすい

Dreamweaver Mac版
ビジュアル Web 開発ツール

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

ホットトピック



