アプリ版:「スタンプのみでお礼する」機能のリリースについて

グローバル関数や__constructなどの決め事以外で文字列の頭に'_'(アンダースコア)を付けることがありますが、あれには何か”暗黙の了解”のようなルールがあるのでしょうか?

例えばクラス名で
class _Member
関数名で
public function __toString()
変数名で
$this->_member
などなど。

初心者なもので、よろしくおねがいします。

A 回答 (3件)

主にシステムで使用する変数は、そのようになっている場合が多いです。


内部変数ならば何でも問題ないですが、グローバル変数やグローバル関数などは、重複が許されません。
かと言って、わかりづらい変数名では、いざ使う時に使いづらいです。
と、言うことでなるべく重複しないように暗黙のルールで先頭に1つ2つアンダースコアを付けています。

逆に言えば、ユーザーは先頭にアンダースコアを付けなければ、まずシステム変数・システム関数などと重複することはまず無いと言うことです。
(但し、普通に公開されているシステム変数・システム関数は別です)
    • good
    • 0

フレームワークによっては暗黙ではなくルールがあります。


http://framework.zend.com/manual/ja/coding-stand …
オブジェクト内で "private" あるいは "protected" と宣言されているメソッドについては、メソッド名の最初にアンダースコア 1 文字をつけなければなりません。

__toStringはマジックメソッドという特殊関数です。
http://php.net/manual/ja/language.oop5.magic.php
    • good
    • 0

文字かアンダースコアで始まり、その後に任意の数の文字・ 数字・あるいはアンダースコアが続けばOKのようです。



http://www.php.net/manual/ja/userlandnaming.php

ただアンダースコア自体が特殊な用法で使われる可能性が否定できないことを考えれば
常識的に接頭文字としてつかう選択肢は排除されてしかるべきだと思います
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!