Ground Sunlight

Windowsで作る - PHPプログラミングの開発環境

ユーザ用ツール

サイト用ツール


サイドバー

メインメニュー

XAMPP アレンジ

IED

WSL2

道具箱

リポジトリ編

フレームワーク編

公開ソフトウェア

メタ
リンク


このページへのアクセス
今日: 1 / 昨日: 0
総計: 1349

apricot:app:home

Apricot ホーム画面

ルーティング

以下のように config/routes.php を変更し、ホームコントローラのルートを作ります。

/apricot/config

routes.php
<?php
//-------------------------------------------------------------------
// Route Definition Callback
//-------------------------------------------------------------------
return function (FastRoute\RouteCollector $r)
{
    $base = Core\Application::getInstance()->getRouteBase();
    $r->addGroup($base, function (FastRoute\RouteCollector $r) use($base)
    {
        // Home
        $r->get ('/home', 'HomeController@index');
        $r->get('/', function() use($base){
            header("Location: " . $base.'/home');
        });
 
        // Stub
        $r->get('/stub[/{no:\d+}]', 'StubController@index');
    });
};
  • /home — ホームコントローラへのルート
  • /stub — スタブコントローラへのルート
  • / — ホームコントローラ(/home)へリダイレクト

ルーティング設定に関してはFastRouteを参照して下さい。


ホームコントローラ

Controller を継承してホームコントローラを作ります。

/apricot/app/Controllers

HomeController.php
<?php
namespace App\Controllers;
 
use App\Foundation\Controller;
 
/**
 * ホームコントローラ
 */
class HomeController extends Controller
{
    /**
     * Home Page
     * @return \Core\Foundation\Response
     */
    public function index()
    {
        $message = __('messages.home.msg_hello', [':account'=>env('APP_NAME')]);
        return render('home',['message'=>$message]);
    }
}
  • __() はトランスレータ Core\Lang::get() を呼び出すヘルパー関数です。
    トランスレータへの引数は言語テキスト(assests/lang/ja/messages.php)のキーです(ドット表記)。
  • env() は環境設定を取得するヘルパー関数です。
  • ボイラープレートのrender()関数を呼び出してレスポンスをレンダリングしています
  • render(string $view=null, array $variables=[])
    1. $view : テンプレート名
      上例では assets/views/home.blade.php がテンプレートファイルになります
    2. $variables : テンプレート変数の連想配列
      上例では $message をテンプレートに渡しています。


HTMLテンプレート

以下にホームコントローラのindexアクションでレンダリングしているHTMLテンプレートを示します。

/apricot/assets/views

home.blade.php
{{-- 親レイアウト --}}
@extends('layout')
 
{{-- 追加スクリプト --}}
@push('scripts')
@endpush
 
{{-- タイトル --}}
@section('title')
@endsection
 
{{-- コンテンツ --}}
@section('content')
    <h1 class="text-center">{{__('messages.home.title')}} <span class="small">{{env('APP_VERSION')}}</span></h1>
    <div class="text-center">
        <img src="{{url_ver('img/apricot.jpg')}}" width="300">
    </div>
    <div class="text-center mt-2">{{$message}}</div>
@endsection
  • extends, push, section の各ディレクティブについては、スタブ画面 を参照して下さい。
  • ボイラープレート __(), env(), url_ver() については、layout.blade.php を参照して下さい。


画像ファイル

HTMLテンプレートで使用している画像 apricot.jpg は apricot/public/img の下に設置して下さい。

apricot/public/img
apricot.jpg
apricot.jpg


翻訳テキスト

ホーム画面用の翻訳テキストを言語ファイル( messages.php )に追加します。

apricot/assets/lang/ja

messages.php
<?php
return [
 
    ...
 
    'home'=>[
        'title'=>env('APP_NAME'),
        'msg_hello'=>'Hello, :account !',
    ],
];


テスト実行

ホーム画面を表示してみましょう。ブラウザ上で以下のURLにアクセスしてみて下さい。

http://localhost/ws2019/apricot/public/

次の画面が表示されます

■ [menu1],[menu2],[menu3]を押すとそれぞれのスタブ画面が表示されます。
■ [About Me]を押すと y2sunlight.com が開きます。


コメント

test110.82.137.23, 2023/03/18 17:32

https://www.yeezys-shoes.us.com/ https://www.air-jordans11.us.com/ https://www.nikeair-jordan1.us.com/ https://www.jordan1.us.com/ https://www.christianslouboutinshoes.us.com/ https://www.pandorajewellery.us.com/ https://www.christianlouboutinshoesinc.us.com/ https://www.jordan1universityblue.us.com/ https://www.jamesharden-shoes.us.org/ https://www.jordans-11.us/ https://www.nikesnkrs.us.com/ https://www.newnikeshoes.us.com/ https://www.airjordan11s.us.com/ https://www.monclerstores.us.com/ https://www.redbottomshoesforwomen.us.com/ https://www.redbottomshoeslouboutin.us.com/ https://www.newjordan11.us/ https://www.ggdbs.us.com/ https://www.retro-jordans.us/ https://www.fitflop-shoes.us.org/ https://www.ggdbsneakers.us.com/ https://www.nikeairmax98.us/ https://www.air-jordan1s.us.com/ https://www.huarachesnike.us.com/ https://www.nikesales.us.com/ https://www.monclercom.us.com/ https://www.vanscom.us.com/ https://www.pandorascharms.us.com/ https://www.nike-jordans.us.com/ https://www.jordanshoesretro.us.com/ https://www.goldengoosessneakers.us.com/ https://www.air-jordansneakers.us/ https://www.jordans4retro.us/ https://www.nike--shoes.us.com/ https://www.air-jordan6.us.com/ http://www.pandorarings.us.com/ https://www.pandorajewelryofficial-site.us/ https://www.jordan-retro1.us.com/ https://www.jordan11sshoes.us/ https://www.jordan11ssneakers.us/ https://www.airjordan3s.us/ https://www.nikeairjordan.us.com/ https://www.yeezys.com.co/ https://www.goldensgoose.us.com/ https://www.nikeair-maxs.us.com/ https://www.jordans5.us/ https://www.jordanretro-11.us.com/ https://www.airjordan1s.us.org/ https://www.adidasyeezysneakers.us.com/ https://www.jordan12retros.us/ https://www.jordan-shoesformen.us.com/ https://www.air-jordan6.us/ https://www.jordan9.us.com/ https://www.nmds.us.com/ https://www.jordansretro3.us/ https://www.airmax270s.us.com/ https://www.yeezy.us.org/ https://www.ggdbshoes.us.com/ https://www.jordan11low.us.com/ https://www.pandorajewelryofficialsite.us.com/ https://www.valentinosshoes.us.org/ https://www.airjordansneakers.us.com/ https://www.jordans-4.us/ https://www.nikeoutletfactorys.us.com/ https://www.nikeofficialwebsite.us.com/ https://www.nikeshoesforwomens.us.com/ https://www.nikefactoryoutlets.us.org/ https://www.pandora-braceletcharms.us/ https://www.shoeslouboutin.us.com/ https://www.newjordansshoes.us.com/ https://www.goldengoosemidstar.us.com/ https://www.airjordansnew.us.com/ https://www.jordan5.us.com/ https://www.jordans1s.us.com/ https://www.airmax-95.us.com/ https://www.redbottomslouboutin.us.org/ https://www.nikeairmax-shoes.us.com/ https://www.asics-running-shoes.us.com/ https://www.canadapandoracharms.ca/ https://www.jordan-12.us.com/ https://www.sneakersgoldengoose.us.com/ https://www.airjordan5.us/ https://www.nikeshoesoutletfactory.us.com/ https://www.birkin-bag.us.com/ https://www.jordans1.us.com/ https://www.airmax270.us.org/ https://www.pandoracanadajewelry.ca/ https://www.nikeshoes-cheap.us.com/ https://www.adidasnmdr1.us.org/ https://www.yeezyonline.us.com/ https://www.jordan-4.us.com/ https://www.pandoraringssite.us/ https://www.nikesoutletstoreonlineshopping.us.com/ https://www.louboutinshoesheels.us.com/ https://www.nike-airmax2018.us.com/ https://www.jordansneakerss.us/ https://www.pandorasjewelry.us.com/ https://www.goldengoosesneakerss.us.com/ https://www.jordansretro12.us/ https://www.jordan13.us.org/ https://www.coatsmoncler.us.com/ https://www.nikesfactory.us.com/ https://www.airjordan6rings.us/ https://www.soccercleats.us.com/ https://www.airjordan4s.us/ https://www.christian-louboutinheels.us.com/ https://www.jordan-retro6.us/ https://www.jacketsmoncleroutlet.us.com/ https://www.pandoraonline.us/ https://www.air-max90.us.com/ https://www.jordan12retro.us.com/ https://www.jordan14.us.com/ https://www.air-jordanssneakers.us/ https://www.retrosairjordan.us/ https://www.monclerjacketsstore.us.com/ https://www.airjordanshoess.us.com/ https://www.goldengooseshoess.us.com/ https://www.jordanretros.us.com/ https://www.nikeoutletshoes.us.com/ https://www.jordan-8.us/ https://www.jordan13s.us/ https://www.christianslouboutin.uk.com/ https://www.yeezys-shoes.us.org/ https://www.jordansshoesforsale.us.com/ https://www.airjordanretro11.us.com/ https://www.retrosjordans.us/ https://www.eccos.us.com/ https://www.jordanretro11mens.us/ https://www.jordanshoess.us.com/ https://www.jordanscheapshoes.us/ https://www.ferragamos.us.org/ https://www.jordans-sneakers.us.com/ https://www.goldengoosesales.us.com/ https://www.mensnikeshoes.us.com/ https://www.outletnikestore.us.com/ https://www.airforceoneshoes.us.com/ https://www.jordan1lows.us.com/ https://www.new-jordans.us.com/ https://www.adidasyeezysshoes.us.com/ https://www.lebron-shoes.us.com/ https://www.nikeoutletstoresonlineshopping.us.com/ https://www.goldengooseoutletfactory.us.com/ https://www.outletgoldengoose.us.com/ https://www.jordans11.us.com/ https://www.balenciagatriples.us.org/ https://www.balenciagaofficial.us.com/ https://www.monclervest.us.com/ https://www.air-jordan12.us/ https://www.jordan10.us.com/ https://www.pandoras.us.com/ https://www.fjallraven-kanken.us.com/ https://www.jordan11red.us.com/ https://www.air-jordan4.us.com/ https://www.kyrieirving-shoes.us.org/

コメントを入力. Wiki文法が有効です:
 
apricot/app/home.txt · 最終更新: 2020/05/23 16:18 by y2sunlight