ホームページ バックエンド開発 PHPチュートリアル PHP の static、const、define の違いを直接見てみる

PHP の static、const、define の違いを直接見てみる

Aug 12, 2020 pm 05:19 PM
const define php static

PHP の static、const、define の違いを直接見てみる

パーツの定義:
マクロは置換するだけではありません定数値 は、式やコード スニペットの置換にも使用できます。 (マクロの機能は非常に強力ですが、エラーが発生しやすいため、賛否両論がかなり分かれています。)
マクロの構文は次のとおりです。
#マクロ名マクロを定義します。 value
としての値 マクロ名にはすべて大文字を使用することが推奨されており、プログラマの間では一般的な習慣となっています。

関連する学習の推奨事項: php プログラミング (ビデオ)

##マクロを使用する利点:
1 ) コードをより簡潔かつ明確にします

もちろん、これはマクロに適切な名前を付けるかどうかによって異なります。一般に、マクロ名は明確かつ直感的な意味を持つ必要があり、場合によっては長い方がよい場合もあります。

2) コードのメンテナンスを容易にする
コンパイル プロセスにおけるマクロの処理は「前処理」と呼ばれます。つまり、正式なコンパイルの前に、コンパイラはまず、コード内に出現するマクロを対応するマクロ値に置き換える必要があります。このプロセスは、皆さんや私がワープロ ソフトウェアで使用する検索と置換に似ています。したがって、マクロを使用してコード内で定数を表現する場合、最終的には即値が使用され、その量の種類が明確に指定されません。
const 部分

#定数定義の形式は次のとおりです:
const データ型定数名 = 定数値;
const で定義された定数にはデータがあります。 type、データ型の定数を定義すると、コンパイラがデータをチェックし、プログラム内で発生する可能性のあるエラーのトラブルシューティングを容易にします。定数は最初に値を指定する必要があり、その後のコードではこの定数の値を変更することはできません。
両者の違い:

メモリ空間の割り当て。 define がマクロを定義する場合、メモリ空間は割り当てられません。コンパイル時に main 関数内で置き換えられます。型、文の構造などのチェックは行われず、単純に置き換えられます。つまり、マクロ定義定数です。は単なる純粋な配置です。関係、

#define null 0 など。null に遭遇すると、コンパイラは常に null を 0 に置き換えます。データ型はありません。ご不明な点がございましたら、前処理をご覧ください。 C 言語の本の一部を参照するか、MSDN を参照してください。および const 定義された定数にはデータ型があります。データ型を定義する定数により、コンパイラーはデータをチェックし、プログラム内で発生する可能性のあるエラーのトラブルシューティングが容易になります。したがって、const と define の違いは、const であるということです。定義された定数により、プログラム間の安全性の問題が解消されます。

define は、どこからでもアクセスできるグローバル定数を定義します。const は、クラス メンバー変数の定義に使用されます。クラス名でのみアクセスでき、変更できません。 PHP5 には多くのオブジェクト指向機能が追加されています。PHP5 のオブジェクト指向の考え方は Java のオブジェクト指向の考え方に近いです。ここでは、PHP5 を学習している友人の役に立つことを願って、PHP5 の static キーワードと const キーワードの機能について説明します。

(1) クラスの staticstatic キーワードは、メンバーが静的であることを示します。static の後のメンバーはクラスに属し、どのオブジェクト インスタンスにも属さないため、static は外部アクセスを制限できます。他のクラスにはアクセスできず、そのクラスのインスタンスのみが共有されるため、プログラムはメンバーを全力で保護します。クラスの静的変数はグローバル変数に非常に似ており、クラスのすべてのインスタンスで共有できます。グローバル関数と同様、クラスの静的メソッドにも同じことが当てはまります。クラスの静的メソッドは、クラスの静的プロパティにアクセスできます。また、静的メンバーには self を使用してアクセスする必要があるため、これを使用するとエラーが発生します。

(2) constconst は、C の #define と同様に定数を定義するキーワードで、定数を定義できますが、プログラム中で値を変更するとエラーとなります。上記のコードの例を示します:

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

<?php 
class Counter 
{ 
private static $count = 0;//定义一个静态属性 
const VERSION = 2.0;//定义一个常量 
//构造函数 
function __construct() 
{ 
self::$count++; 
} 
//析构函数 
function __destruct() 
{ 
self::$count--; 
} 
//定义一个静态的方法 
static function getCount() 
{ 
return self::$count; 
} 
} 
//创建一个实例 
$c = new Counter(); 
//执行打印 
print( Counter::getCount(). "<br>\n" ); //使用直接输入类名来访问静态方法Counter::getCount 
//打印类的版本 
print( "Version useed: " .Counter::VERSION. "<br>\n" ); 
?>
ログイン後にコピー

関連する推奨事項:

プログラミング ビデオ コース

以上がPHP の static、const、define の違いを直接見てみるの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP クイックガイド CakePHP クイックガイド Sep 10, 2024 pm 05:27 PM

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。

PHPでHTML/XMLを解析および処理するにはどうすればよいですか? PHPでHTML/XMLを解析および処理するにはどうすればよいですか? Feb 07, 2025 am 11:57 AM

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

See all articles