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

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

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

Phalconは、C言語で作られたPHPフレームワークです。 C言語で書かれているため、PHP Moduleとして動作するので、 他のフレームワークに比べて高速というのが特徴です。

Q&A

1回答

1531閲覧

phalconのtutorialで「Service 'db' wasn't found in the dependency injection container」

n_oshiumi

総合スコア16

Phalcon

Phalconは、C言語で作られたPHPフレームワークです。 C言語で書かれているため、PHP Moduleとして動作するので、 他のフレームワークに比べて高速というのが特徴です。

0グッド

0クリップ

投稿2018/03/20 08:39

編集2018/03/20 08:41

phalconのチュートリアルをしていたら、「Service 'db' wasn't found in the dependency injection container」が出ました。

Phalconチュートリアル

対処法を教えてください・・・!

ファイル構造

tutorial/ app/ controllers/ models/ views/ public/ css/ img/ js/

index.php

1<?php 2 3use Phalcon\Loader; 4use Phalcon\Mvc\View; 5use Phalcon\Mvc\Application; 6use Phalcon\Di\FactoryDefault; 7use Phalcon\Mvc\Url as UrlProvider; 8use Phalcon\Db\Adapter\Pdo\Mysql; 9 10// オートローダにディレクトリを登録する 11$loader = new Loader(); 12 13$loader->registerDirs( 14 [ 15 "../app/controllers/", 16 "../app/models/", 17 ] 18); 19 20$loader->register(); 21 22 23 24// DIコンテナを作る 25$di = new FactoryDefault(); 26 27// ビューのコンポーネントの組み立て 28$di->set( 29 "view", 30 function () { 31 $view = new View(); 32 33 $view->setViewsDir("../app/views/"); 34 35 return $view; 36 } 37); 38 39// ベースURIを設定して、生成される全てのURIが「tutorial」を含むようにする 40$di->set( 41 "url", 42 function () { 43 $url = new UrlProvider(); 44 45 $url->setBaseUri("/tutorial/"); 46 47 return $url; 48 } 49); 50 51 52 53$application = new Application($di); 54 55try { 56 // リクエストを処理する 57 $response = $application->handle(); 58 59 $response->send(); 60} catch (\Exception $e) { 61 echo "Exception: ", $e->getMessage(); 62} 63 64 65 66// Setup the database service 67 68// Make a connection 69$di->set( 70 "db", 71 function () { 72 return new DbAdapter( 73 [ 74 "host" => "localhost", 75 "username" => "root", 76 "password" => "secret", //今だけ変えています 77 "dbname" => "phalcon_test", 78 ] 79 ); 80 } 81);

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

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

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

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

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

guest

回答1

0

<?php use Phalcon\Loader; use Phalcon\Mvc\View; use Phalcon\Mvc\Application; use Phalcon\Di\FactoryDefault; use Phalcon\Mvc\Url as UrlProvider; use Phalcon\Db\Adapter\Pdo\Mysql; // オートローダにディレクトリを登録する $loader = new Loader(); $loader->registerDirs( [ "../app/controllers/", "../app/models/", ] ); $loader->register(); // DIコンテナを作る $di = new FactoryDefault(); // ビューのコンポーネントの組み立て $di->set( "view", function () { $view = new View(); $view->setViewsDir("../app/views/"); return $view; } ); // ベースURIを設定して、生成される全てのURIが「tutorial」を含むようにする $di->set( "url", function () { $url = new UrlProvider(); $url->setBaseUri("/tutorial/"); return $url; } ); // Setup the database service // Make a connection $di->set( "db", function () { return new DbAdapter( [ "host" => "localhost", "username" => "root", "password" => "secret", //今だけ変えています "dbname" => "phalcon_test", ] ); } ); $application = new Application($di); try { // リクエストを処理する $response = $application->handle(); $response->send(); } catch (\Exception $e) { echo "Exception: ", $e->getMessage(); }

投稿2018/03/20 09:12

39ff

総合スコア284

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問