これを IRC チャンネル ZFTalk にも投稿したばかりですが、
ZF2、ZF2 アルバム チュートリアル、MAMP を使用した OSX に関するヘルプが得られることを願っています。スケルトン フレームワーク、ホームページが機能しています。
問題 : セクション : 8.5 アルバムのリストを完了した後、module/Album/view/album/album/index.phtml にコードを入力すると、 http://zf2-tutorial.localhost/でページをプレビューするように求められます。アルバム。
404 が表示されます。要求された URL はルーティングによって一致しませんでした。
アドバイスを求めてGoogleに向かいました。チュートリアルの「完全に機能するモデル」を含む GIT リポジトリを見つけたので、これを入手して自分のコードと比較しました。これを別のホストとしてセットアップすると、同じ 404 ルーティング メッセージが表示されます。
マニュアルを注意深く読んだ後、httpd.conf / AllowOverride が FileInfo に設定されていない場合、スタート/ホームページ以外は表示できないことが最初に明示されています。
サーバーの電源を入れたときに、変更したパスへのパスがMAMPによって使用されない場合に備えて、マシン全体をスキャンしてhttpd.confと呼ばれるファイルを見つけることにしました。
3つ見つかり、それらすべてを変更しました(3つ見つかりましたが、正しいルートは/private/etcだと思います)チュートリアルから書いたコードと、「作業中のGITコード」にまだ問題がありますモデル'。
これで問題が発生した人はいますか?これはstackoverflow Zend Framework 2 .htaccess mamp proで見つかりました。これは私の問題と類似していますが、解決していません。誰か助けてくれませんか?
コードのスペルミスのチェック、application.config.php にルートが設定されているかのチェック。お知らせ下さい?:)
Module.php
<?php
namespace Album;
use Album\Model\Album;
use Album\Model\AlbumTable;
use Zend\Db\ResultSet\ResultSet;
use Zend\Db\TableGateway\TableGateway;
class Module
{
public function getAutoloaderConfig()
{
return array(
'Zend\Loader\ClassMapAutoloader' => array(
__DIR__ . '/autoload_classmap.php',
),
'Zend\Loader\StandardAutoloader' => array(
'namespaces' => array(
__NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__,
),
),
);
}
public function getConfig()
{
return include __DIR__ . '/config/module.config.php';
}
public function getServiceConfig()
{
return array(
'factories' => array(
'Album\Model\AlbumTable' => function($sm) {
$tableGateway = $sm->get('AlbumTableGateway');
$table = new AlbumTable($tableGateway);
return $table;
},
'AlbumTableGateway' => function ($sm) {
$dbAdapter = $sm->get('Zend\Db\Adapter\Adapter');
$resultSetPrototype = new ResultSet();
$resultSetPrototype->setArrayObjectPrototype(new Album());
return new TableGateway('album', $dbAdapter, null, $resultSetPrototype);
},
),
);
}
}
module.config.php
<?php
return array(
'controllers' => array(
'invokables' => array(
'Album\Controller\Album' => 'Album\Controller\AlbumController',
),
),
'router' => array(
'routes' => array(
'album' => array(
'type' => 'segment',
'options' => array(
'route' => '/album[/][:action][/:id]',
'constraints' => array(
'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
'id' => '[0-9]+',
),
'defaults' => array(
'controller' => 'Album\Controller\Album',
'action' => 'index',
),
),
),
),
),
'view_manager' => array(
'template_path_stack' => array(
'album' => __DIR__ . '/../view',
),
),
);