2017-02-06 23 views
0

私はinclude 'classepai.php';PHP上にスーパークラスを含める必要がありますか?

0123のコメントを解除しない限り、それは私にエラーを返し、二つのクラス

teste.php

<?php 

namespace Projeto; 

use Pai\classepai; 
//include 'classepai.php'; 

class teste extends classePai 
{ 
    public function __construct() 
    { 
     echo 'classe teste<br>'; 
    } 
} 

classepai.php

<?php 

namespace Pai; 


class classepai 
{ 
    public function __construct() 
    { 
     echo 'classe pai<br>'; 
    } 
} 

を作成

それから私は、私の質問が含まれずにHttpKernelを拡張することができる方法であるLaravelから、このクラス(PHPフレームワーク)

<?php 

namespace App\Http; 

use Illuminate\Foundation\Http\Kernel as HttpKernel; 

class Kernel extends HttpKernel 
{...} 

を持っています。

+0

Laravel、他のまともなフレームワークとして、クラスのオートローディングを使用する必要があります手動でファイルを含める必要はありません。いずれにしても、エラーメッセージが表示され、エラーメッセージを無視するということは、基本的には「うまくいきません」と言うほどの情報です。 –

答えて

0

HttpKernelcomposer.jsonで、コードにはautoload.phpを使用しています。そのため、手動でHttpKernelを含める必要はありません。 classeapiで同じ処理を行う場合は、composer.jsonautoloadに追加する必要があります。 psr-4セクションにnamespaceとフォルダの場所を使用します。

例:

{ 
    "autoload": { 
     "psr-4": { 
      "App\\": "app/", 
      "Pai\\": "packages/pai/src", 
     } 
    } 
} 

次にコマンドcomposer dump-autoloadを実行し、そのようなあなたのclasseapiを使用することができます:あなたはshouldnようPai\classeapi

関連する問題