2016-06-01 6 views
0

私はpropel ORMを使ってPHPアプリケーションを作っています。Propel ORMとPHP

Fatal error: Uncaught Error: Class 'Propel\Runtime\Propel' not found in C:\MAMP\htdocs\Conference\vendor\bin\generated-conf\config.php:2 Stack trace: #0 C:\MAMP\htdocs\Conference\vendor\bin\list.php(6): require_once() #1 {main} thrown in C:\MAMP\htdocs\Conference\vendor\bin\generated-conf\config.php on line 2.

私は、これが書かれている私のconfig.php生成されたファイルでは:

'classname' => '\\Propel\\Runtime\\Connection\\ConnectionWrapper' 

それはすべて何を意味し、私はそれを実行しようとすると、それは私に次のようなメッセージを与えますか?私はいくつかのファイルが欠落していますか?

+0

Propel ORMをプロジェクトにどのように追加したか説明できますか?あなたは作曲家を使用しましたか、何とか手動で追加しましたか?あなたが作曲家を使用している場合、それを実行するときにオートローダ作曲者が生成したものを含めましたか? – chocochaos

答えて

0

私はあなたが建物の一歩を欠場していると思います。 schema.xmlファイルが完成していると仮定し、propel.yaml(または許可された拡張子ファイル)を適切に設定しているとします。また、PropelとComposerを持っていると仮定します。 次のステップがすべてある場合:

1)端末を開き、プロジェクトディレクトリに移動します。ここにschema.xmlファイルとpropel.yamlファイルがあります。

2)YOUT生成-SQLを取得するには、次のコマンドを実行します(私は)それをWindows上でこの方法を実行する必要があります。

c:\MAMP\htdocs\Conference\vendor\bin\propel sql:build 

3)は、次のコマンドを使用してモデルクラスを取得します。

c:\MAMP\htdocs\Conference\vendor\bin\propel model:build 

4)クラスを生成したら、それらを自動的にロードする必要があります。あなたのcomposer.jsonファイルはテキストエディタで開き、次の行を追加します。

"autoload": { 
    "classmap": ["generated-classes/"] 
} 

それは、例えば、次のようになります。

{ 
    "require": { 
     "twig/twig": "~1.0", 
     "propel/propel": "[email protected]" 
    }, 

    "autoload": { 
     "classmap": ["generated-classes/"] 
    } 
} 

5)クラスのオートローディングを終了するには、実行する必要がありますあなたのコンソール上:

composer dump-autoload 

6)とランタイム接続設定のためには、実行時にcomunicateクラスのためにこれを実行します。

c:\MAMP\htdocs\Conference\vendor\bin\propel config:convert 

7)あなたのデータベースを作成したと仮定すると、あなたがする必要がある最後の事は、テーブルを作成し、これは以下のコマンドであるされています。あなたが行く

c:\MAMP\htdocs\Conference\vendor\bin\propel sql:insert 

そして、そこ!それは私がプロジェクトをビルドするたびに私のために働く。