私はPHPを試しています。クラスの継承をテストし、この言語のロープを学ぶだけの非常に単純なプログラムを作ることにしました。非常に簡単なプロジェクトでクラスを見つけることができません
私はインターフェイスを実装するクラスを呼び出すメインクラスを持っています。 シンプル、しかし、私はそれを実行したとき、彼は彼がクラスを見つけることができない私に語った:
致命的なエラー:クラスCには見られない「PHPSTORM_METAの\形状」:パウロ モレノ\ \ Users \ユーザーPhpstormProjects \ test \ Square.php on line 12
問題は、そのファイルがどこにあるかです。パスは正しいです。
ここではメインのコードです:
MainTest.php
<?php
echo "Hello World";
require_once dirname(__DIR__) . '\test\MainTest.php ';
require_once dirname(__DIR__) . '/test/Square.php ';
require_once dirname(__DIR__) . '/test/Shape.php ';
require_once dirname(__DIR__) . '/test/GeoShape.php ';
echo "Hello World";
$rect = new Square(5, 5);
echo $rect->getArea();
echo "<br>" . $rect->getName();
平方クラス:
<?php
/**
* Created by PhpStorm.
* User: Paulo Moreno
* Date: 4-12-2016
* Time: 15:57
*/
namespace PHPSTORM_META;
class Square extends Shape implements GeoShape
{
public $x;
public $y;
public function __construct($x, $y)
{parent::__construct($this->name);
$this->x = $x;
$this->y = $y;
}
public function getArea()
{
return $this->x * $this->y;
}
}
それはおそらく、私は反対私の頭を粉砕したいようになります非常にシンプルなものですが、壁、しかし私はかなり長い間、これに固執しています。はい、私はphpとphpstormの両方に新しいです。
シェイプの前に正方形を含めます。あなたがそれを継承しようとするとき、クラスの正方形はまだどんなクラスの形を知らない。 – Daan
それはダーンだった、ありがとう。 – pcmoreno
名前空間PHPSTORM_META;を削除します。 - この名前空間は、PhpStorm独自の用途にのみ使用されます。 'PHPSTORM_META'は非常に特殊なケースなので、このアイデアやコードサンプルをどこから入手したのか分かりません。PHPマニュアルを最初に読んでみてください:http://php.net/manual/en/language.namespaces.php – LazyOne