Pear/Smarty

個人法人共用マネージドVPS専用代理店

PearとSmartyについて、具体的な使用例などをご案内いたします。

Pearについて

「Pear」とは、PHP用のライブラリ集で、このライブラリを使うことにより、PHPアプリケーションの様々な機能が簡単に使用できます。ただし、PHP8では標準でインストールされておりません。

Pearの利用できるPHPについては以下のページをご覧ください。

ビジネス・パーソナルシリーズの標準でご利用可能なPear
モジュール名AlmaLinux9系CentOS7系CentOS6系CentOS5系
Archive_Tar x
Auth_SASL x
Auth_SASL2 x×
Cache_Lite x
Console_Getopt x
Console_GetoptPlus x
DB x×
HTML_Template_IT x
HTTP_Request2 x
MDB2 x
Mail x
Mail_Mime x
Net_SMTP x
Net_Socket x
Net_URL2 x
Net_UserAgent_Detect x
PECL imagick
PECL_mcrypt x×
Smarty x
Structures_Graph x
XML_Parser x×
XML_Parser2 x
XML_RPC x×××
XML_RPC2 x
XML_Util x

専用サーバー・マネージドVPSのお客様はPearのインストール代行を別途オプションで承っております。

Pear MDB2 の利用方法

Pear MDB2 を利用しますと、MySQLやPostgreSQLなどデータベースエンジンの違いを吸収した分かりやすいDB連携アプリケーションを構築することが出来ます。Pear MDB2をご利用する場合は、以下のようなPHPプログラムをご利用ください。

require 'MDB2.php'; // Pear MDB2の場合
Pear MDB2 の参考資料

Pear MDB2 オンラインドキュメント(英語)(外部サイトへのリンク)

Smartyについて

「Smarty」とは、PHPスクリプトからデザイン部分を切り離してWebサイトの構築を行うための機能(テンプレートエンジン)です。Smartyを利用することで、PHPスクリプトとHTMLのデザインが分離されますので、見通しの良いWEBアプリケーションを構築することが可能です。

Smartyの利用方法

PHPプログラムに下記を記述して頂くことで、Smarty機能が有効となります。

require 'Smarty/libs/Smarty.class.php';    // Smarty 2系を利用する場合
require 'Smarty-3/libs/Smarty.class.php';    // Smarty 3系を利用する場合

なお、Smarty が内部的に必要とする templates / configs / templates_c フォルダーにつきましては、以下の作成例をご参照の上、Smartyを呼び出すphpファイルの直下にお客様にて作成ください。

  • フォルダー作成例1 (FFFTP)
  • フォルダー作成例(FFFTP)
  • フォルダー作成例2 (FFFTP)
  • フォルダー作成例(FFFTP)
  • フォルダー作成例3 (FFFTP)
  • フォルダー作成例(FFFTP)

templates_cフォルダーについては、nobodyユーザーでの書き込み権限が必要 となりますので、属性(パーミッション)を 707 に変更してください。

  • 属性(パーミッション)作成例1 (FFFTP)
  • 属性(パーミッション)作成例(FFFTP)
  • 属性(パーミッション)作成例2 (FFFTP)
  • 属性(パーミッション)作成例(FFFTP)
Smartyの具体例

下記に具体的な使用例を記述させて頂きます。プログラムの記述方法につきましては、サポートの対象外となりますので、後述の 参考書籍などをご参照ください。

[Smarty2系を利用したPHPプログラム]

ファイル名:index.php

アップロード先:/www/
<?php require 'Smarty/libs/Smarty.class.php'; $smarty = new Smarty(); $smarty->assign('message','Hello, smarty!'); $smarty->display('index.tpl'); ?> [Smartyのテンプレートファイル]

ファイル名:index.tpl

アップロード先:/www/templates/
<html> <head> <title>テスト</title> <body> {$message} </body> </head> </html>
Smartyのお薦め参考情報

Smartyのマニュアル