<ul> <li><span>2.1 名前空間: </span></li> <li><span> 競合を避けるために、<?php の後の最初の行に置きます </span></li><li><span>参照名前空間: 名前空間 Symphony/HttpFoundation を使用します。 </span></li><li><span> 名前空間を宣言します: 名前空間 Oreilly; </span> </li> <li><span>名前空間でクラスを参照: Oreilly/con を使用します。 </span></li><li><span>名前空間で関数を参照: func Oreilly/functionName を使用します。 </span></li><li><span> 名前空間で定数を参照: ユーザー定数 Rreilly + Bar{ }</span></li><li><span></span></li><li><span>グローバル名前空間: PHP のネイティブ例外クラスなど、名前空間のないコード。以前のアクセスにより、現在の名前空間では検索せず、グローバル空間で検索するように PHP に指示できます。$e = new Exception()</span><ul><li><span>完全修飾phpクラス名: (名前空間 + クラス名)</span><ul><li><span>2.2 インターフェースの使用</span></li><li><span>インターフェース定義: インターフェース Documentable{</span></li></ul></li>public function getId ();</ul></li><li><span> public function getContent();</span></li><li><span>}</span></li><li><span></span></li>Interface 実装: class HtmlDocument は Documentable{<li><span></span><ul>public function _construct(){}<li><span></span> </li>public function getId (){<li><span> </span></li> return $this->url;<li><span></span></li></ul></li>}<li><span></span><ul>public function getContent(){}<li><span></span></li><li><span>}</span><ul><li><span>2. </span></li>その理由トレイトを使用するということは、2 つのクラスが非常に似た機能構造を必要とするということです。継承を通じて実装すると、元のクラス階層が破壊されます。インターフェイスを使用して実装すると、コードの重複が発生するため、トレイトが導入されます</ul></li>。<ul><li><span>特性の定義: trait MyTrait{</span><ul><ul><li><span> // 特性の実装 </span></li></ul><li><span>}</span></li></ul></li><li><span> 特性の使用法: class MyClass{</span><ul><ul><li> <span> MyTrait を使用します;</span></li></ul><li> <span>} </span></li></ul></li><li>2.4 ジェネレータ、イテレータ <span></span></li><li>ジェネレータは php 関数であり、値を返さず、値を出力するだけで、反復処理に適しています。大規模なデータセット。 <span></span></li><li>ジェネレーターの作成方法: function myGenerator(){<span></span><ul><ul>yield 'value1'; <li><span></span></li>yield 'value2'; <li>ジェネレーターの使用法: PHP は Generator クラスのオブジェクトを返します。たとえば、10,000 の範囲内の整数を生成する必要がある場合、1 つの方法は、メモリ内に 10,000 個の整数を作成し、毎回 1 つの整数のメモリを使用するだけです。 。 <span></span></li></ul>foreach(myGenerator() as $yieldValue){<li><span></span></li></ul>echo $yieldValue;//出力 value1, value2</li><li><span></span></li>}<li><span></span><ul><ul><li> 2.5 クロージャと匿名関数 <span></span></li> </ul>クロージャ: 作成時に周囲の状態をカプセル化する関数。たとえクロージャが存在する環境が存在しなくなっても、クロージャ内にカプセル化された状態はまだ存在します。<li><span></span></li>匿名関数: 名前のない関数。変数に支払われます</ul></li><li> <span>クロージャと匿名関数は実際にはオブジェクトであり、クロージャ型のインスタンスです</span></li><li><span>2.6 クロージャの作成</span></li><li><span>変数名の後に(がある限り、phpは_invoke( ) メソッド。クロージャが存在しない前は、php は名前付きコールバックを作成することしかできません</span></li><li><span>$numbersPlusOne </span></li>= <li><span>array_map</span></li>(<li><span>function) </span><ul>($number) { <li><span></span><span>return </span><span>$number </span><span>+ </span><span>1</span><span>; </span><ul><li><span>}、[</span><span>1</span><span>、</span><span>2</span><span>、</span></li>3<li><span>]);</span><span></span><span> </span><span>print_r</span><span>($numbersPlusOne); </span><span>// </span><span>出力 </span></li>--> </span></li> </ul> [<li> <span>2</span><span>, </span><span>3</span><span>, </span><span>4</span><span>] クロージャの追加ステータス:binto () Living USEキーワード </span><span></span><span> Use useキーワード: function </span><span>encloseperson</span><span>(</span><span>$name</span><span>) {</span> </li>return関数<li> <span>(</span><ul>$doCommand<li> <span>) </span><span>use </span><span>(</span><span>$name</span><span>) { //</span><ul>nameパラメータをカプセル化します<li> <span></span><span>return </span><span>sprintf</span><span>(</span><span>'%s, %s'</span><span>, </span><span>$name</span><span>, </span><span>$doCommand</span><ul>); <li> <span></span><span></span><span>}; </span><span></span><span> メソッドを使用してアタッチします閉鎖状況: </span><span></span><span>$これ</span><span>-></span><span>ルート</span> </li>[</ul> </li>$routePath<li><span>] </span></li>= </ul> </li>$routeCallback<li><span>-></span></li>bindTo<li> <span>(</span><ul>$this<li> <span>,</span><span>__CLASS__</span><span>);</span><span></span><span> 2番目のパラメータはこのクロージャをバインドしますオブジェクトタイプ </span><span></span><span> </span><span></span><span>2.7 バイトコードキャッシュ Zend OPcache</span><span></span><span>2.8PHP 組み込みサーバー</span><span></span><span></span>php -S localhost:4000<span></span><span></span>別のマシンでこのサーバーにアクセスする必要がある場合は、OK php に設定します - S 0.0.0.0:4000</li> <li> <span></span>サーバー構成: php -S localhost:4000 -c app/config/php.ini</li> </ul> </li> </ul>組み込みサーバーには .htaccess ファイルがないため、多くのファイルはサポートされていませんPHP フレームワークでは、代わりに組み込みのルーティング スクリプトを使用してください </li> <li> <span></span>php -S localhost:4000 router.php</li> <li> <span> 以上、PHP 学習 - PHP の第 2 章の特徴を、章と PHP 学習の側面を含めて紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。 </span> </li>