php:fuelphp:smarty_install

Smarty のインストールと設定

  • Smarty は以下のように配置する。
    [fuelapp/fuel/app/vendor/]
        +- [Smarty]
             +- [libs]
                 +- [plugins]
                 +- [sysplugins]
                 +- debug.tpl
                 +- Smarty.class.php
                 +- SmartyBC.class.php
  1. Smarty のリポジトリから取得する。
    $ cd fuelapp/fuel/app/vendor/
    $ svn checkout http://smarty-php.googlecode.com/svn/trunk/distribution Smarty
  2. demo は要らないので削除する。
    $ rm -rf Smarty/demo/
  3. fuel-smarty をインストールする。
    $ cd fuelapp/fuel/packages/
    $ git clone https://github.com/ttoz/fuel-smarty
  4. Smarty と fuel-smarty を有効化する。
    fuel/app/config/config.php
    'packages'  => array(
        'parser',       // Smartyを有効化
        'fuel-smarty',  // Fuel-Smartyを有効化
    ),
  5. parser の設定ファイルをコピーする。
    fuelapp/fuel/packages/parser/config/parser.php → fuelapp/fuel/app/config/parser.php
    $ cp fuelapp/fuel/packages/parser/config/parser.php fuelapp/fuel/app/config/parser.php 
  6. Smarty のプラグインを記述する場合は、コピーした parser.php に plugins_dir の設定を行う。
        'View_Smarty'   => array(
            ...
            'environment'   => array(
                ....
                //'plugins_dir'       => Arrey(),
                'plugins_dir'       => APPPATH.'smarty'.DS,

    ※ fuelapp/fuel/app/smarty/ を作成し、その中にプラグインのコードを作成する。

  1. ルーティングを追記する。
    fuelapp/fuel/app/config/routes.php
    <?php
    return array(
        'smartytest'    => 'smartytest/index',
    );
  2. コントローラのコードを作成する。
    fuelapp/fuel/app/classes/controller/smartytest.php
    <?php
    class Controller_SmartyTest extends Controller
    {
        function action_index()
        {
            return Response::forge(View_SmartyTest::forge('smartytest'));
        }
    }
  3. ビューモデルのコードを作成する。
    fuelapp/fuel/app/classes/view/smartytest.php
    <?php
    class View_SmartyTest extends ViewModel
    {
        function view()
        {
            $this->title = 'Smarty Test';
        }
    }
  4. Smarty のテンプレートを作成する。
    fuelapp/fuel/app/views/smartytest.smarty
    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8">
        <title>{$title}</title>
    </head>
    <body>
        <p>{$title}</p>
    </body>
    </html>
  5. http://fuelapp.localhost/smartytest にアクセスして動作を確認する。
  • php/fuelphp/smarty_install.txt
  • 最終更新: 2019/08/19 07:06
  • by ともやん