私はpropelとZendFramework2を統合する方法を広範囲にわたって検索しましたが、まだ解決策を思い付くことができませんでした。
これが私がこれまでに持っているものです。
インストールされたZF2スケルトンディレクトリZFサイトから挿入されたサンプルアルバムテーブルデータ
私のフォルダ構造は次のようになります
--Vendor
----Propel
------album
--------autoload_classmap.php
--------models
----------map
----------om
----------Album.php
----------AlbumPeer.php
----------AlbumQuery.php
------config
--------module.config.php
------Module.php
------autoload_classmap.php
album/autoload_classmap.phpは次のようになります
//vendor/Propel/album/autoload_classmap.php
<?php
// Generated by ZF2's ./bin/classmap_generator.php
return array(
'AlbumTableMap' => __DIR__ . '/models/map/AlbumTableMap.php',
'BaseAlbumPeer' => __DIR__ . '/models/om/BaseAlbumPeer.php',
'BaseAlbumQuery' => __DIR__ . '/models/om/BaseAlbumQuery.php',
'BaseAlbum' => __DIR__ . '/models/om/BaseAlbum.php',
'Album' => __DIR__ . '/models/Album.php',
'AlbumPeer' => __DIR__ . '/models/AlbumPeer.php',
'AlbumQuery' => __DIR__ . '/models/AlbumQuery.php',
);
これがmodule.config.phpです
//vendor/Propel/config/module.config.php
<?php
return array();
これがPropel/autoload_classmap.phpです
//vendor/Propel/autoload_classmap.php
<?php
// Generated by ZF2's ./bin/classmap_generator.php
return array(
'Propel' => __DIR__ . '/runtime/lib/Propel.php',
);
そして最後にModel.phpファイル
//vendor/Propel/Module.php
<?php
namespace Propel;
class Module
{
public function getAutoloaderConfig()
{
return array(
'Zend\Loader\ClassMapAutoloader' => array(
__DIR__ . '/autoload_classmap.php',
__DIR__ . '/album/autoload_classmap.php'
)
);
}
public function getConfig()
{
return include __DIR__ . '/config/module.config.php';
}
}
この例では簡単にするために、次のコードをコントローラーに配置します。
//module/Application/src/Application/Controller/IndexController.php
namespace Application\Controller;
use Zend\Mvc\Controller\AbstractActionController;
use Zend\View\Model\ViewModel;
class IndexController extends AbstractActionController
{
public function indexAction()
{
$q = new \Propel\Album();
$q->setArtist('The Who');
$q->setTitle('Tommy');
$q->save();
return new ViewModel();
}
}
私が得るエラーは
Class 'Propel\\Album' not found
私がこの時点に到達するために使用した情報源は
https://groups.google.com/forum/?fromgroups=#!searchin/propel-users/zend/propel-users/lsHs-jjxp68/LDrQjzik6gAJ https://docs.google.com/viewer?a=v&pid= forums&srcid =MDU2NDIxODQyNDc0MDMyNjQ3NzUBMDY3ODcxMTYzMzg0MDA4OTU0MzgBeFpDZUM1WTZqMThKATQBAXYy ベンダー固有のモジュールをZendFramework2.0に追加