私はphalconphpを初めて使用し、彼らのチュートリアルに従っています。私が理解している限り、特定のルーティングコンポーネントを作成する必要はなく、ルートが存在する場合はルートを選択する必要があります。ここでは明らかに大幅に間違っている可能性があります。つまり、簡単に修正できるはずです。しかし、これまでのところ、動作する唯一のコントローラーは私の indexController です。
これが私のブートストラップです
<?php
try {
//Register an autoloader
$loader = new \Phalcon\Loader();
$loader->registerDirs(array(
'../app/controllers/',
'../app/models/'
))->register();
//Create a DI
$di = new Phalcon\DI\FactoryDefault();
//Setting up the view component
$di->set('view', function(){
$view = new \Phalcon\Mvc\View();
$view->setViewsDir('../app/views/');
return $view;
});
//Handle the request
$application = new \Phalcon\Mvc\Application($di);
echo $application->handle()->getContent();
} catch(\Phalcon\Exception $e) {
echo "PhalconException: ", $e->getMessage();
}
そして、独自の FooController を作成すると
<?php
class FooController extends \Phalcon\Mvc\Controller
{
public function indexAction()
{
echo "FOO";
}
public function fooAction(){
echo "FOO";
}
}
これらのアクションはいずれも起動されません。これで、実際にサーバーから 404 エラー ドキュメントを受け取りました。したがって、.htaccess ファイルに問題があるかどうかはわかりませんが、これもチュートリアルから直接コピーしたものです。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?_url=/$1 [QSA,L]
</IfModule>
ここで明らかに間違っていることがわかる人はいますか? 唯一の違いは、indexController のビューを設定したことです。おそらく私のphpコードよりもサーバーのセットアップに問題があると思わせるのは404だと思います