ホームページ >php教程 >php手册 >[編入] PHPを使った授業(I)

[編入] PHPを使った授業(I)

WBOY
WBOYオリジナル
2016-06-21 09:07:541188ブラウズ

クラスと PHP

Rod Kreisler

PHP を使い始めて以来、私が理解しようとしていた最も困難な概念はクラスの概念でした。私はデータベース エンジンを使用したことがありませんでしたが、少なくともより基本的な機能については、MySQL の使用方法を学ぶのは簡単でした。これまで OOP を使用したことがなかったので、クラスも斬新でしたが、理論とそれがなぜ役立つのかを理解することができませんでした。 「すべて」が OOP を使用してプログラムされているため、強力であることはわかっていましたが、仕組みは理解したつもりでも、その有用性は一生わかりませんでした。そして、つい数日前、通常の関数を使って何かを行う方法を考えていたときに、オブジェクトを使ってやれば仕事がずっと簡単になることに気づきました。それらについて平易な英語で説明し、私のような他の人を助けることができれば幸いです。

クラスは、変数とそれらの変数に作用する関数のコレクションにすぎません。これらは、現実世界の観点から物事を考える手段を提供します。言い換えれば、それらはオブジェクトを説明します。クラスのオブジェクトまたはインスタンスは、そのクラスの実際の「生きて呼吸している」構造です。自転車について説明したいとします。自転車の適切なクラスには、変数 $pedals、$chain、$front Wheel、$rear Wheel、$brakes、および $handle_bars が含まれる場合があります。自転車の関数には、Stop()、Accelerate()、Coast()、TurnLeft()、および TurnRight() が含まれます。スクリプトをその自転車を操作するエンティティとして考えることができます。 Accelerate() 関数に $Braking_Force などの引数を渡し、その情報を定義されたインスタンス変数 (おそらく $brakes と $wheels) とともに使用して、結果をスクリプトに出力できます。

興味深いですが、これらすべてを通常の変数と関数を使用して実現することはできないでしょうか?はい、可能です。スクリプトに自転車が 1 台しかない場合、その自転車専用のクラスを定義することはおそらくあまり意味がありません。しかし、複数の自転車が必要な場合はどうすればよいでしょうか?これらすべての変数を追跡し、さまざまな関数に正しい変数を確実に渡すことは非常に複雑になる可能性があります。オブジェクトを使用すると、関数が記述するすべての変数を自動的に利用できるため、渡す必要がある変数の数が削減されます。関数が作用するオブジェクト。また、クラス定義はさまざまなスクリプトに簡単に含めることができるため、自転車が各スクリプトで同じように動作することが保証されます。

私がサイトのほぼすべてのページで実際に使用しており、あなたにも役立つかもしれないクラスを作成しましょう。

あなたはどうか知りませんが、動的な Web ページを書いているとき、HTML を適切にフォーマットするかどうかを心配するために、論理的な流れについて考えるのをやめなければならないのが嫌いです。その結果、フォントの書体やサイズ、背景やテキストの色を気にしたくないため、あまり魅力的ではないページができてしまうことがよくあります。解決策: PHP クラスを使用して、テキストをフォーマットする関数で HTML 出力属性を設定します。

私はこのクラスを「スタイル」と呼んでいます。これには、出力の書式設定に重要な HTML 属性を設定する次の変数が含まれています。
var $alink;
var $vlink;
var $link;
var $bgcol;
var $face;
var $size;
var $align;
var $valign;

}

?>

あなたは HTML に精通していると思いますので、変数は一目瞭然でしょう。次に、Style という名前の Style 関数を作成しました。


class Style {

function Style ($text="#000000",$alink="#AA00AA",
$vlink="#AA00AA") ,$link="#3333FF",
$bgcol="#999999",$face="ブック アンティクア",$size=3,$align="CENTER",$valign="TOP") {

$this ->テキスト=$テキスト;
$this->alink=$alink;
$this->vlink=$vlink;
$this->link=$link;
$this->bgcol=$bgcol;
$this->face=$face;
$this->size=$size;
$this->align=$align;
$this->valign=$valign;

}

}
?>







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