PHPのパブリック関数

王林
王林オリジナル
2024-08-29 13:08:00844ブラウズ

他の多くのオブジェクト指向プログラミング言語と同様、PHP にもプログラム内で関数のアクセシビリティを示す方法があります。 public、protected、private がキーワードとして使用されます。public は、関数が特定の PHP プログラム内でグローバルにアクセスできることを示します。関数をパブリックとして宣言することには多くの利点があり、そのような利点の 1 つは、関数をプログラム内のどこでも制限なく呼び出して使用できることです。

広告 このカテゴリーの人気コース PHP 開発者 - 専門分野 | 8コースシリーズ | 3 つの模擬テスト

無料ソフトウェア開発コースを始めましょう

Web 開発、プログラミング言語、ソフトウェア テスト、その他

PHP でのパブリック関数の仕組み

パブリック関数は制限なく動作します。パブリック関数は、クラスの外部、PHP のプログラミング コード内のクラス内、およびその他のプログラミング言語でも機能します。パブリック関数は、そのクラス内のコンテンツ全体を、アクセスされた場合にのみ他のクラスで利用できるようにします。パブリック関数ですが、アクセスされなければ何も起こりません。 PHP パブリック関数は、他のクラスまたはクラス内でアクセスせずに機能し、何も実装されません。

PHP でパブリック関数を実装する例

以下に示すパブリック関数を実装する例をいくつか示します。

例 #1

これはパブリック関数/修飾子の例です。以下の分かりやすい例でそれがどのように機能するかを見てください:

コード:

<?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のパブリック関数

例 #2

これは、クラス内およびクラス外からパブリック コンテンツにアクセスする例です。以下にリストされている構文を確認してください。

コード:

<?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のパブリック関数

例 #3

これは別の例です。実際、構文には、プログラムをよりよく理解するための保護された変数も含まれています。

コード:

<?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.
}
}
}
?>

アドバンタグes

パブリック関数の利点をいくつか以下で説明します。

  • プログラム/プロジェクト全体のどこからでもアクセスできます。私が言いたいのは、PHP のクラスの Public メソッドまたはパブリック関数は、クラスの外部、内部、またはサブクラス内で呼び出すことができるということです。
  • クラス内だけでなく、クラス外からも別のクラスからアクセスできます。
  • この公開により、機能へのアクセスが制限されなくなります。これは、特定のオブジェクトの公開プロパティのようなものです。プログラム内のどこからでも変更または取得できます。
  • パブリック関数は、コードの完全な意図を表示/提供します。
  • アクセスされた場合のみ、プログラム全体で表示されます。

ルールと規制

公共の機能に関するいくつかのルールと規制を以下で説明します。

  • パブリック メソッド/関数/修飾子/キーワードは、クラス アクセス内だけでなく、クラス外でも制限なく呼び出すことができます。
  • パブリック関数/修飾子は、パブリック関数のコード命令を実行するためにパブリック関数のプログラミング コードが必要なときにアクセスする必要があります。そうしないと、パブリック関数は何も実行しません。
  • パブリック関数/それに類似した関数を使用したクラス内でのアクセス。

以上がPHPのパブリック関数の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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