【php100 厳選翻訳】ネームスペースは PHP 5.3 での最も重要な変更点であり、C# および Java 開発者はこの用語に非常に慣れており、最終的に PHP アプリケーションの構造をより適切に変更できるようになります。
なぜ名前空間が必要なのでしょうか?
PHP コードベースが大きくなるにつれて、以前に定義された関数やクラス名を変更するリスクが高まります。サードパーティのコンポーネントやプラグインが 2 つまたは 2 つある場合、問題はさらに深刻になります。複数のコード セットが「データベース」クラスと「ユーザー」クラスを実装している場合?
これまで、唯一の解決策は長いクラス/関数名を使用することです。たとえば、WordPress はすべてのクラス名と関数名の前に接頭辞「WP_」を使用します。Zend Framework は非常に説明的な命名規則を使用するため、クラス名は非常に冗長になります。
Zend_Search_Lucene_Analysis_Analyzer_Common_Text_CaseInsensitive
名前の競合の問題は名前空間を使用して解決でき、PHP 定数、クラス、関数を名前空間ライブラリに結合できます。
名前空間を定義するには?
デフォルトでは、PHP が名前空間をサポートする前と同様に、すべての定数、クラス、関数の名前はグローバル空間に配置されます。
PHP ファイルの先頭にあるキーワード namespace を使用して名前空間を定義できます。これは最初のコマンド (declare を除く) である必要があり、その前に PHP 以外のコード、HTML、スペースを含めることはできません。例:
<ol class="dp-c"> <li class="alt"><span><span></span><li class=""> <span></span><span class="comment"><font color="#008200">// define this code in the 'MyProject' namespace </font></span><span> </span> </li></span></li> <li class="alt"><span>namespace MyProject; </span></li> <li class=""><span> </span></li> <li class="alt"> <span></span><span class="comment"><font color="#008200">// ... code ... </font></span><span> </span> </li> </ol>
この行の下のコードは MyProject 名前空間に割り当てられています。実際にこれを行う場合、識別できるのは最後の名前空間だけですが、名前空間をネストしたり、複数の名前空間を定義したりすることはできません。同じファイル内に次のような異なる名前空間コードを定義します。
<ol class="dp-c"> <li class="alt"><span><span></span><li class=""><span>namespace MyProject1; </span></li> <li class="alt"> <span></span><span class="comment"><font color="#008200">// PHP code for the MyProject1 namespace </font></span><span> </span> </li></span></li> <li class=""><span> </span></li> <li class="alt"><span>namespace MyProject2; </span></li> <li class=""> <span></span><span class="comment"><font color="#008200">// PHP code for the MyProject2 namespace </font></span><span> </span> </li> <li class="alt"><span> </span></li> <li class=""> <span></span><span class="comment"><font color="#008200">// Alternative syntax </font></span><span> </span> </li> <li class="alt"><span>namespace MyProject3 { </span></li> <li class=""> <span> </span><span class="comment"><font color="#008200">// PHP code for the MyProject3 namespace </font></span><span> </span> </li> <li class="alt"><span>} </span></li> <li class=""><span>?> </span></li> </ol>
これを行うことは可能ですが、混乱を避けるために、各ファイルに 1 つの名前空間のみを定義することをお勧めします。
サブネームスペース
PHP では、次のように、サブネームスペースをバックスラッシュ文字 () で区切って階層型ネームスペースを定義できます。
電話する名前空間コードlib1.php ファイルでは、AppLib1 名前空間を使用して、次のような定数、関数、クラスを定義します。
lib1.php<ol class="dp-xml">
<li class="alt"><span><span class="tag"><strong><font color="#006699"></font></strong></span><span> ?php </span></span></li>
<li class=""><span>// application library 1 </span></li>
<li class="alt"><span>namespace AppLib1; </span></li>
<li class=""><span> </span></li>
<li class="alt">
<span>const </span><span class="attribute"><font color="#ff0000">MYCONST</font></span><span> = </span><span class="attribute-value"><font color="#0000ff">'AppLib1MYCONST'</font></span><span>; </span>
</li>
<li class=""><span> </span></li>
<li class="alt"><span>function MyFunction() { </span></li>
<li class=""><span> return __FUNCTION__; </span></li>
<li class="alt"><span>} </span></li>
<li class=""><span> </span></li>
<li class="alt"><span>class MyClass { </span></li>
<li class=""><span> static function WhoAmI() { </span></li>
<li class="alt"><span> return __METHOD__; </span></li>
<li class=""><span> } </span></li>
<li class="alt"><span>} </span></li>
<li class="">
<span></span><span class="tag"><strong><font color="#006699">?></font></strong></span><span> </span>
</li>
</ol>
これで、別の PHP で使用できるようになります。このコードは次のようなものです:
myapp.php
<ol class="dp-xml"> <li class="alt"><span><span class="tag"><strong><font color="#006699"></font></strong></span><span> ?php </span></span></li> <li class=""><span>header('Content-type: text/plain'); </span></li> <li class="alt"><span>require_once('lib1.php'); </span></li> <li class=""><span> </span></li> <li class="alt"><span>echo AppLib1MYCONST . "n"; </span></li> <li class=""><span>echo AppLib1MyFunction() . "n"; </span></li> <li class="alt"><span>echo AppLib1MyClass::WhoAmI() . "n"; </span></li> <li class=""> <span></span><span class="tag"><strong><font color="#006699">?></font></strong></span><span> </span> </li> </ol>
myapp.php には名前空間が定義されていないため、このコードはグローバル空間に存在します。これらは AppLib1 に存在するため、MYCONST、MyFunction、および MyClass への直接参照は失敗します。 lib1.php のコードを呼び出すには、AppLib1 名前空間の前にプレフィックスを追加して、完全修飾名を定義します。myapp.php をロードしたときの出力は次のとおりです。非常に長いので、App-Lib1-MyClass のような長い名前を定義すると、明らかな利点がいくつかあります。
原文:
How to Use PHP Namespaces, Part 1: The Basics著者:
Craig Buckler
- http://www.bkjia.com/PHPjc/446608.html
- www.bkjia.com
本当
http://www.bkjia.com/PHPjc/446608.html

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",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

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

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

方法: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ヘンタイを無料で生成します。

人気の記事

ホットツール

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

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

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

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

ホットトピック



