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

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

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

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

FuelPHP

FuelPHPは、軽量高速で開発が可能なPHPのWebアプリケーションフレームワークです。

Q&A

解決済

1回答

1627閲覧

Fuelphpのプレゼンタ(ビューモデル)⇨モデルのやりとりでエラー発生

xxx_aoi

総合スコア38

PHP

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

FuelPHP

FuelPHPは、軽量高速で開発が可能なPHPのWebアプリケーションフレームワークです。

0グッド

0クリップ

投稿2016/11/26 15:47

Fuelphpのプレゼンタ(ビューモデル)⇨モデルのやりとりがうまくいかずエラーが発生します。

app/classes/controller/test.php <?php use \Model\Test; class Controller_Test extends Controller { public function action_index() { return Response::forge(Presenter::forge('test/index')); } }
app/classes/controller/test.php <?php class Model_Test extends Model { public static function get_index() { $result= 1; return $result; } }
app/classes/presenter/test/index.php <?php class Presenter_Testhome_food extends Presenter { public function view() { $this->title = 'クラス'; $foodsObj = Model_Test::get_index(); $this->id = $foodsObj; } }
app/views/test/index.php <html> <head> <meta charset="UTF-8" /> <title><?php echo $title; ?> </title> </head> <body> <table border = 1> <thead> <tr> <th>id</th> </tr> <tr> <th><?php echo $id; ?></th> </tr> </thead> </table> </body> </html>

この時 syntax error, unexpected '$this' (T_VARIABLE)
というエラーが発生します。
$thisを読み取れないということですが、画面上を見るとthis->titleの箇所は正常に動いていて問題はthis->idの箇所というところまではつかめています。ただそれ以降がわかりません。

よろしくお願いします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

プレゼンターのパスがapp/classes/presenter/test/index.phpなので、同ファイルに付けるべきクラス名はPresenter_Test_Indexになると思います。ただ、質問文のコードを動かしたとしてもsyntax error, unexpected '$this' (T_VARIABLE) にはならないと思うので(Presenterが見つからないはず)、もしかしたら何か別の問題もあるのかもしれませんね。

投稿2016/11/30 20:45

nnssn

総合スコア1221

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

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

nnssn

2016/11/30 21:13

記載コードのままのクラス名「Presenter_Testhome_food」では下記例外が発生、 Exception [ Error ]: 実際のパス does not contain class "Presenter_Test_Index" 「Presenter_Test_Index」ではtitleとidが期待通りの値になることを確認しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問