@Blog{zip358.com}
日常日誌からプログラムやYOUTUBER紹介、旅日記まで日々更新中です。
php:トレイトって言うよりclassの中でuseを使用。
2023.05.19
おはようございます、php:トレイトって言うよりclassの中でuseを使用する方法って言った方がわかり易いのかも知れません。詳しい説明は公式を参照して下さい。コード例とtraitの説明を書いときます。
トレイトは、PHPのようなプログラミング言語でコードを再利用するための仕組みのひとつです。通常、プログラムではクラスを使ってコードを組み立てますが、トレイトを使うことで、異なるクラスに属するメソッドのグループを独立したクラスとして再利用することができます。これにより、単一継承という制限を緩和することができます。トレイトを使うことで、多重継承やMixinといった問題を回避することもできます。
トレイトはクラスと似ていますが、トレイトは単に機能をまとめるためのものです。トレイト自体のインスタンスを作成することはできません。トレイトを使うことで、従来の継承に機能を追加するだけでなく、クラスのメンバーを水平方向に追加することもできます。つまり、継承しなくてもクラスに新しい機能を追加することができるようになります。
実行サンプル=>https://zip358.com/tool/demo75/
<?php
require_once "hello/hello_class.php";
use hello\Hello;
class Test
{
use Hello;
public function main()
{
print("-goodbye");
}
}
(new Test())->main();
<?php
namespace hello;
trait Hello
{
public function __construct()
{
print("Hello");
}
}
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
class, construct, goodbye", gt, lt, Mixin, namespace hello, php, php require_once, print, quot, quot;hello, quot;Hello", trait, trait Hello, use, use helloHello, トレイト, トレイト自体, 単一継承,
PHP忘れてしまいそう。
2019.02.23
こういう書き方とか書かなかったら忘れてしまいそうですね。
クラスの多重継承とか職場ではそもそもしない。Functionで十分な感じで
この頃、ろくなコードを書いていません。FunctionからFunctionへなんて
コードを書いてたりしています。
<?php
function demo1(int $val=0):int
{
return 3 * 3 * $val;
}
print demo1(3);
class demo2
{
public static function test1():string
{
return "ABC";
}
}
$demo2 = "demo2";
print $demo2::test1();
trait demo3
{
public static function test2($val=""){
return $val;
}
}
class demo4
{
public static function test3($val = "")
{
return $val;
}
}
class demo5 extends demo4
{
use demo3;
public static function test4($val = "")
{
return $val;
}
}
$demo5 = 'demo5';
print $demo5::test2(1);
print $demo5::test3(2);
print $demo5::test4(3);
著者名 @taoka_toshiaki
※この記事は著者が30代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
0, 1, 2, 3, ABC, class, demo, function, int, lt, nbsp, php, print, public, return, static, string, test, trait, val, クラス, コード, そもそも, 多重, 感じ, 書き方, 継承, 職場, 頃,