他の多くのオブジェクト指向プログラミング言語と同様、PHP にもプログラム内で関数のアクセシビリティを示す方法があります。 public、protected、private がキーワードとして使用されます。public は、関数が特定の PHP プログラム内でグローバルにアクセスできることを示します。関数をパブリックとして宣言することには多くの利点があり、そのような利点の 1 つは、関数をプログラム内のどこでも制限なく呼び出して使用できることです。
広告 このカテゴリーの人気コース PHP 開発者 - 専門分野 | 8コースシリーズ | 3 つの模擬テスト無料ソフトウェア開発コースを始めましょう
Web 開発、プログラミング言語、ソフトウェア テスト、その他
パブリック関数は制限なく動作します。パブリック関数は、クラスの外部、PHP のプログラミング コード内のクラス内、およびその他のプログラミング言語でも機能します。パブリック関数は、そのクラス内のコンテンツ全体を、アクセスされた場合にのみ他のクラスで利用できるようにします。パブリック関数ですが、アクセスされなければ何も起こりません。 PHP パブリック関数は、他のクラスまたはクラス内でアクセスせずに機能し、何も実装されません。
以下に示すパブリック関数を実装する例をいくつか示します。
これはパブリック関数/修飾子の例です。以下の分かりやすい例でそれがどのように機能するかを見てください:
コード:
<?php // BaseClass class publ { public $tagging_line = "Scientists & Engineers are the real Geeks"; function display() { echo $this->tagging_line."\n"; } } // SubClass class subc extends publ { function show(){ echo $this->tagging_line; } } // Object Declaration $obj= new subc; // Scientists & Engineers are the real Geeks! echo $obj->tagging_line."\n"; // Scientists & Engineers are the real Geeks! $obj->display(); // Scientists & Engineers are the real Geeks! $obj->show(); ?>
出力:
これは、クラス内およびクラス外からパブリック コンテンツにアクセスする例です。以下にリストされている構文を確認してください。
コード:
<?php class Itemone { /** * This is the INSIDE PROGRAMMING CODE because it is actually written INSIDE of the class. */ public $labelone; public $priceone; } /** * This is OUTSIDE PROGRAMMING CODE because it is actually written OUTSIDE of the class. */ $item = new Itemone(); $item->labelone = ' Phantam Drone - Mavic Pro '; $item->priceone = 250.99; echo $item->labelone; /** * Printing your variable value which contains string. $item is the public function variable declaration to store values accessing from Item function */ echo $item->priceone; ?>
出力:
これは別の例です。実際、構文には、プログラムをよりよく理解するための保護された変数も含まれています。
コード:
<?php class Itemone { /** * Here's the new INSIDE PROGRAMMING CODE and the Rules Which are to follow: * * 1. It will STOP ACCESS to the properties of it via $itemone->labelone and $itemone >priceone, * with the help of the protected keyword. * 2. FORCING the use of the public functions in the code. * 3. The ONLY strings are now allowed OUT & IN of this class/classes for $labelone * with the help of the getLabelone and setLabelone functions. * 4. In OUT & IN of the class only floats are allowed now for $priceone * by using getPriceone and setPriceone functions. */ protected $labelone = 'Unknown ItemONE'; // Rule 1 - protected Variable. protected $priceone = 0.0; // Rule 1 - protected Variable. public function getLabelone() { // Rule 2 - public function declaration. return $this->labelone; // Rule 3 - string OUT for $labelone. } public function getPriceone() { // Rule 2 - public function declaration for Priceone. return $this->priceone; // Rule 4 - The float OUT for $priceone. } public function setLabelone($labelone) // Rule 2 - public function declaration. { /** * Make sure $labelone is a PHP string that can be used in a SORTING * alogorithm, number, array, NOT a boolean or the object that can't be * properly sorted -- AND to make sure that the getLabelone() function * ALWAYS returns PHP string which is genuine. * * Using a RegExp would now improve this function, however, the main * point is the one made above. */ if(is_string($labelone)) { $this->labelone = (string)$labelone; // Rule 3 - string IN for $label. } } public function setPriceone($priceone) // Rule 2 - public function. { /** * Make sure $priceone is a PHP float value so that it can be used in a particular * NUMERICAL CALCULATION. Do not accept string, array, boolean or * some of the other object/objects that can't be included in a simple calculation. * Now This will ensure that the getPriceone() function will ALWAYS returns * genuine, authentic and also full-flavored PHP's number and nothing but. * * Checking the positive values may/might improve this one function, * however, the main point is the one made above. */ if(is_numeric($priceone)) { $this->priceone = (float)$priceone; // Rule 4 - float IN for $price. } } } ?>
パブリック関数の利点をいくつか以下で説明します。
公共の機能に関するいくつかのルールと規制を以下で説明します。
以上がPHPのパブリック関数の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。