質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

ルーティング

ルーティングとは、TCP/IPネットワークにおいて、目的のホストまでパケットを送る為のパス選定のプロセスを言います。

Silex

Silexは、Symfony2の機能を持ち、sinatoraからインスパイアされた PHP5.3以上で動作するPHPマイクロフレームワークです。

Q&A

解決済

1回答

3005閲覧

Silexのルーティングの書き方

seyayase

総合スコア11

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

ルーティング

ルーティングとは、TCP/IPネットワークにおいて、目的のホストまでパケットを送る為のパス選定のプロセスを言います。

Silex

Silexは、Symfony2の機能を持ち、sinatoraからインスパイアされた PHP5.3以上で動作するPHPマイクロフレームワークです。

0グッド

0クリップ

投稿2016/12/25 16:39

前提

現在、Silexにてサービス作成中です。
作成中とは言ったものの、最初のルーティングで詰まっています。

エンジニアを目指し始めたばかりで、基礎知識が著しく低いです。ご容赦ください。

期待していること

http://~~~/
にアクセスすると、web/index.php から サービス名/Controller/HomeControllerのindexActionが呼ばれ、views/index.html.twigが呼ばれる。

問題

http://~~~/
にアクセスすると、
Class "サービス名\Controller\HomeController" does not exist.
と怒られてしまいます。

どなたか原因をご教授ください。。
以下にindex.phpとHomeController.phpのソース記載します。

// web/index.php <?php require_once __DIR__.'/../vendor/autoload.php'; $app = new Silex\Application(); $app['debug'] = true; $app->register(new Silex\Provider\TwigServiceProvider(),[ 'twig.path' => __DIR__ . '/../views', ]); $app->get('/', 'Portal\Controller\HomeController::indexAction')->bind('indexAction'); $app->run();
// src/Portal/Controller/HomeController.php Portalはサービス名です。 <?php namespace Portal\Controller; use Silex\Application; use Symfony\Component\HttpFoundation\Request; class HomeController { public function indexAction(Application $app, Request $request) { return $app['twig']->render('index.html.twig'); } }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

composer.json は適切に autoload が設定されていますか?
以下はPSR-4での例です。

json

1{ 2 "require": { 3 "silex/silex": "~2.0", 4 "twig/twig": "^1.28" 5 }, 6 "autoload": { 7 "psr-4": { 8 "Portal\\": "src/Portal/" 9 } 10 } 11}

投稿2016/12/26 01:29

workr

総合スコア158

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

seyayase

2016/12/26 04:01

ご回答ありがとうございます。 composer.jsonのautoloadの記述が上手くいかないために、期待した動作が行われていないようでした。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問