2017年10月 / 09月≪ 12345678910111213141516171819202122232425262728293031≫11月

--'--.-- (--)

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
--:--  |  スポンサー広告  |  EDIT  |  Top↑

2012'03.24 (Sat)

[PHP]Zend FrameworkとSmartyを連携させてみる(2)

[PHP]Zend FrameworkとSmartyを連携させてみる(1)のつづき.


<3.コンフィグの追加>
applicatoin/config/application.iniに以下を追加する.


view.smarty.cache_dir = APPLICATION_PATH "/../data/smarty/cache/"
view.smarty.compile_dir = APPLICATION_PATH "/../data/smarty/templates_c/"
view.smarty.config_dir = APPLICATION_PATH "/../data/smarty/configs/"



<4.Bootstrap.phpの設定>
Bootstrap.phpにSmartyを読ませるための設定を記述する.


protected function _initView()
{
$options = new Zend_Config($this->getOptions());
$smarty_config = $options->view->smarty->toArray();

require_once 'Smarty.class.php';
require_once 'Smarty/Zend_View_Smarty.class.php' ;
$view = new Zend_View_Smarty(NULL, $smarty_config) ;

$render = new Zend_Controller_Action_Helper_ViewRenderer($view);
$render->setViewBasePathSpec(APPLICATION_PATH . '/modules/:module');
$render->setViewScriptPathSpec(APPLICATION_PATH . '/modules/:module/views/scripts/:controller/:action.:suffix');
$render->setViewScriptPathNoControllerSpec(':action.:suffix');
$render->setViewSuffix('tpl');

Zend_Controller_Action_HelperBroker::addHelper($render);
}


ここで指定している内容の説明は以下のとおり.Zend Frameworkのドキュメントから引用.setViewSuffix()は拡張子の指定をしている.

パス指定を制御するメソッドは次のとおりです。

setViewBasePathSpec($spec) は、ビューオブジェクトを追加する際に使用する基底パスを 決める際に使用するパス指定を変更します。 デフォルトの設定は :moduleDir/views です。 現在の設定を取得するには getViewBasePathSpec() を使用します。

setViewScriptPathSpec($spec) は、個々のビュースクリプトのパス (からビュースクリプトの基底パスを除いた部分) を決める際に使用するパス指定を変更します。 デフォルトの設定は :controller/:action.:suffix です。 現在の設定を取得するには getViewScriptPathSpec() を使用します。

setViewScriptPathNoControllerSpec($spec) は、noController が有効な場合に 個々のビュースクリプトのパス (からビュースクリプトの基底パスを除いた部分) を決める際に使用するパス指定を変更します。 デフォルトの設定は :action.:suffix です。 現在の設定を取得するには getViewScriptPathNoControllerSpec() を使用します。




つづく・・・.
スポンサーサイト

タグ : ZendFramework Smarty

13:17  |  ぷろぐらみんぐ→PHP  |  TB(0)  |  CM(1)  |  EDIT  |  Top↑

2012'03.21 (Wed)

[PHP]Zend FrameworkとSmartyを連携させてみる(1)

Zend FrameworkとSmartyの連携をさせてみたログ(モジュール構成を使った場合).

Zend Frameworkのバージョン:1.11.11
Smartyのバージョン:3.1.8


<1.ディレクトリ構造>
zfコマンドでプロジェクトを作成したものをモジュール構成にした状態から,以下を追加(実際は任意でいい).


/zfproject/data/smarty/cache
/config
/template_c
/library/Smarty



<2.Smartyラッパーの作成>
/library/Smarty/Zend_View_Smarty.class.phpを新規作成し,Zend Frameworkの「プログラマ向けリファレンスガイド-ビュースクリプト」にあるサンプルをまるごとコピペ.
Smartyのバージョンが3.0.0以降の場合,どうやらテンプレートディレクトリの場所が変わっている(配列が1階層深くなっている)みたいなので,それに合わせて修正する.
修正するのは getScriptPaths() 関数.


/**
* 現在のテンプレートディレクトリを取得します
*
* @return string
*/
public function getScriptPaths()
{
// smartyのバージョンでテンプレートディレクトリのとり方を変える
if( Smarty::SMARTY_VERSION >= "3.0.0" )
{
if( is_array( $this->_smarty->template_dir ) )
{
return $this->_smarty->template_dir ;
}
}
else
{
return array( $this->_smarty->template_dir ) ;
}
}


つづく・・・.

タグ : ZendFramework Smarty

00:40  |  ぷろぐらみんぐ→PHP  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑

2012'03.04 (Sun)

[PHP]netbeansを入れてみたり

PHPの開発環境をつくろうとふと思って,NetBeans7.1.1をインストールしてみました.

入れてみた理由としてはZend Frameworkを公式サポートしてる点が大きかったり.
Zend Frameworkを使うにあたっての設定はPDTと同じようにhttpd.confとphp.iniをいじります.
以下は設定例.xamppインストール時で,ZendFrameworkをC:\xampp\htdocsにおいたときの場合.

[httpd.conf]

#LoadModule rewrite_module modules/mod_rewrite.so


...
AllowOverride All



[php.ini]

;display_errors = On
...
;display_errors = On
...
include_path = ".;C:\xampp\php\PEAR;C:\xampp\htdocs\ZendFramework\library"
...
;default_charset = "UTF-8"
...
;mbstring.language = Japanese
...
;mbstring.internal_encoding = UTF-8
...
;mbstring.http_input = auto




ここからがNetBeans用設定で,ZendFrameework配下のbin\zf.batを編集する.

[zf.bat]

SET PHP_BIN=C:\xampp\php\php.exe



あとは,NetBeansでオプションからzend設定にphpの設定としてphpの実行ファイル,ZendFrameworkのZendスクリプトとして編集したzf.batを指定する.
ZendFramework1.10以降を使う場合は「プロバイダ登録」ボタンを押す.


以上で設定はおしまい.
これで新規プロジェクトをZendFrameworkで作れば,デフォルトである程度のディレクトリ構造を作ってくれて,さらにNetBeans上でzendコマンドも使えるようになります.

思ったより簡単にできてよかったよかった.

テーマ : プログラミング - ジャンル : コンピュータ

01:16  |  ぷろぐらみんぐ→PHP  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑

2009'10.24 (Sat)

[PHP]CakePHPをインストールしてみる

CakePHPをインストールしました.
デバッグ環境を作ってからずいぶん時間がたってしまった・・・.

気を取り直してインストール.
まずは公式サイトからCakePHP1.2.5をダウンロード.

ダウンロードが終わったら,展開.
うちの環境ではDocumentRoot配下に展開して出来たフォルダをcake_1_2_5にリネームして設置.
そしてとりあえずアクセス.

すると警告が3つぐらい出てくるので設定.
1つめは「Security.salt」が変更されていないから変更しなさい,というもの.
早速ファイルを開いて,Security.saltに適当な文字列を設定.
この文字列は後々変えられないみたいなんで,適当かつこれで変えない!ってものにしないといけないです.

2つめは「database.php」がないよ,というもの.
これはdatabase.php.dafaultというテンプレファイルがあるので,名前を変えておしまい.

3つ目はデータベースに接続できません,というもの.
まぁ,2つ目が設定してないんで当然ダメなんですが,database.phpを開いて接続できるデータベースの設定を記述します.
うちの設定はこんな感じ.

var $default = array(
'driver' => 'mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'USERNAME',
'password' => 'PASSWORD',
'database' => 'DATABASE',
'prefix' => '',
'encoding' => 'utf8'
);


デフォルトから変えたところは,赤字にしてあります.

これでバッチリうまくいく,はずだったんですがなぜかデータベース接続でエラー発生.
パスワードをなしにするとうまくいくんだけど設定するとダメ.
さっぱりわからないから適当にいじってて,パスワードを「MySQL4.0互換」にしたら通るようになりました.
「MySQL4.1+」にしてるとだめなようなので,もしはまってる人がいたら要注意ですね.
でもこんな古いバージョンを使ってる人なんていないかな・・・.


というわけで,初期設定はおしまい.
こっからは勉強しつつになるので,いつ次があるかはわからないけど何かあったら載せていく方向にします.

タグ : CakePHP

23:11  |  ぷろぐらみんぐ→PHP  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑

2009'02.05 (Thu)

[PHP]xampp+PDT+xdebugで環境ができたのでうれしくてうれしくて

ひさしぶりにPHPのコードでも書いてみようかとおもっておもむろにxampp+PDT+xdebugの環境を作り始めて2日目.
ようやくできた!
初日は3時間かかってできなかったのに・・・2日目は30分で完了.感動した!

ってことで,記録をとっておこう!
一応バージョンは

XAMPP:1.6.8
PDT;2.0
xdebug:2.0.4(PHP5).2.0.2(PHP4)

です.

タグ : CakePHP

22:35  |  ぷろぐらみんぐ→PHP  |  TB(0)  |  CM(3)  |  EDIT  |  Top↑

2008'02.19 (Tue)

[CakePHP]Model->create()とModel->set()

モデルを連続でsave()してデータを作成するときはcreate()でIDをクリアする必要があるらしい.
モデルに更新するデータの設定には

$this->Model->set()

というのもあるんだけど,こっちはデータのマージをするようで,
たとえば,「aaa」「bbb」「ccc」というレコードを持つモデルを作成するときに
すでに「aaa=1」「ccc=3」というデータがある状態で
「aaa=2」「bbb=4」をset()すると,「aaa=2」「bbb=4」「ccc=3」として作成しにいくようだ.

それに対して

$this->Model->create()

だと,実行後は「aaa=2」「bbb=4」だけが存在し,「ccc」は存在しない.
よって作成されたデータに「ccc」は設定されない.


と,調べた結果がこんなところ.違ってたらごめん・・・.
データを連続で更新するときも前のデータ用の変数が残ってる場合があるからsave()を使う前はcreate()を初期化を兼ねて使っとくのがいいのかなぁって思いました.

タグ : CakePHP

23:31  |  ぷろぐらみんぐ→PHP  |  TB(0)  |  CM(1)  |  EDIT  |  Top↑

2006'08.14 (Mon)

[PHP]strip_tags()

strip_tags() を使うと不要なタグ(PHPタグ含む)を取り除いてくれるみたい.

$str2 = strip_tags( $str1, "<p>" ) ;
$str3 = htmlspecialchars( $str2 ) ;

みたいに使えば,必要なものはエスケープ,不要なものは削除されたものが出来るってことなのかな?

マニュアルには警告もあるけど・・・.
00:50  |  ぷろぐらみんぐ→PHP  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑
 | HOME | 
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。