ホームページ php教程 php手册 PHP5 権威プログラミング読書学習ノート (電子書籍ダウンロード付き)

PHP5 権威プログラミング読書学習ノート (電子書籍ダウンロード付き)

Jun 13, 2016 am 11:59 AM
pdf php php5 power programming 勉強 電子 ノート プログラミング 読む

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 に設定されます。

静的メソッド

静的メソッドは、オブジェクト インスタンスを作成せずにクラス名::静的メソッドを通じて呼び出すことも、$this->static メソッドを通じてオブジェクト インスタンス内で呼び出すこともできます。 self: :呼び出す静的メソッド。

コードをコピー

コードは次のとおりです:

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::

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();
?>


結果:
親クラスのコンストラクターを呼び出します
サブクラスのコンストラクターを呼び出します

推奨方法 1、理由は上記に記載されています。

インスタンスのインスタンス


コードをコピー

コードは次のとおりです: クラス 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__ は、現在のクラスの名前を格納するために使用される特別な定数です。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

PHPとPython:2つの一般的なプログラミング言語を比較します PHPとPython:2つの一般的なプログラミング言語を比較します Apr 14, 2025 am 12:13 AM

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

アクション中のPHP:実際の例とアプリケーション アクション中のPHP:実際の例とアプリケーション Apr 14, 2025 am 12:19 AM

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

PHP:Web開発の重要な言語 PHP:Web開発の重要な言語 Apr 13, 2025 am 12:08 AM

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

PHP対Python:違いを理解します PHP対Python:違いを理解します Apr 11, 2025 am 12:15 AM

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

PHPの永続的な関連性:それはまだ生きていますか? PHPの永続的な関連性:それはまだ生きていますか? Apr 14, 2025 am 12:12 AM

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

PHP対その他の言語:比較 PHP対その他の言語:比較 Apr 13, 2025 am 12:19 AM

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

PHPおよびPython:コードの例と比較 PHPおよびPython:コードの例と比較 Apr 15, 2025 am 12:07 AM

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

PHPおよびPython:さまざまなパラダイムが説明されています PHPおよびPython:さまざまなパラダイムが説明されています Apr 18, 2025 am 12:26 AM

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

See all articles