目次
2. 认识各种比较运算符的分别
3. 简化判断句中的 else 部分
4. 放弃那些括号
ホームページ php教程 php手册 十大技巧提升你的 PHP 运用实力

十大技巧提升你的 PHP 运用实力

Jun 13, 2016 am 11:38 AM
g php トップ10 存在する カレッジ 強さ ウェブサイトを構築する スキル 推進する 書類 Webサイト 使用

烈火建站学院文档 在 Smashing Magazine 的网站,Glen Stansberry 提出十个进阶 PHP 技巧,可以即时提昇你的 PHP 编程实力,其中包括 SQL 注入攻击的「作弊表」、简化判断句中的 else 部分、在不得已的情况下才使用正规表达式、三元运算子、Memcached 数据库快取系统等等,以下是详细的内容。

PHP 在 1995 年从一个不起眼的编程语言开始,多年来迅速发展,现在已经是其中一种最流行的网络开发语言,许多热门网站均採用 PHP 来开发,绝大多数的程式和网站项目都是由这种流行语言写成。

由於 PHP 如此受欢迎,任何网站开发人员几乎都不能不认识 PHP,这份教程是為那些刚刚完成了 PHP 的学习初阶,捲起衣袖準备大干一番的人,下面列出的十个优秀技巧,是 PHP 开发人员必须学习,并在每次编程时使用它们,这些提示可以加快你们对 PHP 的熟练,使程式码跑得更快捷,更简洁,性能上更优化。

1. 使用 SQL 注入攻击作弊表

SQL 注入攻击是一种非常令人厌恶的东西,它是一种安全漏洞,允许黑客利用程式码中的漏洞潜入你的数据库。虽然本文与 MySQL 无关,不过许多 PHP 程式使用 MySQL 数据库,若果你要写安全的程式码,懂得什麼情况需要避开是很有用的。

Furruh Mavituna 写了一篇很有趣的 SQL 注入攻击作弊表,其中一章节有关 PHP 和 MySQL 的安全漏洞,若果你能避开其中所述的行為,你的程式将不容易受到攻击。

2. 认识各种比较运算符的分别

比较运算符是 PHP 很重要的部份,可惜很多程序员并不熟悉它们之间的分别,事实上,据一篇在 IO Reader 网站上发表的文章,许多 PHP 开发人员不能分辨 PHP 各种比较运算符之间的差异,引用该文的几句话:

这是极為重要的,但是很多 PHP 开发人员根本不知道 == 和 === 有什麼分别,从本质上讲,== 判断两个值是否相等,PHP 在进行比较前会尝试转换数据类型以,例如:1== '1' (true);=== 则同时判断值和数据类型,例如:1==='1'(false),开发人员必须儘快认识这些运算符对常用函式如 strpos() 的实用性,由於 PHP 把零视為「false」,没有 === 的话我们无从知道一个被搜寻字符串是在一个较长字符串的开始位置,还是根本不存在,在很多其他应用裡,当传回值為零未必等於 false 的时候,=== 便十分有用。

你可以到 PHP.net 网站看到各种比较运算符的清单。

3. 简化判断句中的 else 部分

必须提示各位,第三和第四点可能会使程式码的可读性降低,这两点强调速度和效能,若果你不想牺牲程式码的可读性,你可能要跳过它们。

凡是能使程式码更简单和更小的做法,通常都是好的做法,其中之一就是把 else 叙述句的内容抽出来,Christian Montoya 便有一个很好的例子,利用较短的 else 叙述句来转换字符。

常见的 else 叙述句:

以下为引用的内容:
if( this condition )
{
$x = 5;
}
else
{
$x = 10;
}

如果 $x 的预设值是 10,我们便从 10 开始,无须在 else 部分指定它的值。

<table style="BORDER-RIGHT: #cccccc 1px dotted; TABLE-LAYOUT: fixed; BORDER-TOP: #cccccc 1px dotted; BORDER-LEFT: #cccccc 1px dotted; BORDER-BOTTOM: #cccccc 1px dotted" cellspacing="0" cellpadding="6" width="95%" align="center" border="0"><tbody><tr><td style="WORD-WRAP: break-word" bgcolor="#fdfddf"><font color="#ff0000">以下为引用的内容:</font><br /><pre class="brush:php;toolbar:false">$x = 10;<br />if( this condition )<br />{<br />$x = 5;<br />} 
ログイン後にコピー
 <span><span class="google-src-text" style="DIRECTION: ltr; TEXT-ALIGN: left">if( this condition )</span>如果(这种情况)</span>   <span><span class="google-src-text" style="DIRECTION: ltr; TEXT-ALIGN: left">{</span> (</span>   <span><span class="google-src-text" style="DIRECTION: ltr; TEXT-ALIGN: left">$x = 5;</span> $ x = 5 ;</span>   <span><span class="google-src-text" style="DIRECTION: ltr; TEXT-ALIGN: left">}</span> )</span>   <span><span class="google-src-text" style="DIRECTION: ltr; TEXT-ALIGN: left">else</span>其他的</span>   <span><span class="google-src-text" style="DIRECTION: ltr; TEXT-ALIGN: left">{</span> (</span>   <span><span class="google-src-text" style="DIRECTION: ltr; TEXT-ALIGN: left">$x = 10;</span> $ x = 10 ;</span>   <span><span class="google-src-text" style="DIRECTION: ltr; TEXT-ALIGN: left">}</span> )</span>
ログイン後にコピー

虽然看起来没有很大分别,不过若果你的程式中有很多 else 叙述句,累加的效果会很明显。

4. 放弃那些括号


就像简化 else 叙述句那样,如果在控制结构后只有一句表达式,放弃表达式前后的括号可以节省一些字符。Evolt.org 便有一个灵巧的例子示范怎样减少使用括号。

以下为引用的内容:
if ($gollum == 'halfling') {
$height --;
}

这是相同的:<br /><table style="BORDER-RIGHT: #cccccc 1px dotted; TABLE-LAYOUT: fixed; BORDER-TOP: #cccccc 1px dotted; BORDER-LEFT: #cccccc 1px dotted; BORDER-BOTTOM: #cccccc 1px dotted" cellspacing="0" cellpadding="6" width="95%" align="center" border="0"><tbody><tr><td style="WORD-WRAP: break-word" bgcolor="#fdfddf"><font color="#ff0000">以下为引用的内容:</font><br />if ($gollum == 'halfling') $height --;</td></tr></tbody></table>
ログイン後にコピー
这个方法可以在程式中多次使用:<br /><br /><table style="BORDER-RIGHT: #cccccc 1px dotted; TABLE-LAYOUT: fixed; BORDER-TOP: #cccccc 1px dotted; BORDER-LEFT: #cccccc 1px dotted; BORDER-BOTTOM: #cccccc 1px dotted" cellspacing="0" cellpadding="6" width="95%" align="center" border="0"><tbody><tr><td style="WORD-WRAP: break-word" bgcolor="#fdfddf"><font color="#ff0000">以下为引用的内容:</font><br />if ($gollum == 'halfling') $height --;<br />else $height ++; <br /><br />if ($frodo != 'dead')<br />echo 'Gosh darnit, roll again Sauron';<br /><br />foreach ($kill as $count)<br />echo 'Legolas strikes again, that makes' . $count . 'for me!';</td></tr></tbody></table><br /><br /><strong><font size="3">5. 取 str_replace(),捨 ereg_replace() 及 preg_replace()</font></strong>
ログイン後にコピー

以效率来说,str_replace() 比正规表达式更适合用来取代字符串,据一些研究,str_replace() 的效率比 ereg_replace() 和 preg_replace() 高 61%。

ログイン後にコピー
  • 共2页:
  • 上一页
  • 1
  • 2
  • 下一页
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

PHPでHTML/XMLを解析および処理するにはどうすればよいですか? PHPでHTML/XMLを解析および処理するにはどうすればよいですか? Feb 07, 2025 am 11:57 AM

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

GATE公式ウェブサイトエントランスゲートエクスチェンジの公式ウェブサイト GATE公式ウェブサイトエントランスゲートエクスチェンジの公式ウェブサイト Feb 19, 2025 pm 03:03 PM

gate.ioの公式Webサイトには、リンクをクリックするか、ブラウザのURLを入力することでアクセスできます。 URLをブックマークまたはお気に入りに追加することをお勧めします。アクセスできない問題が発生した場合は、ブラウザのキャッシュとCookieをクリアしてみてください。フィッシングを防ぐために注意してください。Gate.ioの公式Webサイトは、個人情報を要求するイニシアチブを取得しません。さらに、gate.ioはアプリプロバイダーを介して見つけることができるモバイルアプリケーションを提供します

Bitmexは、引き出し規則と利点と短所を交換します Bitmexは、引き出し規則と利点と短所を交換します Feb 21, 2025 pm 10:48 PM

Bitmex Exchange Currencyの引き出し要件:2段階の検証とID検証を完了する必要があります。引き出しの最小額は通貨によって異なります。引き出しプロセスには、アカウントへのログイン、引き出しアドレスの入力、金額の入力、取引の確認が含まれます。 Bitmexの引き出しの利点には、高速処理、低いハンドリング料金、複数の通貨サポート、厳格なセキュリティ対策が含まれます。ただし、監督の不十分、ハッカー攻撃のリスク、引き出しの制限、アカウントフリーズなどの欠点にも直面しています。

2025年の最新のトップ10のデジタル通貨取引アプリのランキング 2025年の最新のトップ10のデジタル通貨取引アプリのランキング Feb 27, 2025 pm 06:24 PM

2025年のトップ10のデジタル通貨取引アプリは、Binance、Okx、Gate.io、Bitget、Huobi、Kucoin、Bitmart、Bybit、Bitfinex、およびPoloniexです。これらの取引は、取引量、資産の選択、レバレッジド取引、ソーシャルトレーディング、コンプライアンス、使いやすさ、低い取引手数料、ファンドセキュリティで市場で際立っています。

Trezorで取引する方法と注意すべきこと Trezorで取引する方法と注意すべきこと Feb 21, 2025 pm 10:30 PM

TrezorでのトランザクションTrezorデバイスを接続し、Trezorbridgeアプリケーションをインストールします。 Trezorスイートを開き、トランザクションタイプ(送信、受信、または償還)を選択します。トランザクションの詳細(住所、金額、料金など)を入力します。詳細を確認し、Trezorデバイスの確認を押して、トランザクションを承認します。

母音を文字列にカウントするPHPプログラム 母音を文字列にカウントするPHPプログラム Feb 07, 2025 pm 12:12 PM

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

See all articles