FuelPHP 1.7でのSmartyのセットアップ

fuelphpにSmartyをインストールする方法 | PHPのQ&A【OKWave】 のような質問が出てますが、再現できないですね。

あと、Smartyをダウンロードしてインストールした上にさらにComposerでインストールするという誤った情報が、まだ浸透しているようですね。

Smartyのインストール

ComposerからSmartyをインストールします。

まず、composer.jsonに設定を追加します。ここでは、バージョンは「3.*」としてSmarty 3.xの最新版を指定しています。

diff --git a/composer.json b/composer.json
index e1b21ea..6d54390 100644
--- a/composer.json
+++ b/composer.json
@@ -18,7 +18,8 @@
     "require": {
         "php": ">=5.3.3",
         "monolog/monolog": "1.5.*",
-       "fuelphp/upload": "2.0.1"
+       "fuelphp/upload": "2.0.1",
+        "smarty/smarty": "3.*"
     },
     "suggest": {
         "mustache/mustache": "Allow Mustache templating with the Parser package",

composerからインストールします。

$ php composer.phar update

config.phpでParserパッケージを有効にします。

diff --git a/fuel/app/config/config.php b/fuel/app/config/config.php
index 5993891..16840eb 100644
--- a/fuel/app/config/config.php
+++ b/fuel/app/config/config.php
@@ -257,7 +257,7 @@ return array(
    /**************************************************************************/
    /* Always Load                                                            */
    /**************************************************************************/
-   // 'always_load'  => array(
+   'always_load'  => array(

        /**
         * These packages are loaded on Fuel's startup.
@@ -270,9 +270,10 @@ return array(
         *     array('auth' => PKGPATH.'auth/')
         * );
         */
-       // 'packages'  => array(
+       'packages'  => array(
        //  //'orm',
-       // ),
+           'parser',
+       ),

        /**
         * These modules are always loaded on Fuel's startup. You can specify them
@@ -308,6 +309,6 @@ return array(
         * If you don't want the lang in a group use null as groupname.
         */
        // 'language'  => array(),
-   // ),
+   ),

 );

テンプレートの指定方法

通常は、公式ドキュメントにあるように、拡張子smartyを付けたファイル名を指定します。

Response::forge(View::forge('index.smarty'));

以下のようにView_Smartyオブジェクトを生成する方法もあります。

 Response::forge(View_Smarty::forge('index'));

関連

Tags: fuelphp, smarty

Pux 1.3.1の機能拡張をUbuntu 12.04のXAMPP 1.8.3-2にインストールする

Puxのインストール

GitHubからソースを取得してコンパイルします。

$ git clone https://github.com/c9s/Pux.git
$ cd Pux/ext
$ phpize
$ ./configure
$ make

cc -I. -I/home/kenji/work/OrePux/Pux/ext -DPHP_ATOM_INC -I/home/kenji/work/OrePux/Pux/ext/include -I/home/kenji/work/OrePux/Pux/ext/main -I/home/kenji/work/OrePux/Pux/ext -I/opt/lampp/include/php -I/opt/lampp/include/php/main -I/opt/lampp/include/php/TSRM -I/opt/lampp/include/php/Zend -I/opt/lampp/include/php/ext -I/opt/lampp/include/php/ext/date/lib -I/opt/local/include -DHAVE_CONFIG_H -g -O2 -c /home/kenji/work/OrePux/Pux/ext/php_functions.c -fPIC -DPIC -o .libs/php_functions.o /home/kenji/work/OrePux/Pux/ext/php_functions.c:4:18: 致命的エラー: pcre.h: そのようなファイルやディレクトリはありません コンパイルを停止しました。 make: *** [php_functions.lo] エラー 1

エラーが出てしまいました。

$ cd /opt/lampp/include/php/
$ sudo ln -s ext/pcre/pcrelib/pcre.h .

再度、コンパイルします。

$ make
$ sudo make install

/opt/lampp/etc/php.iniにextension=tux.soを追加して、Apacheを再起動します。

phpinfo()ページにpuxのVersionが表示されることを確認します。

参考

Tags: pux, php

Phalcon 1.2.5をUbuntu 12.04のXAMPP 1.8.3-2にインストールする

Phalconのインストール

GitHubからソースを取得してコンパイル&インストールします。

$ git clone git://github.com/phalcon/cphalcon.git
$ cd cphalcon/build
$ ./install
$ cd 32bits
$ sudo make install

php.iniにextension=phalcon.soを追加して、Apacheを再起動します。

--- a/php.ini   Tue Dec 17 10:34:41 2013 +0900
+++ b/php.ini   Tue Jan 14 07:31:06 2014 +0900
@@ -990,6 +990,8 @@
 ;extension=php_xsl.dll
 ;extension=php_zip.dll

+extension=phalcon.so
+
 ;extension="zip.so"

 ;extension="sqlite.so"

Phalcon Developer Toolsのインストール

GitHubからダウンロードします。

$ git clone https://github.com/phalcon/phalcon-devtools

インストールします。

$ cd phalcon-devtools/
$ ./phalcon.sh

Phalconプロジェクトの作成

phalconコマンドでプロジェクトのスケルトンを作成します。

$ phalcon project phalcon-125 simple

phalcon-125がプロジェクト(フォルダ)名、simpleはタイプです。

参考

Tags: php, phalcon