ホームページ バックエンド開発 PHPチュートリアル このコードは実際には動作しますがクラッシュします

このコードは実際には動作しますがクラッシュします

Jun 13, 2016 pm 01:21 PM
bar class echo

このコードは実際には実行できますが、クラッシュします

PHP コード
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->class Foo
{
    const foo='bar';
    public $foo='foobar';
    const bar='foo';
    static $bar='foobar';
}

var_dump(foo::$bar); // static property
var_dump(foo::bar);  // class constant

$bar = new Foo();
var_dump($bar->foo); // object property
var_dump(bar::foo); // class constant
ログイン後にコピー


非常に奇妙に感じられ、非常に混乱しています。なぜ出力したのでしょうか? ?

-----解決策--------------------------------
なぜでしょうか。
------解決策---------
なぜダメなのか。
------解決策-----
var_dump(bar::foo); を除くclass constant は、bar クラスが未定義であるように表示され、残りは正常です。どう思いますか?
------解決策---------
とにかく実行されています

------解決策------
1. 変数名は大文字と小文字が区別されます

1
2 $abc = 'abcd';

3 echo $abc; //出力 'abcd'

4 echo $aBc; //出力なし

5 echo $ABC; //出力なし

2. 定数名はデフォルトで大文字と小文字が区別され、通常は大文字の
で記述されます。このデフォルトの設定項目を変更する方法を見つけました。解決策)

3. 関数名、メソッド名、クラス名は大文字と小文字が区別されません
が、定義時と同じ名前を使用することをお勧めします。

1
2 function show(){

3 echo "Hello World";

4 }

5 show(); //Hello World を出力する場合の推奨記述方法

6 SHOW() //Hello World を出力する

class cls{

static function func(); {

echo "hello world";

}

}

8 Cls::FunC() //hello world を出力

4. マジック定数は大文字と小文字を区別しません。大文字の使用が推奨されます。
次のものが含まれます: __LINE__、__FILE__、__DIR__、__FUNCTION__、__CLASS__、__METHOD__、__NAMESPACE__。


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

Win11 で Xbox Game Bar を完全にアンインストールする方法は? Xbox Game Bar をアンインストールする方法を共有する Win11 で Xbox Game Bar を完全にアンインストールする方法は? Xbox Game Bar をアンインストールする方法を共有する Feb 10, 2024 am 09:21 AM

Win11XboxGameBar を完全にアンインストールするにはどうすればよいですか? Xbox GameBar は、システムに付属するゲーム プラットフォームです。ゲームの録画、スクリーンショット、ソーシャル機能のためのツールを提供します。ただし、大量のメモリを消費するため、アンインストールするのは簡単ではありません。アンインストールしたい友達もいますが、完全にアンインストールする方法を以下に紹介します。方法 1. Windows ターミナルを使用する 1. [Win+X] キーの組み合わせを押すか、タスクバーの [Windows スタート メニュー] を [右クリック] して、表示されるメニュー項目から [ターミナル アドミニストレータ] を選択します。 2. [ユーザー アカウント制御] ウィンドウで、このアプリがデバイスに変更を加えることを許可しますか? [はい]をクリックします。 3. 次のコマンドを実行します: Get-AppxP

Python でクラスとメソッドを使用する方法 Python でクラスとメソッドを使用する方法 Apr 21, 2023 pm 02:28 PM

クラスとメソッドの概念とインスタンス クラス (Class): 同じプロパティとメソッドを持つオブジェクトのコレクションを記述するために使用されます。コレクション内のすべてのオブジェクトに共通のプロパティとメソッドを定義します。オブジェクトはクラスのインスタンスです。メソッド: クラスで定義された関数。クラス構築メソッド __init__(): クラスには init() という名前の特別なメソッド (構築メソッド) があり、クラスがインスタンス化されるときに自動的に呼び出されます。インスタンス変数: クラスの宣言において、属性を変数で表現したものをインスタンス変数と呼びます。インスタンス変数とは、self で修飾された変数です。インスタンス化: クラスのインスタンス、クラスの特定のオブジェクトを作成します。継承: つまり、派生クラス (派生クラス) は基本クラス (ベースクラス) を継承します。

テクノロジーの世界を探索できる、厳選された 5 つの Go 言語オープンソース プロジェクト テクノロジーの世界を探索できる、厳選された 5 つの Go 言語オープンソース プロジェクト Jan 30, 2024 am 09:08 AM

今日の急速な技術発展の時代では、雨後の筍のようにプログラミング言語が出現しています。多くの注目を集めている言語の 1 つは Go 言語です。Go 言語は、そのシンプルさ、効率性、同時実行の安全性などの機能により多くの開発者に愛されています。 Go 言語は、多くの優れたオープンソース プロジェクトがある強力なエコシステムで知られています。この記事では、厳選された 5 つの Go 言語オープンソース プロジェクトを紹介し、読者を Go 言語オープンソース プロジェクトの世界へ導きます。 KubernetesKubernetes は、自動化されたオープンソースのコンテナ オーケストレーション エンジンです。

Go 言語開発の要点: 5 つの人気のあるフレームワークの推奨事項 Go 言語開発の要点: 5 つの人気のあるフレームワークの推奨事項 Mar 24, 2024 pm 01:15 PM

「Go 言語開発の要点: 5 つの人気フレームワークの推奨事項」 高速で効率的なプログラミング言語として、Go 言語はますます多くの開発者に好まれています。開発効率を向上させ、コード構造を最適化するために、多くの開発者はフレームワークを使用してアプリケーションを迅速に構築することを選択します。 Go 言語の世界には、選択できる優れたフレームワークが数多くあります。この記事では、5 つの人気のある Go 言語フレームワークを紹介し、読者がこれらのフレームワークをよりよく理解して使用できるように、具体的なコード例を示します。 1.GinGin は高速な軽量 Web フレームワークです。

jQueryを使用して要素のクラス名を置換する jQueryを使用して要素のクラス名を置換する Feb 24, 2024 pm 11:03 PM

jQuery は、Web 開発で広く使用されている古典的な JavaScript ライブラリで、イベントの処理、DOM 要素の操作、Web ページ上でのアニメーションの実行などの操作を簡素化します。 jQueryを使っていると要素のクラス名を置き換える場面がよくありますが、この記事ではその実践的な方法と具体的なコード例を紹介します。 1.removeClass() メソッドと addClass() メソッドを使用する jQuery には、削除用の RemoveClass() メソッドが用意されています。

Pythonにおけるクラスとは何を意味するのでしょうか? Pythonにおけるクラスとは何を意味するのでしょうか? May 21, 2019 pm 05:10 PM

クラスとはPythonでクラスを定義するためのキーワードです クラスの定義方法:classの後ろにスペースを入れてからクラス名を追加します; クラス名のルール:最初の文字を大文字にします 複数の単語がある場合はキャメルケースを使用してください[class Dog()] などの名前付け。

SpringBoot がカスタム クラスローダーを通じてクラス ファイルを暗号化および保護する方法 SpringBoot がカスタム クラスローダーを通じてクラス ファイルを暗号化および保護する方法 May 11, 2023 pm 09:07 PM

背景 最近、jd-gui などの逆コンパイル ツールによってエンジニアリング コードが簡単に復元されないようにするために、企業のフレームワークでは主要なビジネス コードが暗号化されていますが、関連する難読化スキームの構成と使用は比較的複雑であり、多くの問題が発生しています。 springboot プロジェクトなので、クラス ファイルが暗号化されて渡されます。カスタム クラスローダが復号化されてロードされます。このソリューションは絶対に安全というわけではありません。逆コンパイルの難易度が上がるだけです。紳士は阻止できますが、悪党は阻止できません。全体的な暗号化保護のフローチャートが示されています。 Maven プラグインの暗号化では、カスタム Maven プラグインを使用してコンパイルします。指定されたクラス ファイルが暗号化され、暗号化されたクラス ファイルが指定されたパスにコピーされます。ここでは、resource/corecla に保存されます。

Golang の Web フレームワーク Echo フレームワークを使用した分散タスク スケジューリングの実装 Golang の Web フレームワーク Echo フレームワークを使用した分散タスク スケジューリングの実装 Jun 24, 2023 am 11:49 AM

インターネットの発達や情報技術の進歩によりビッグデータの時代が到来し、データ分析や機械学習などの分野も広く活用されています。これらの分野では、タスクのスケジューリングは避けられない問題です。効率的なタスクのスケジューリングを実現する方法は、効率を向上させるために重要です。この記事では、Golang の Web フレームワーク Echo フレームワークを使用して分散タスク スケジューリングを実装する方法を紹介します。 1. Echo フレームワークの概要 Echo は、高性能、スケーラブル、軽量の GoWeb フレームワークです。 HTTPに基づいています

See all articles