PHP5 権威プログラミング読書学習ノート (電子書籍ダウンロード付き)
PHP 5 Power Programming PDF ダウンロードアドレス http://www.jb51.net/books/28207.html
PHP4 では、コンストラクターの名前として __construct() は使用されません。メソッドを定義する必要があります。 C と同じように、クラスの名前を使用します。
PHP5 では、新しい統合コンストラクター命名メソッド __construct() が使用されます。もちろん、クラス名を使用することもできます。
ただし、両方を同時に使用すると、システムはデフォルトで __construct() を使用します。
コードをコピー コードは次のとおりです:
class Person{
// in PHP4 Method
public function Person(){
echo "PHP4 のメソッド";
}
//PHP5 の推奨メソッド
public function __construct(){
echo "PHP5推奨メソッド";
}
public functionsay(){
}
}
$p1=new Person();
?>
コンストラクターでは値を返すことができないため、コンストラクターからエラーを生成する最も一般的な方法は例外をスローすることです。
コードは次のとおりです:
コードをコピーします コードは次のとおりです:
class Person{
private $_age;
public function __construct($age){
try {
if ($age<120){
$this->_age=$age ;
}else {
throw new Exception("入力した年齢が古すぎます");
}
}catch (Exception $e){
echo $e->getMessage ();
}
}
}
$p1=新しい人
?>
; オブジェクト属性へのアクセス 保護は OOP の重要なパラダイムです
パブリック: どこからでもアクセスできます
保護: クラス メンバーは、オブジェクト内のメソッドから、そのメンバーが配置されているクラスのサブクラスおよびスーパークラスからアクセスできます
プライベート: クラス メンバーのみ そのクラスによってオブジェクト内のメソッドからアクセスできますが、継承されたクラスのメンバーからはアクセスできません。プライベート メンバーは継承されないため、関連する 2 つのクラスが同じ名前のプライベート変数を宣言できます。
つまり、どちらのクラスも自身のプライベート プロパティのみを参照でき、プライベート メンバー間には関係がありません。
例:
コードをコピー コードは次のとおりです:
/**
* MyClass を定義
*/
class MyClass
{
public $public = 'Public';
protected $protected = 'Protected';
private $private = 'Private'; function printHello( )
{
echo $this->public;
echo $this->private;
}
$ obj = new MyClass();
echo $obj->public; // この行は通常どおり実行できます
echo $obj->protected; // この行は致命的なエラーを生成します
echo $obj->private; // この行も致命的なエラーを生成します
$obj->printHello() // 出力 Public、Protected、Private
/**
* MyClass2 を定義
* /
class MyClass2 extends MyClass
{
// public と protected は再定義できますが、private ですが
protected ではありません $protected = 'Protected2';
function printHello()
{
echo $this->public;
echo $this->private;
}
}
$obj2( ) ;
echo $obj->public; // この行は通常どおり実行できます
echo $obj2->private; // プライベートは定義されていません
echo $obj2->protected; / this この行は致命的なエラーを生成します
$obj2->printHello(); // Public と Protected2 を出力しますが、Private は出力しません
注: クラス内のすべてのメソッドはキーワードを使用する必要がありますpublic、protected、または private を定義します。これらのキーワードが設定されていない場合、メソッドはデフォルトの public に設定されます。
静的メソッド
コードをコピー
コードは次のとおりです:
class Foo {
public static $my_static = 'foo';public static function staticValue() {
return self::$my_static // クラス内の静的メンバーにアクセスするには self キーワードを使用します
}
$obj=new Foo();
echo $obj->staticValue();//メソッド 1
echo Foo::staticValue();//メソッド 2
?>
Clone object
PHP4 では、新しいオブジェクトが返されると、そのオブジェクト自体が返されます。
PHP5 では、新しいオブジェクトが返されると、そのオブジェクトが返されます。 Handle"
これは、PHP5 でオブジェクト インスタンス ($obj1) を別の変数 ($obj2) に割り当てるときに、両方のオブジェクトが同じメモリ領域を指すことを意味します。
例:
コードをコピー コードは次のとおりです:
クラス テスト{
public $str;
}
$obj1=new test();
$obj2= $obj1; obj2-> str="obj2";
echo $obj1->str;// "obj1" を出力します
$obj1 と $obj2 がポイントなのでこのため、オブジェクトを使用してメンバー変数の値を変更すると、別のオブジェクトに影響を与えます。
ただし、オブジェクトのコピー (2 つの独立したメモリ領域) を作成する必要がある場合があります。このとき、言語コマンド clone を使用できます。
コードをコピー
コードは次のとおりです。 class test{
public $str;
}
$obj1= 新しいテスト();
$obj1->str="obj1";
$obj2= クローン
$obj2->str="obj2"; >echo $obj1- >str;//"obj2" が出力されます
?>
parent:: および self::
parent:: 親クラスを指します。多くの場合、親クラスのコンストラクターとメソッドを呼び出すために使用されます。親クラスのメンバーと定数にアクセスするために使用されます 注: クラスの階層を簡単に変更できるため、親クラスの特定の名前の代わりにparent::を使用する必要があります。 例:
コードをコピー
コードは次のとおりです: class Father{
public function __construct(){echo "親クラスのコンストラクターを呼び出す
";
}
}
class Son extends Father {
public function __construct() {
parent::__construct();//メソッド 1
// Father::__construct();//メソッド 2
echo "サブクラスのコンストラクターを呼び出す"
}
}
$son=new Son();
?>
結果:
親クラスのコンストラクターを呼び出します
サブクラスのコンストラクターを呼び出します
インスタンスのインスタンス
コードをコピー
コードは次のとおりです: クラス Rectangle {
public $name=__CLASS__;}
class Square extends Rectangle {
public $name=__CLASS__;
public $name= __CLASS__;
}
関数 checkIfRectangle($shape){
if ($shape インスタンスオブ Rectangle ){
echo $shape->name;
echo "オブジェクトは Rectangle クラスのインスタンスではありません";
}
}
checkIfRectangle(new Square());//出力: Square
checkIfRectangle(new Circle()); //出力: オブジェクトは Rectangle クラスのインスタンスではありません
?>
注: __CLASS__ は、現在のクラスの名前を格納するために使用される特別な定数です。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











PHPとPythonにはそれぞれ独自の利点があり、プロジェクトの要件に従って選択します。 1.PHPは、特にWebサイトの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンス、機械学習、人工知能に適しており、簡潔な構文を備えており、初心者に適しています。

PHPは、電子商取引、コンテンツ管理システム、API開発で広く使用されています。 1)eコマース:ショッピングカート機能と支払い処理に使用。 2)コンテンツ管理システム:動的コンテンツの生成とユーザー管理に使用されます。 3)API開発:RESTFUL API開発とAPIセキュリティに使用されます。パフォーマンスの最適化とベストプラクティスを通じて、PHPアプリケーションの効率と保守性が向上します。

PHPは、サーバー側で広く使用されているスクリプト言語で、特にWeb開発に適しています。 1.PHPは、HTMLを埋め込み、HTTP要求と応答を処理し、さまざまなデータベースをサポートできます。 2.PHPは、ダイナミックWebコンテンツ、プロセスフォームデータ、アクセスデータベースなどを生成するために使用され、強力なコミュニティサポートとオープンソースリソースを備えています。 3。PHPは解釈された言語であり、実行プロセスには語彙分析、文法分析、編集、実行が含まれます。 4.PHPは、ユーザー登録システムなどの高度なアプリケーションについてMySQLと組み合わせることができます。 5。PHPをデバッグするときは、error_reporting()やvar_dump()などの関数を使用できます。 6. PHPコードを最適化して、キャッシュメカニズムを使用し、データベースクエリを最適化し、組み込み関数を使用します。 7

PHP and Python each have their own advantages, and the choice should be based on project requirements. 1.PHPは、シンプルな構文と高い実行効率を備えたWeb開発に適しています。 2。Pythonは、簡潔な構文とリッチライブラリを備えたデータサイエンスと機械学習に適しています。

PHPは依然として動的であり、現代のプログラミングの分野で重要な位置を占めています。 1)PHPのシンプルさと強力なコミュニティサポートにより、Web開発で広く使用されています。 2)その柔軟性と安定性により、Webフォーム、データベース操作、ファイル処理の処理において顕著になります。 3)PHPは、初心者や経験豊富な開発者に適した、常に進化し、最適化しています。

PHPは、特に迅速な開発や動的なコンテンツの処理に適していますが、データサイエンスとエンタープライズレベルのアプリケーションには良くありません。 Pythonと比較して、PHPはWeb開発においてより多くの利点がありますが、データサイエンスの分野ではPythonほど良くありません。 Javaと比較して、PHPはエンタープライズレベルのアプリケーションでより悪化しますが、Web開発により柔軟性があります。 JavaScriptと比較して、PHPはバックエンド開発により簡潔ですが、フロントエンド開発のJavaScriptほど良くありません。

PHPとPythonには独自の利点と短所があり、選択はプロジェクトのニーズと個人的な好みに依存します。 1.PHPは、大規模なWebアプリケーションの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンスと機械学習の分野を支配しています。

PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。
