バージョン選択

フォーラム

メニュー

オンライン状況

29 人のユーザが現在オンラインです。 (12 人のユーザが フォーラム を参照しています。)
登録ユーザ: 1
ゲスト: 28
seasoft もっと...

サイト内検索

質問 > その他 > TopController.phpは何を返しているのか

その他

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
mint_mi
投稿日時: 2024/1/23 11:27
対応状況: −−−
半人前
登録日: 2024/1/23
居住地:
投稿: 18
TopController.phpは何を返しているのか
▼テンプレート
[EC-CUBE]4.2.3
[レンタルサーバ] local
[OS] macOS 11.6
[PHP]8

[現象]
初歩的な質問ですみません、、
TopController.phpについて質問です。

/**
     * @Route("/", name="homepage", methods={"GET"})
     * @Template("index.twig")
     */
    public function index()
    {
        return [];
    }


トップページ(index.twig)には何か返ってきているように見えないのですが、これは何をreturnしているのでしょうか?

よろしくお願いします
tattsu
投稿日時: 2024/1/23 11:29
対応状況: −−−
一人前
登録日: 2023/12/23
居住地:
投稿: 140
Re: TopController.phpは何を返しているのか
returnの配列は twigに渡すデータになります。

twig側で変数として使用できるようになります。

トップページの場合は空の配列をreturnしているので、特に何も渡していないということです。

この場合はtwigではglobalな変数だけ使えます。


----------------
-------------------
EC-CUBEカスタマイズご相談ください

mint_mi
投稿日時: 2024/1/23 11:40
対応状況: −−−
半人前
登録日: 2024/1/23
居住地:
投稿: 18
Re: TopController.phpは何を返しているのか
ご返信ありがとうございます

> returnの配列は twigに渡すデータになります。

初期状態では特に配列は渡されていないのですが、これは「今後配列を渡すことを想定して親切にTopControllerを用意してくれている」と考えて良いのでしょうか?

もしくは以下の部分にも意味があって、配列を渡すのとは別にControllerを書く必要があるということでしょうか?

* @Route("/", name="homepage", methods={"GET"})
* @Template("index.twig")


初歩的ですみませんが、よろしくお願いします
tattsu
投稿日時: 2024/1/23 11:47
対応状況: −−−
一人前
登録日: 2023/12/23
居住地:
投稿: 140
Re: TopController.phpは何を返しているのか
引用:
初期状態では特に配列は渡されていないのですが、これは「今後配列を渡すことを想定して親切にTopControllerを用意してくれている」と考えて良いのでしょうか?


そうですね、確か下記のようにnullをreturnしたり、同じことですが何もreturnしなくても、空配列をreturnしたのと同じ挙動になったと思いますが、空配列で良いのではないでしょうか。

/**
     * @Route("/", name="homepage", methods={"GET"})
     * @Template("index.twig")
     */
    public function index()
    {
    }



@RouteはURLやリクエスト方法を指定するもので、@Templateはビューファイルを指定するアノテーションです。
tattsu
投稿日時: 2024/1/23 11:59
対応状況: −−−
一人前
登録日: 2023/12/23
居住地:
投稿: 140
Re: TopController.phpは何を返しているのか
ControllerのEC-CUBE公式ドキュメント
https://doc4.ec-cube.net/customize_controller
mint_mi
投稿日時: 2024/1/23 15:15
対応状況: −−−
半人前
登録日: 2024/1/23
居住地:
投稿: 18
Re: TopController.phpは何を返しているのか
公式ドキュメントの共有もありがとうございます

> そうですね、確か下記のようにnullをreturnしたり、同じことですが何もreturnしなくても、空配列をreturnしたのと同じ挙動になったと思いますが、空配列で良いのではないでしょうか。

確かにreturnしなくても同じ挙動になることを確認しました。

> @RouteはURLやリクエスト方法を指定するもので、@Templateはビューファイルを指定するアノテーションです。

dtb_pageで指定していても、これはやはり指定しないとページが正しく表示されないのでしょうか?
まだ勉強中で、初歩的ですみません
tattsu
投稿日時: 2024/1/23 15:20
対応状況: −−−
一人前
登録日: 2023/12/23
居住地:
投稿: 140
Re: TopController.phpは何を返しているのか
確かにdtb_pageにもファイル名の項目がありますね。file_nameでしたっけ。

あちらは確か ページ管理 でどのテンプレートを編集するか、ということ程度にしか使用していなかった気がします。

実際にユーザーページでどのファイルを読み込むかはControllerの方で決まっています。


----------------
-------------------
EC-CUBEカスタマイズご相談ください

mint_mi
投稿日時: 2024/1/24 12:16
対応状況: 解決済
半人前
登録日: 2024/1/23
居住地:
投稿: 18
Re: TopController.phpは何を返しているのか
> 確かにdtb_pageにもファイル名の項目がありますね。file_nameでしたっけ。

そうです。Controllerとは別の用途で使われているのですね
理解できました。

とても勉強になりました。ありがとうございました
tattsu
投稿日時: 2024/1/24 12:42
対応状況: −−−
一人前
登録日: 2023/12/23
居住地:
投稿: 140
Re: TopController.phpは何を返しているのか
そうですね、@Routeの使い方はこちらが詳しいです。
https://symfony.com/doc/5.x/routing.html
mint_mi
投稿日時: 2024/1/24 15:49
対応状況: −−−
半人前
登録日: 2024/1/23
居住地:
投稿: 18
Re: TopController.phpは何を返しているのか
ご返信ありがとうございます!拝見しました
PHPバージョンやSymfonyバージョン違いによる定義方法の違いも書かれているのですね

すみません、よろしければさらに教えていただければありがたいです

https://symfony.com/doc/5.x/routing.html
教えていただいた上記記事に、以下のように書かれていました。

引用:
ルートは、YAML、XML、PHP で構成するか、属性またはアノテーションを使用して構成できます。


YAML、XML、PHP、属性またはアノテーションの中で、
EC-CUBE4ではルートの設定として使用していないものもありますか?
自分で調べてから聞こうとも思ったのですが、すみません

Symfonyの仕組みをEC-CUBEで全て使用しているわけではないとは思うのですが、
SymfonyとEC-CUBE独自の仕組みとで今後混乱しそうな気がしたので、例として聞いておきたいと思いました。

よろしくお願いします。
(1) 2 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は87,678名です
総投稿数は109,427件です

投稿数ランキング

1
seasoft
7362
2
468
3217
3
AMUAMU
2712
4
nanasess
2302
5
umebius
2085
6
yuh
1807
7
h_tanaka
1597
8
red
1567
9
mcontact
1196
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.