クラス yii\web\Link
| 継承 | yii\web\Link » yii\base\BaseObject |
|---|---|
| 実装 | yii\base\Configurable |
| 利用可能なバージョン | 2.0 |
| ソースコード | https://github.com/yiisoft/yii2/blob/master/framework/web/Link.php |
Link は、JSON Hypermedia API Language で定義されているリンクオブジェクトを表します。
公開プロパティ
| プロパティ | 型 | 説明 | 定義元 |
|---|---|---|---|
| $href | 文字列 | URI RFC3986 または URI テンプレート RFC6570。 | yii\web\Link |
| $hreflang | 文字列 | ターゲットリソースの言語 | yii\web\Link |
| $name | 文字列 | 同じ関係タイプを共有するリンクオブジェクトを選択するための二次キー | yii\web\Link |
| $profile | 文字列 | ターゲットリソースのプロファイルに関するヒントを示す URI。 | yii\web\Link |
| $templated | ブール値 | $href が URI または URI テンプレートを参照するかどうかを示す値。 | yii\web\Link |
| $title | 文字列 | リンクを説明するラベル | yii\web\Link |
| $type | 文字列 | ターゲットリソースを逆参照するときに期待されるメディアタイプを示すヒント | yii\web\Link |
公開メソッド
| メソッド | 説明 | 定義元 |
|---|---|---|
| __call() | クラスメソッドではない名前付きメソッドを呼び出します。 | yii\base\BaseObject |
| __construct() | コンストラクタ。 | yii\base\BaseObject |
| __get() | オブジェクトプロパティの値を返します。 | yii\base\BaseObject |
| __isset() | プロパティが設定されているかどうか、つまり定義されており、nullではないかどうかをチェックします。 | yii\base\BaseObject |
| __set() | オブジェクトプロパティの値を設定します。 | yii\base\BaseObject |
| __unset() | オブジェクトプロパティを null に設定します。 | yii\base\BaseObject |
| canGetProperty() | プロパティを読み取ることができるかどうかを示す値を返します。 | yii\base\BaseObject |
| canSetProperty() | プロパティを設定できるかどうかを示す値を返します。 | yii\base\BaseObject |
| className() | このクラスの完全修飾名を返します。 | yii\base\BaseObject |
| hasMethod() | メソッドが定義されているかどうかを示す値を返します。 | yii\base\BaseObject |
| hasProperty() | プロパティが定義されているかどうかを示す値を返します。 | yii\base\BaseObject |
| init() | オブジェクトを初期化します。 | yii\base\BaseObject |
| serialize() | リンクのリストを適切な配列形式にシリアライズします。 | yii\web\Link |
プロパティの詳細
メソッド詳細
定義元: yii\base\BaseObject::__call()
クラスメソッドではない名前付きメソッドを呼び出します。
このメソッドは、未知のメソッドが呼び出された場合に暗黙的に呼び出されるPHPのマジックメソッドであるため、直接呼び出さないでください。
| public mixed __call ( $name, $params ) | ||
| $name | 文字列 |
メソッド名 |
| $params | 配列 |
メソッドのパラメータ |
| 戻り値 | mixed |
メソッドの戻り値 |
|---|---|---|
| throws | yii\base\UnknownMethodException |
未知のメソッドを呼び出すとき |
public function __call($name, $params)
{
throw new UnknownMethodException('Calling unknown method: ' . get_class($this) . "::$name()");
}
定義元: yii\base\BaseObject::__construct()
コンストラクタ。
デフォルトの実装では、次の2つの処理を行います。
- 指定された設定
$configでオブジェクトを初期化します。 - init()を呼び出します。
このメソッドが子クラスでオーバーライドされている場合、
- コンストラクタの最後のパラメータは、ここでの
$configのように設定配列にすることをお勧めします。 - コンストラクタの最後に親の実装を呼び出します。
| public void __construct ( $config = [] ) | ||
| $config | 配列 |
オブジェクトのプロパティを初期化するために使用される名前と値のペア |
public function __construct($config = [])
{
if (!empty($config)) {
Yii::configure($this, $config);
}
$this->init();
}
定義元: yii\base\BaseObject::__get()
オブジェクトプロパティの値を返します。
このメソッドは、$value = $object->property;を実行するときに暗黙的に呼び出されるPHPのマジックメソッドであるため、直接呼び出さないでください。
また、__set()を参照してください。
| public mixed __get ( $name ) | ||
| $name | 文字列 |
プロパティ名 |
| 戻り値 | mixed |
プロパティ値 |
|---|---|---|
| throws | yii\base\UnknownPropertyException |
プロパティが定義されていない場合 |
| throws | yii\base\InvalidCallException |
プロパティが書き込み専用の場合 |
public function __get($name)
{
$getter = 'get' . $name;
if (method_exists($this, $getter)) {
return $this->$getter();
} elseif (method_exists($this, 'set' . $name)) {
throw new InvalidCallException('Getting write-only property: ' . get_class($this) . '::' . $name);
}
throw new UnknownPropertyException('Getting unknown property: ' . get_class($this) . '::' . $name);
}
定義元: yii\base\BaseObject::__isset()
プロパティが設定されているかどうか、つまり定義されており、nullではないかどうかをチェックします。
このメソッドは、isset($object->property)を実行するときに暗黙的に呼び出されるPHPのマジックメソッドであるため、直接呼び出さないでください。
プロパティが定義されていない場合、falseが返されることに注意してください。
また、https://www.php.net/manual/en/function.isset.php を参照してください。
| public boolean __isset ( $name ) | ||
| $name | 文字列 |
プロパティ名またはイベント名 |
| 戻り値 | ブール値 |
指定された名前のプロパティが設定されているか (nullではない)。 |
|---|---|---|
public function __isset($name)
{
$getter = 'get' . $name;
if (method_exists($this, $getter)) {
return $this->$getter() !== null;
}
return false;
}
定義元: yii\base\BaseObject::__set()
オブジェクトプロパティの値を設定します。
このメソッドは、$object->property = $value;を実行するときに暗黙的に呼び出されるPHPのマジックメソッドであるため、直接呼び出さないでください。
また、__get()を参照してください。
| public void __set ( $name, $value ) | ||
| $name | 文字列 |
プロパティ名またはイベント名 |
| $value | mixed |
プロパティ値 |
| throws | yii\base\UnknownPropertyException |
プロパティが定義されていない場合 |
|---|---|---|
| throws | yii\base\InvalidCallException |
プロパティが読み取り専用の場合 |
public function __set($name, $value)
{
$setter = 'set' . $name;
if (method_exists($this, $setter)) {
$this->$setter($value);
} elseif (method_exists($this, 'get' . $name)) {
throw new InvalidCallException('Setting read-only property: ' . get_class($this) . '::' . $name);
} else {
throw new UnknownPropertyException('Setting unknown property: ' . get_class($this) . '::' . $name);
}
}
定義元: yii\base\BaseObject::__unset()
オブジェクトプロパティを null に設定します。
このメソッドは、unset($object->property)を実行するときに暗黙的に呼び出されるPHPのマジックメソッドであるため、直接呼び出さないでください。
プロパティが定義されていない場合、このメソッドは何もしないことに注意してください。プロパティが読み取り専用の場合は、例外をスローします。
また、https://www.php.net/manual/en/function.unset.php を参照してください。
| public void __unset ( $name ) | ||
| $name | 文字列 |
プロパティ名 |
| throws | yii\base\InvalidCallException |
プロパティが読み取り専用の場合。 |
|---|---|---|
public function __unset($name)
{
$setter = 'set' . $name;
if (method_exists($this, $setter)) {
$this->$setter(null);
} elseif (method_exists($this, 'get' . $name)) {
throw new InvalidCallException('Unsetting read-only property: ' . get_class($this) . '::' . $name);
}
}
定義元: yii\base\BaseObject::canGetProperty()
プロパティを読み取ることができるかどうかを示す値を返します。
プロパティは、次の場合に読み取り可能です。
- クラスに、指定された名前に関連付けられたゲッターメソッドがある場合(この場合、プロパティ名は大文字と小文字を区別しません)。
- クラスに、指定された名前のメンバー変数がある場合(
$checkVarsがtrueの場合)。
また、canSetProperty() を参照してください。
| public boolean canGetProperty ( $name, $checkVars = true ) | ||
| $name | 文字列 |
プロパティ名 |
| $checkVars | ブール値 |
メンバー変数をプロパティとして扱うかどうか |
| 戻り値 | ブール値 |
プロパティを読み取れるかどうか |
|---|---|---|
public function canGetProperty($name, $checkVars = true)
{
return method_exists($this, 'get' . $name) || $checkVars && property_exists($this, $name);
}
定義元: yii\base\BaseObject::canSetProperty()
プロパティを設定できるかどうかを示す値を返します。
プロパティは、次の場合に書き込み可能です。
- クラスに、指定された名前に関連付けられたセッターメソッドがある場合(この場合、プロパティ名は大文字と小文字を区別しません)。
- クラスに、指定された名前のメンバー変数がある場合(
$checkVarsがtrueの場合)。
また、canGetProperty() を参照してください。
| public boolean canSetProperty ( $name, $checkVars = true ) | ||
| $name | 文字列 |
プロパティ名 |
| $checkVars | ブール値 |
メンバー変数をプロパティとして扱うかどうか |
| 戻り値 | ブール値 |
プロパティを書き込めるかどうか |
|---|---|---|
public function canSetProperty($name, $checkVars = true)
{
return method_exists($this, 'set' . $name) || $checkVars && property_exists($this, $name);
}
::class を使用してください。
定義元: yii\base\BaseObject::className()
このクラスの完全修飾名を返します。
| public static string className ( ) | ||
| 戻り値 | 文字列 |
このクラスの完全修飾名。 |
|---|---|---|
public static function className()
{
return get_called_class();
}
定義元: yii\base\BaseObject::hasMethod()
メソッドが定義されているかどうかを示す値を返します。
デフォルトの実装は、PHP関数 method_exists() の呼び出しです。PHPマジックメソッド __call() を実装した場合は、このメソッドをオーバーライドすることができます。
| public boolean hasMethod ( $name ) | ||
| $name | 文字列 |
メソッド名 |
| 戻り値 | ブール値 |
メソッドが定義されているかどうか。 |
|---|---|---|
public function hasMethod($name)
{
return method_exists($this, $name);
}
定義元: yii\base\BaseObject::hasProperty()
プロパティが定義されているかどうかを示す値を返します。
プロパティは、以下の場合に定義されます。
- クラスが、指定された名前に関連付けられたゲッターまたはセッターメソッドを持っている場合(この場合、プロパティ名はcase-insensitiveです)。
- クラスに、指定された名前のメンバー変数がある場合(
$checkVarsがtrueの場合)。
参照
| public boolean hasProperty ( $name, $checkVars = true ) | ||
| $name | 文字列 |
プロパティ名 |
| $checkVars | ブール値 |
メンバー変数をプロパティとして扱うかどうか |
| 戻り値 | ブール値 |
プロパティが定義されているかどうか。 |
|---|---|---|
public function hasProperty($name, $checkVars = true)
{
return $this->canGetProperty($name, $checkVars) || $this->canSetProperty($name, false);
}
| public void init ( ) |
public function init()
{
}
リンクのリストを適切な配列形式にシリアライズします。
| public static array serialize ( array $links ) | ||
| $links | 配列 |
シリアライズされるリンク。 |
| 戻り値 | 配列 |
リンクの適切な配列表現。 |
|---|---|---|
public static function serialize(array $links)
{
foreach ($links as $rel => $link) {
if (is_array($link)) {
$links[$rel] = self::serialize($link);
} elseif ($link instanceof self) {
$links[$rel] = array_filter((array)$link);
} else {
$links[$rel] = ['href' => $link];
}
}
return $links;
}
サインアップ または ログイン してコメントしてください。