【週刊ドットインストール】 考える力を養うための新クラス『データで学ぶアルゴリズム』を256timesでリリース!
はじめまして。 いつも楽しく分かりやすい動画をありがとうございます。
本日は、複数の名前空間が同じ親クラスを持つことが出来ないのか分からなかったため、ご質問させて頂きました。
(例)
…base.php (共通の親クラスにしたい)…
<?php class Posts{ protected $text; function __construct($text){ $this->text=$text; } }
…name1.php (名前空間1)…
<?php namespace User1\Test1; require("base.php"); class Red extends Posts{ public function show(){ echo $this->text."は赤色!".PHP_EOL; } }
…name2.php (名前空間2)…
<?php namespace User2\Test2; require("base.php"); class Green extends Posts{ public function show(){ echo $this->text."は緑色!".PHP_EOL; } }
…func.php (実行)…
<?php require("name1.php"); require("name2.php"); $post1=new User1\Test1\Red("チームA"); $post2=new User2\Test2\Green("チームB"); $post1->show(); $post2->show();
上記のコードで実行すると、
Class 'User1\Test1\Posts' not found
と出てきました(func.phpで親クラスをrequireしても同じでした)。
func.php
require
親クラスをbase.phpからrequireせずに名前空間のファイル内に書くと上手く動きましたが、毎回書いていれば時間がかかり過ぎてしまうのではと思いました。
base.php
どのような解決策があるのでしょうか? お忙しいところ恐縮ですが、教えて頂けたらありがたいです。
ドットインストールは、3分動画でマスターできるプログラミング学習サービスです。
3分で気軽に学習でき、スマートフォンからも視聴可能です。ホームページやWebサービスの制作を通して、実践的にプログラミングを学べます。
他にも、ゲーム制作やデータ分析・機械学習・AIに使われる言語まで幅広くカバー。学びたい分野のレッスンがきっと見つかります。
この回答を見るにはプレミアムプランへの登録が必要です
はじめまして。
いつも楽しく分かりやすい動画をありがとうございます。
本日は、複数の名前空間が同じ親クラスを持つことが出来ないのか分からなかったため、ご質問させて頂きました。
(例)
…base.php (共通の親クラスにしたい)…
…name1.php (名前空間1)…
…name2.php (名前空間2)…
…func.php (実行)…
上記のコードで実行すると、
と出てきました(
func.phpで親クラスをrequireしても同じでした)。親クラスを
base.phpからrequireせずに名前空間のファイル内に書くと上手く動きましたが、毎回書いていれば時間がかかり過ぎてしまうのではと思いました。どのような解決策があるのでしょうか?
お忙しいところ恐縮ですが、教えて頂けたらありがたいです。