PHPは、Webサイト開発やアプリケーション構築時によく使われるスクリプト言語のことですが、Webサイト構築時に必要な基本言語HTMLの中に埋め込むことができるという特徴があります。
その他にもMySQLやPostgreSQLといったデータベースと連携しながら、WEBサイトをスムーズに作成できるのが大きな利点です。
今回は、そんなPHPのコーディングに役立つ「Smarty(スマーティ)」について、基本情報から具体的なメリットに至るまでを詳しく紹介します。
目次
システム開発会社選びはプロにお任せ完全無料で全国5000社以上からご提案
Smarty(スマーティ)とはどういうもの?
出典:PHP Template Engine | Smarty
Smartyとは、2000年代前半にリリースされたテンプレートエンジンの一種です。スクリプト言語である「PHP」を使ったテンプレートエンジンとして、今でも多くのシステムで使われています。令和の現代でも細かなアップデートが繰り返されており、その人気の高さが伺えます。書式がバージョンによって変わる場合があるため、使用時はバージョンの確認が必須です。
そもそもテンプレートエンジンとは何か
Smartyの基本情報を紹介する前に、「テンプレートエンジン」について紹介しておきましょう。
テンプレートエンジンとは、「機能を記述する内容(PHP)」と「画面の表示内容(HTML&CSSなど)」を分けて管理できるツールです。HTMLの中に埋め込められるPHPは、初心者にも扱いやすいのが大きなメリットですが、PHPとHTMLが混在したファイルは、2つのルールが一緒に書かれているので読み取りにくいのが難点でした。修正を行う場合はページ数が多いほど膨大な時間がかかり、保守やメンテナンスが行き届きません。
そんな状況を回避するために、テンプレートエンジンは誕生しました。処理内容と表示内容を分けて作成できるので、PC・スマートフォンのサイトで異なるデザインの反映が実現できます。処理内容をまとめられるので、使いまわしがきくのも大きなメリットと言えます。システムの保守やメンテナンスがスムーズにできるのも嬉しいポイントです。
Smarty以外にも、PHPのテンプレートエンジンには「Twig」や「Blade」などが存在します。種類によっては開発環境が限られるテンプレートエンジンもあるので、使用する際は開発環境へ対応しているか、開発がストップしていないかを確認してください。
Smartyを使うと何ができる?
Smartyを使うことで、「HTMLに記述したPHPの分離」が可能になります。テンプレートが分離されているので、プログラマーとデザイン担当(コーダー)の仕事が進めやすくなります。同じファイルで管理しているとバッティングが起きかねませんし、修正が発生した場合は両者が作業を進めにくくなる可能性もあります。しかし、Smartyを採用すると別ファイルでそれぞれの開発を行えるのです。
とはいえ、上記はSmartyを含む「テンプレートエンジンそのものの特徴」であって、Smarty特有のものではありません。 冒頭で述べた通り、テンプレートエンジンの中でもSmartyは人気の高さに定評がありますが、その人気の理由はどこにあるのでしょうか。以下では、Smartyの特徴をご紹介します。
Smartyの特徴って?
●処理スピードが速い
動作速度の面で優れているのが、Smartyの大きな特徴です。その理由は、テンプレートのコンパイルが大きく関係しています。コンパイルとは、人間が書いたプログラムを、機械が理解できる言葉で変換するプログラムのことです。このコンパイルは最初にリクエストが来た際に一度だけ行われるので、毎回テンプレートの解析処理を行う必要はありません。テンプレートに変更が加えられた場合のみ、コンパイルを再実行するので効率化を図れます。
●機能拡張が容易
Smartyは、値をはめ込むのはもちろん、if文による条件分岐や関数、ループ処理なども入れ込み可能です。PHP初心者の方ですべての機能を把握していない場合は、HTMLとシンプルな変数のみで作成できます。変数の修飾子やテンプレートで使用可能なカスタム関数が用意されているのも特徴の一つです。
●プラグインが豊富に揃っている
テンプレート関数プラグインや修飾子プラグイン、ブロック関数プラグインなど、Smartyのプラグインは種類が豊富です。標準搭載されているプラグインはSMARTY_DIR直下の「plugins/」というディレクトリにあります。自分の好きなタイミングで、プラグインを動かすことも可能です。
Smartyのインストール方法
まずは、ダウンロード前に、PHP5.2以降が動作できるWEBサーバーかチェックしましょう。その後、冒頭で紹介したSmartyの公式サイトにアクセスし、サイトの上部にある「Download」をクリックします。
ダウンロードしたzipフォルダを解凍したら、この中に「libs」フォルダがあるか確認してください。libsのファイル名のまま利用するのも問題ありませんが、格納先がすぐにわかるよう「smarty」にリネームし、WEBサーバーへアップロードします。
リネームとダウンロードが済んだら、必要なフォルダ作成へ移りましょう。
Smartyでは「templates」、「templates_c」、「configs」、「cache」のディレクトリが必要になります。そのフォルダを準備した後、templatesとconfigsはパーミッションを755または705へ、templates_cとcacheは707に設定してください。フォルダの作成が完了したらindex.tplを作成します。その後、動作テスト用のindex.phpを同じ階層にアップロードし、実際に動きがあるかブラウザで確認しましょう。
システム開発におけるSmartyのメリットとは?
WEBサイト構築に役立つSmartyは、IT企業を中心にあらゆる場所で活用されています。ここでは実際にSmartyを導入したサイトやシステムをもとに、システム開発におけるSmartyのメリットについてご紹介します。
●通販サイト運用に最適なテンプレートエンジン
海外向けネットショップの「マルチリンガルカート」では、多言語・多通貨に対応したECサイトを構築できます。このサービスの大きな特徴はSmartyのテンプレートシステムを採用していることです。HTMLとCSSの知識があれば、自分好みのデザインの多言語ショップが作れます。各言語に応じたデザイン変更をはじめ、検索順位を考慮したテキスト編集、表示情報の変更といった豊富なカスタマイズが魅力です。
世界35,000件以上の導入実績を誇る「CS-Cart」をベースに生み出された「CS-Cartマーケットプレイス版」は、出品者管理をはじめ、商品・顧客・注文の管理機能がすべて揃っています。「PHP+MySQL+Smarty」という、オーソドックスな組み合わせで構成されているため、ほとんどのレンタルサーバーで動作できるのも大きなポイントです。
●自由度の高いデザインを生み出せる
GMOメイクショップ株式会社が運営するECサイト構築サービス「makeshop」では、自由度の高い優れたデザインを編集できる機能を提供しています。クリエイターモードと呼ばれるこの機能は、Smartyを採用した独自タグを用意しているのが大きな特徴です。タグを使用することでカスタマイズ性がとても高く、レスポンシブWebデザインにも対応しています。編集可能範囲が広い分、モバイルファーストインデックス(MFI)が強化でき、サイト分析や数値計測に必要なタグも自由に追加可能となります。長期的なサイト運用に最適な機能です。
●業務効率化に優れたシステムを実現
効率的な発注管理システムを生み出すうえでも、Smartyは欠かせない存在です。株式会社シャンテリーが導入した発注管理システムは、Web制作とシステム開発がスムーズに進められるようSmartyを採用しているのが特徴です。入力ミスを減らすためにJqueryを入れ込み、発注データや組織情報を一括管理できるシステムを実現しています。
今回は、Smartyの基本情報や導入方法、メリットについて詳しく紹介をしました。先に挙げた通り、システム開発の分野においてもSmartyが使用されるケースは多く、使い方次第で様々な用途に使用できます。プログラマーとデザイナーとで分担作業をしたい、処理速度と拡張性に優れたテンプレートエンジンを導入したいといったケースにおいては、Smartyがとくに重宝するでしょう。
システム開発の最適な発注先をスムーズに見つける方法
システム開発会社選びでお困りではありませんか?
日本最大級のシステム開発会社ポータルサイト「発注ナビ」は、実績豊富なエキスパートが貴社に寄り添った最適な開発会社選びを徹底的にサポートいたします。
ご紹介実績:22,000件(2024年10月現在)
外注先探しはビジネスの今後を左右する重要な任務です。しかし、
「なにを基準に探せば良いのか分からない…。」
「自社にあった外注先ってどこだろう…?」
「費用感が不安…。」
などなど、疑問や悩みが尽きない事が多いです。
発注ナビは、貴社の悩みに寄り添い、最適な外注探し選びのベストパートナーです。
本記事に掲載するシステム会社以外にも、最適な開発会社がご紹介可能です!
ご相談からご紹介までは完全無料。
まずはお気軽に、ご相談ください。 →詳しくはこちら
システム開発会社選びはプロにお任せ完全無料で全国5000社以上からご提案
■システム開発の関連記事