PHP 5.4 の正式バージョンの重要な新機能
よだれが出そうな記事ですが、記事の一部が完全に書かれていないので、一緒に見てみましょう...
PHP の最新バージョンは次のとおりです。すでに 5.41
= =========================================== ====== ======
PHP は、Web 開発の分野において常に非常に重要で高速かつ便利な開発言語であり、大多数の開発者に好まれています。現在、PHP 5.4 の正式バージョンがリリースされており、多くの新機能が追加されており、パフォーマンスが 20% 向上し、使用するリソースが削減されていると公式は主張しています。この記事では、PHP 5.4 のいくつかの新機能について説明します。
PHP 5.4 では、まず 100 を超えるバグが修正され、メモリとパフォーマンスの最適化が改善され、register_globals、magic_quotes、safe_mode、などの以前のバージョンのいくつかのメソッドが削除されました。 PHP 5.4 では、デフォルトのエンコード方式が に変更されたことに注意してください。これは、開発者が多言語アプリケーションを開発するのに非常に役立ちます。
Traits の紹介
まずは、PHP 5.4 で追加された新機能である Traits を紹介します。実際、この機能は他の言語でも見られ、その構成構造はクラスに似ており (ただし、クラスのようにインスタンス化することはできません)、開発者がさまざまなメソッドを使用できるようになります。クラス内でこのメソッドのセットを再利用します。 PHP は単一継承言語であるため、1 つのクラスが同時に複数のクラスを継承することはできません。このとき、特性が役に立ちます。
特性は、実際のクラスに属さないソリューションのコレクションです。ユーザーは Trait インスタンスを作成したり、Traits 内のメソッドを直接呼び出したりすることはできません。代わりに、Trait を実際のクラスにマージして使用する必要があります。優先順位の点では、Trait メソッドは同じ名前の継承されたメソッドをオーバーライドし、現在のマージされたクラス内の同じ名前のメソッドは Trait メソッドをオーバーライドします。
以下は、トレイトの使用を示す例です。構築している Web サイトが Facebook と Twitter の API を同時に呼び出す必要があるとします。これら 2 つの API の呼び出しプロセス中に、curl メソッドを呼び出して、API から返されるコンテンツを取得する一連の操作を実行する必要があります。これらの 2 つのクラスでは、同じメソッドが繰り返し記述されます。これらは、次のコードに示すように、PHP 5.4 の Traits を使用して実装できます。
トレイト cURL
パブリック関数curl($url)
$ch =curl_init();
curl_setopt($ch, CURLOPT_URL, $url) ;
curl_setopt($ch , CURLOPT_RETURNTRANSFER, 1);
$output =curl_exec($ch);
curl_close($ch);
return $output; **cURL ラッパー特性*/
class Twitter_API
use cURL; //Call Traits
public function get($url)
return json_decode( $this->curl("http://api.twitter.com/".$url));
/**Twitter API クラス*/
クラスFacebook_API
cURL を使用します。 //Call Traits
public function get($url)
return json_decode($this->curl("http://graph. facebook.com/ ".$url));
$facebook = new Facebook_API();
echo $facebook->get("name; //API はここで呼び出されますFacebook ユーザー名を出力するには
/**Facebook APIクラス*/
echo (new Facebook_API)->get("name;
$foo = "get" ;
echo (新しい Facebook_API)->$foo("name;
echo (新しい Twitter_API)->get("name;
> 上記ではコードでは、最初にキーを渡します。単語 trait は、curl という名前のメソッドを含む関数セットを定義します。このメソッドでは、URL のパラメーター値に基づいて、PHP の組み込み cur メソッドが呼び出され、ページが返されます。 URLに対応するコンテンツを出力します。次に、Twitter_API クラスと Facebook_API
クラスで、cURL を使用してそれぞれこの Traits を呼び出し、それぞれの get メソッドで Traits のcurl メソッドが呼び出されます。
上記のコードでは、new Facebook_API() を使用して Facebook オブジェクトのインスタンスを生成することに加えて、PHP 5.4 の新機能、つまり
の使用も示していることに注意してください。クラス メンバーにアクセスするとき、つまり次のようなインスタンスを使用できます:
echo (new Facebook_API)->get("name;
> $foo = "get";
echo (new Facebook_API )->$foo("name;
見ましたか? $foo 変数には値 get が割り当てられ、クラスで get メソッドを呼び出そうとすると、 (new Facebook_API)->$foo ("500058753")->name; を介して呼び出しを実装します。
トレイトの使用を説明するために別の例を示します。次のコードのように:
trait Net
public function net()
return "Net";
class NetTuts
ネット、ツッツを使用します;
public function plus()
return "+";
$o = new NetTuts;
echo $o->net(), $o->tuts (), $o->plus();
echo (新しい NetTuts)->net(), (新しい NetTuts)->tuts(), (新しい NetTuts)->plus( );
上記の結果はすべて NetTuts に出力されます。また、ちなみに、PHP 5.4 のトレイトの魔法定数は __TRAIT__ です。
内蔵デバッグサーバー
これまでの PHP 開発では、Apache HTTP Server と連携して開発することが一般的でした。 PHP 5.4 には、開発者が複雑な構成を行わずに開発作業を完了できるよう、シンプルな Web サーバーが組み込まれています。以下では、PHP 5.4 の組み込みサーバーを使用して Windows 環境で関連作業を完了する方法を段階的に説明します。
ステップ 1) まず、C ドライブのルート ディレクトリにディレクトリ (public_html) を作成し、そのファイル内に router.php ファイルを作成します。コードは次のとおりです。
php
// router.php
if (preg_match("#.php$#", $_SERVER["REQUEST_URI"]))
require Basename($_SERVER[ "REQUEST_URI"]); // php ファイルを提供します
else if (strpos($_SERVER["REQUEST_URI"], ".") !== false)
return false;ファイルをそのまま提供します
>
次に、次のように、index.php という名前の単純な PHP ファイルを作成します。
//index.php
echo "Nettuts+ 読者の皆さん、こんにちは!"