PHPにSmartyをセットアップ

2019-01-26
phpsmarty%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%B3
    

目次

概要

PHPにSmartyをセットアップをするメモ

試した環境

PHP 7.1.19 Smarty 3.1.33

Smartyについて

https://www.smarty.net/

古くからあるPHPのテンプレートエンジンです。

Smarty と twig のトレンド比較

PHPのテンプレートエンジンとして有名なSmartyですが、最近はbaldeやtwigという名前もよく見かけるようになりました。

ダウンロード

Smartyの最新版はGitHubからzipかtarで落としてきます。

https://github.com/smarty-php/smarty/releases

smartyの配置

落として解凍したsmartyディレクトリを任意の場所に配置します。 実装するときに絶対パスで参照するのであれば、どの場所でも問題ないとは思いますが、 include_pathで設定されている場所に配置するのがベターだと思います。

Smarty呼び出し

index.php

include_once("smarty-3.1.33/libs/Smarty.class.php");

// smartyオブジェクト生成
$smarty = new Smarty();

// 設定
$smarty->template_dir = "/path/to/template/"; //相対パスでも可
$smarty->compile_dir = "/path/to/cache/"; //相対パスでも可

// 変数をセット
$smarty->assign("test", "Hello World!");

// テンプレートを読み込んでレンダリング
$smarty->display('index.tpl');

index.tpl

<!DOCTYPE>
<html>
<head>
</head>
<body>
{$test}
</body>
</html>

Macであればターミナルから

php -S localhost:3333 index.php

を実行し、「Hello World!」と表示されていれば成功です。

    
s-yoshiki
s-yoshiki
githubtwitterqiita
Web作ってますが、インタラクティブなプログラミングも好きです。
JavaScript / Vue / node.js / PHP / AWS / OpenCV

関連記事

Amazon S3 と ローカルファイルのチェックサムの比較
s3apiでEtagを取得 検証 マルチアップロード時の注意点 Amazon S3 の Etagを使ってファイルの整合性チェックをする。 s3apiでEtagを取得 S3 APIを利用するとEtagを取得します。この値はmd5のハッシュ値になります。 検証 MD…

WordPressのDBから記事データを抽出する
WordPressのDB関連図 公開記事一覧の取得 タグ・カテゴリの取得 サムネイルの取得 おまけ: PHPスクリプト化しました 参考にしたところ WordPressにため込んだデータMarkdown化しGatsby…

PHPerkaigi 2020 資料まとめ
資料 もっと気軽にOSSに Pull Requestを出そう!/ Let's make a PR to OSS more easily PHP で JVM を実装して、 HelloWorld を出力してみる Deep Module in PHP 磯野ー、MySQL…

Ubuntu18.04にApache MariaDB PHP7.2 をセットアップ
環境情報 モジュール類の更新 Apacheのインストール PHP7.2のインストール インストール 動作確認 MariaDBのセットアップ MariaDBのインストール データベースと作業用ユーザの作成 参考 AWS の EC2 の Ubuntu18.0…

AWS S3のオブジェクト一覧をPHPで表示させる
S3アカウント サンプル AWS S3のオブジェクト一覧をPHPで表示させるサンプルコードの紹介. S3アカウント S3バケット参照用のユーザの作成方法は以下を参照してください。 https://tech-blog.s-yoshiki.com/2019/0…

PHPで簡単ページング処理を実装する サンプルコード
環境 作るもの ソース PHPで簡単なページング処理を書いてみました。 環境 PHP 7.1.19 Smarty 3.1.33 作るもの 簡単なページング処理を作ります。 具体的には、ある取得したデータ(サンプルソースでは51件)に対し1ページに1…

PHP + Smartyで超簡単なページング処理とサンプルコード
環境 Smartyのセットアップ 作るもの ソース テンプレート PHPで簡単なページング処理を書いてみました。 環境 PHP 7.1.19 Smarty 3.1.33 Smartyのセットアップ GitHubから適当なバージョンの物を落としてきます。 PHP…

ファイルベースで動くPHPのCMS「Grav」の紹介とインストールとセットアップまで
Gravについて 他のCMSの比較 環境 インストール Gitでのインストール PHPビルトインサーバで起動する Apache + Linuxで起動する Apache パーミッションの設定 トラブルシューティング Flat-File CMS(RDBMS…

素因数分解を行うプログラム サンプルコード JS/PHP
サンプルコード JavaScript PHP ある任意の正の整数の素因数を配列で返すサンプルコードを紹介します。 サンプルコード JavaScript パターン1 : 純粋な素因数分解 デバッグ パターン2 : 指数部と仮数部に分ける デバッグ PHP

途中return禁止、goto禁止の時のdo~while(0)
はじめに 構造化 参考 goto do~while(0)を使う try ~ catchを使う その他 環境 はじめに 細かいロジックが多い手続き型のプログラムを書こうと思った時のメモ。…

最新の投稿

SQL整形ツールを作成した
特徴 使い方 FW/ライブラリ等 nuxt sql-formatter-plus Monaco Editor おまけ ソース SQL整形ツールを作成しました。 URLはこちらです。 SQL…

ファイルの1行目を表示 Linuxコマンド head
head コマンド例 headコマンドでファイルの 1行目もしくは指定した行数だけ表示する方法。 head 利用できるオプション コマンド例 の 1行目だけを表示 の 5行目までを表示 カレントディレクトリ以下の全てのtxtファイルの1行目を表示

Amazon S3 と ローカルファイルのチェックサムの比較
s3apiでEtagを取得 検証 マルチアップロード時の注意点 Amazon S3 の Etagを使ってファイルの整合性チェックをする。 s3apiでEtagを取得 S3 APIを利用するとEtagを取得します。この値はmd5のハッシュ値になります。 検証 MD…

github.io / gitlab.ioで公開されている質の高い技術ドキュメント
AWSによるクラウド入門 Pythonプログラミング入門 普通の人が資産運用で99点をとる方法とその考え方 2018年の段階で私が知らないこと github.io / gitlab.io で無料で公開されている興味深いドキュメントのmemo AWS…

10進数から2進数 2進数から10進数への変換 JavaScript
10進数から2進数 2進数から10進数 テスト 10進数から2進数、2進数から10進数への変換を行うJavaScriptのコードの紹介。 JSの場合、10進数から2進数への変換はメソッド。2進数から1…

JavaScriptの配列ショートハンド (AtCoder用)

JavaScriptでワーシャルフロイド法を実装
AtCoder ABC012 D問題 D - バスと避けられない運命 解説 実装 AtCoder ABC012 の D問題でワーシャルフロイド法が利用できる問題が出てきたので、 JavaScriptで実装しました。 AtCoder ABC012 D問題 D…

GitHub Actions で Gatsby をビルドし Amazon S3 にデプロイする
GitHub Actions について あらかじめ準備しておくもの AWS IAM ユーザを環境変数にセットする workflowの記述 ビルド バッジを利用する 終わりに 参考にしたところ Gatsbyで作った静的サイトを、GitHub Actions…

cloudinaryによる画像ファイルの管理 はじめてみる
目的 cloudinary について 他のサービスとの比較 料金プラン アカウントの登録 利用してみる ダッシュボード 画像の編集 APIベースでのアクセス 感想 参考 画像の管理や配信、さらには加工といった事ができるsaas型のcloud…

JavaScriptによる2分探索(バイナリサーチ) のサンプルコード
2分探索について ソース 参考 JavaScriptで2分探索(バイナリサーチ)を実装してみました。…

Tags

Dates

© 2020   404 motivation not found