2017-12-24 30 views
1

だから私は、ユーザーモデルは、名前空間があります。Phalcon PHPの名前空間は使用カント

namespace App\Models; 

use Phalcon\Mvc\Model; 

class Users extends Model 
{ 

とコントローラを:

use \Phalcon\Mvc\Controller; 
use \App\Models\Users; 

class LoginController extends Controller 
{ 
    ... 
    public function postLoginAction() { 
    $user = Users::findFirst([ ... 
    } 
    ... 

必ず取得中にエラー致命的なエラー:不明なエラー:クラスのユーザー\アプリケーション\モデル "には見つかりませんでした。すべてのバリエーションを試しましたが、何が間違っているのかわかりません。私のIDEAでもこのクラスを正しく解決しています。

名前空間を削除するとすべてが機能しています。

UPDATE

あなたはphalcon devのツールでプロジェクトを生成して、あなたがモデルの名前空間を提供する必要がありますし、それが動作しません他のもの(モデル、コントローラ)を生成開始であれば、あなたも必要になりますこのようなアプリ/設定/ loader.php更新する:これは明確に文書で述べられていないが、それはこのフレームワークは、このような多くの「ブラックホール」を持っているか、縫い目なぜつまり

<?php 

$loader = new \Phalcon\Loader(); 

/** 
* We're a registering a set of directories taken from the configuration file 
*/ 
$loader->registerDirs(
    [ 
     $config->application->controllersDir, 
     $config->application->modelsDir 
    ] 
)->register(); 

$loader->registerNamespaces(
    [ 
     'App\Controller' => $config->application->controllersDir, 
     'App\Model' => $config->application->modelsDir, 
    ] 
)->register(); 

を名前空間を登録し、私は知りません私はこのフレームワークの基礎を理解していない(codeigniterとLaravel b ackground)。

+0

オートローダーに 'App \ Model'名前空間を追加しましたか? 'composer dump-autoload'も実行することを忘れないでください。 –

+0

私はここでコンポーザーを使用していません。これはdevtoolsで生成されたphalconのデフォルトプロジェクトです。 – RomkaLTU

+0

ええ、Phalconは箱からすべての作業を来ていません。パーツを選択して一緒に接着しなければなりません。あなたのプロジェクトとあなたに応じて良いか悪いかが分かります。しかし、その狂気のスピードは、(PHPフレームワークの中で)それをばらばらにするものであり、経験から、これは本当にあなたにもっと多くのトラフィックのためにアプリをやっているときの安心感を与えます。 – YOMorales

答えて

1

ブートストラップファイルでこれを試してみてください:

// registers namespaces 
$loader = new Loader(); 
$loader->registerNamespaces([ 
    'App\Controllers' => APP_PATH . '/controllers/', 
    'App\Models' => APP_PATH . '/models/' 
]); 
$loader->register(); 

ところで、APP_PATHはあなたが好きなあなたのアプリケーションのディレクトリ、または/必要に定数である可能性があります。

+0

これはちょっとした変更(私は質問を編集します)で作業しています。これはphalcon開発ツールからプロジェクトを生成したもので、非常にunclerなフレームワークです。 – RomkaLTU

+0

ええ、Phalconは箱からすべての作業を来ていません。パーツを選択して一緒に接着しなければなりません。あなたのプロジェクトとあなたに応じて良いか悪いかが分かります。しかし、その狂気のスピードは、(PHPフレームワークの中で)それをばらばらにするものであり、経験から、これは本当にあなたにもっと多くのトラフィックのためにアプリをやっているときの安心感を与えます。 – YOMorales

関連する問題