PHP の QueryPath jQuery

黄舟
リリース: 2016-12-14 15:12:36
オリジナル
1077 人が閲覧しました

QueryPath (QP) ライブラリは、PHP の jQuery と同様の効果を実装しており、XML HTML を簡単に処理するためにも使用できます...とても強力です。 ! !

QueryPath チュートリアル (簡単な説明)
QueryPath はメソッド チェーンを利用して、DOM を操作するための簡潔なツール スイートを提供します
メソッド チェーンの基本原理は、各メソッドが追加のメソッドを呼び出すことができるオブジェクトを返すことです。この場合、QueryPath オブジェクトは通常、それ自体を返します。
$qp = qp(QueryPath::HTML_STUB) // 新しい QueryPath オブジェクトを生成します。(QP オブジェクトを作成します)
$qp2 = $qp->find('body'); // body タグを見つけます (「body」タグを見つけます)
// ここで驚くべき部分: (以下の驚くべき点を参照してください)
if ( $qp === $qp2) {
// これは常に出力されます。(常にこのように出力されます)
print "MATCH";
}
なぜ $qp は常に $qp2 と等しいのでしょうか?すべてのデータを収集して QueryPath オブジェクトを返します。
これは難解に見えるかもしれませんが、この種のインターフェイスを使用すると、多くのメソッドを連鎖させることができます。
(jQuery でも同じことができます。メソッドを連結するには)
qp(QueryPath::HTML_STUB)->find('body')->text('Hello World')->writeHTML();
この例では、4 つのメソッド呼び出しがあります。 qp(QueryPath::HTML_STUB): 新しい QueryPath オブジェクトを作成し、それに HTML ドキュメントのスタブを提供します。これにより、QueryPath オブジェクトが返されます。
find('body'): これは、QueryPath ドキュメントを検索して 'body' という名前の要素を探します。もちろん、その要素は HTML ドキュメントの 部分です。body 要素を見つけると、その要素への内部ポインタを保持し、QueryPath オブジェクトを返します。
text('Hello World'): この関数は、QueryPath でラップされた現在の要素を取得し、テキスト Hello World を追加します。これも QueryPath オブジェクトを返します。オブジェクトは引き続き body 要素を指します。 writeHTML() 関数は、HTML をクライアントに返すために使用されます。ご想像のとおり、QueryPath です。
したがって、上記のチェーンの最後に、次のようなドキュメントが作成されます。

次のようにコードをコピーします。




Hello World

その HTML のほとんどは、Hello を追加しただけです。 タグ内のワールド テキスト。
すべての QueryPath 関数が QueryPath オブジェクトを返す必要があるわけではありません。ただし、これらの関数は付属のドキュメントに詳しく説明されています。 QueryPath の背後にある原理。次に、QueryPath API をさらに実行するより大きな例を見てみましょう。
より長い例
この例では、QueryPath のさまざまなコア機能を説明します。

コードの各行は個別にコメントされています。ここからの出力は、下の別のブロックに表示されます。

复制代码代码如下:
/** 
* クエリパスを使用します。 
*
* このファイルには、QueryPath を使用して Web ページを生成する方法の例が含まれています
*。 
* @package QueryPath
* @subpackage Examples
* @author M Butcher  
* @license LGPL GNU Lesser GPL (LGPL) または MIT に似たライセンス。 
*/
// QueryPath コアが必要です。 
require_once 'QueryPath/QueryPath.php'; 
// HTML スタブ ドキュメント (実際には XHTML) から始めて、タイトルに移動します。 
qp(QueryPath::HTML_STUB, 'title')
// タイトルにテキストを追加します
->text('Example of QueryPath.')
// 次に、 を探します。 element
->find(':root body')
// 本文内にタイトルと段落を追加します。 
->append('

これはテストページです

テストテキスト

')
// 次に、本文内に作成したばかりの段落を選択します
-> Children('p')
// 'class="some-class"' 属性を段落に追加します
->attr('class', 'some-class')
// style 属性も追加します、背景色を設定します。 
->css('background-color', '#eee')
// もう一度段落に戻ります
->parent()
// 段落とタイトルの前に、空の表を追加します。 
->prepend('
')
// さて、テーブルに行きましょう...
->find('#my-table' )
// 空の行をいくつか追加します
->append('')
// 行を選択します(両方を一度に)
- >children()
// CSS クラスを両方の行に追加します
->addClass('table-row')
// 次に、最初の行 (位置 0) を取得するだけです
->eq(0)
// 最初の行にテーブルのヘッダーを追加します
->append('This is the header')
// 次の行に進みます
->next()
//この行にデータを追加します
->append('これはデータです')
// すべてを HTML として書き出します
->writeHTML(); 
?>

上記のコードは次の HTML を生成します:

复制代码代码如下:
 
 
 
 
QueryPath の例。 
 
<ボディ> 
<テーブル id="my-table"> 
これはヘッダーです 
これはデータです 
 

これはテストページです

 

テスト テキスト

 

これで、QueryPath がどのように機能するか理解できたはずです。ライブラリのコピーを入手して試してみてください。ソース コードとともに、QueryPath ライブラリのすべてのパブリック関数をカバーする HTML ファイルの素晴らしいバンドルが得られます (冗談ではありません)。他にも例はあります。 
不错的东东!赶紧掴み它吧~~!

感谢您的阅读,更多相关文章请关注PHP中文网(www.php.cn)!

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート