0

そのため、Kohana 3.3 で PSR-0 標準が実装されていることを認識しています。ただし、次のコードでクラスが見つからないというエラーが発生しているため、理解していないことがあるはずです。

$model = Model::factory('MyModel');

モデル定義は次の場所にあります。

classes/Model/MyModel.php

私のクラスが正確に見つからないのはどうしてですか?

実際のコード:

モデルは次の場所にありますclasses/Model/VoiceTalent.php

<?php defined('SYSPATH') or die('No direct script access.');

    class VoiceTalent
    {
         //methods and fields
    }

コントローラーコード:

$talent = Model::factory('VoiceTalent');

正確なエラー メッセージ:

ErrorException [ Fatal Error ]: Class 'Model_VoiceTalent' not found
SYSPATH\classes\Kohana\Model.php [ 26 ]
4

1 に答える 1

4

クラスの名前が不適切です。

あなたが持っている:

class VoiceTalent

次のようにする必要があります。

class Model_VoiceTalent

_クラス名に含まれるすべてのフォルダーを ( で区切って) 含める必要があるためです。この場合、Model_プレフィックスを追加するだけです。クラスの命名規則の詳細については、Kohana の docs を参照してください。

于 2013-03-27T16:46:13.503 に答える