CakePHPで質問です。
現在サーバーの学習③で「Hello Worldの作成」を行っているのですが、 http://localhost/helloworld/Main/index
にアクセスすると、「Missing Template」というエラーが表示されます。
※ちなみに、 http://localhost/helloworld/ までは、マニュアル通りに正しく表示されています。
URLがMain.index
となってるところを、Main/index
にしてみてください!
現状だと、恐らく呼びたいのがMainController
というものだと思うんですけど、Main.indexController
を呼んでしまってエラー出てるのかなと。
composer create-project --prefer-dist cakephp/app:3.6.* helloWorldphp bin/cake.php bake controller Mainmkdir src\Template\Maintype nul > src\Template\Main\index.ctp
<!--?php
namespace App\Controller;use App\Controller\AppController;/**
* Main Controller
*
*
* @method \App\Model\Entity\Main[]|\Cake\Datasource\ResultSetInterface paginate($object = null, array $settings = [])
*/
class MainController extends AppController
{ /**
* Index method
*
* @return \Cake\Http\Response|void
*/
public function index()
{ }}
<!DOCTYPE html>
<html lang = "ja">
<head>
<meta charset = "UTF-8">
<title>Sample page index</title>
</head>
<body>
<p>Hello CakePHP3!!</p>
</body>
</html>
で出来るはずだと思います。
エラー無く表示できました!
長いやり取りになってしまいましたがおかげさまで先に進めそうです!
僕なりに考えた原因なんですが、helloworldプロジェクトを作成するコマンドが動画だと以下のコマンド
composer create-project --prefer-dist cakephp/app helloworld
スライド教材のコマンドだと以下のコマンド
composer create-project --prefer-dist cakephp/app:3.6.* helloworld
になっていました。
app:3.6.の部分の詳しいことはよくわかっていないのですがスライド教材のコマンドだと正常に動作するのだと思います。