「ほっ」と。キャンペーン
| Home  |  Visit  |  Comment  |  RSS  |  Top  |
カテゴリ:   *PHP( 6 )
PHPバグ
http://itpro.nikkeibp.co.jp/article/NEWS/20051102/223939/
[PR]
by harvestrain | 2005-11-08 21:11 |    *PHP
【覚書】Smarty
《初回更新:2005/11/08 15:11》

今後の仕事の効率化のために、自宅鯖にSmartyを入れてみる。

このテンプレートエンジンの良さは、オリジナルのテンプレートを一度だけコンパイルし、コンパイルされたテンプレートにアクセスするのでサーバにかかる負荷が軽減される。オリジナルテンプレートも変更されたもののみ、再コンパイルするので無駄がない。

また、テンプレートを編集するのにわざわざ変更デザインをデザイナーに出してもらい、プログラマが変数を入れるなどの作業をしなくても、変数表記のお約束さえ覚えてしまえば、デザイナーが自分でテンプレートを編集できるのがよい。



マニュアルでは、Smarty.class.phpは、</usr/local/lib/>あたりに置くようになってるのだが、レンタルサーバなどの共有サーバではroot権限がないため、そうもいかないので、ドキュメントルートと同じ階層あたり(必ずドキュメントルート外であること)にライブラリ用ディレクトリを作成し、.htaccessなどで自分用のinclude_pathを設定したうえで、そこに配置する。
もし、どうしてもinclude_pathを設定できない場合は、ini_setでinclude_pathをそのつど設定するか、フルパスで記述するかしかないかも。

Smarty.class.phpのクラスSmartyを拡張して、適当に名前を付けたクラス(今回はテストなので、Smarty_phpとする)を作成。仮にSetup.phpとして保存。
Smarty_phpの中で、Smarty.class.phpのクラスSmartyのインスタンスを作成し、template_dir、compile_dir、config_dir、cache_dirを設定する。

実際にテンプレートエンジンを使う際は、Setup.phpを読み込み、Smarty_phpのインスタンスを作成して利用。
[PR]
by harvestrain | 2005-11-08 15:25 |    *PHP
(調査中)PHP has encountered an Access Violation at xxxxxxxx
PHP + IIS + Windows(WindowsOSの何かをサーバのOSにしている)にて起きる問題

PHPのバージョンは特定のものに限らず、4.0.xから5.0.xまで
ほぼ全てのバージョンにおいて、起きうるものと思われる。

-------------------------------------------------------------------
PHP has encountered an Access Violation at xxxxxxxx
-------------------------------------------------------------------


PHP本家の開発でも、原因は調査中の模様。

IISにて動作するPHP環境では不安定になるため、
このエラーが発生することがある。

結論【2005/10/7】
つーか、IISかPHPのバグでねぇの?
[PR]
by harvestrain | 2005-09-25 22:05 |    *PHP
やっ・・・やられたっ。
 少し前まで、ASP(Active Server Pages)をやっておりました。
 今はPHPの案件でプログラムを書いてます。
 やられました。切り替えが出来てませんでした・・・・。(涙)


涙なみだナミダ・・・

値の代入
変数1 = 値
 これはどちらも同じ書き方です。
 ですが・・・・。

ASPの場合:if文中での値の比較
If 変数1 = 値 Then
    処理1
End If
PHPの場合:if文中での値の比較
If ( 変数1 == 値 ){
    処理1
}

 この微妙な差(赤字部分)を忘れておりました。
 どうやっても関数に渡ってるはずの値がちゃんと取れておりません。
 入れたものと違うモノが入っています。

 なんで?ナンデ?何で?





 なじぇ?



 なじぇでしゅか・・・・。









 悩むことしばらく。
 バージョンが違うのか?





 ユーザ関数の引数の仕様が変わったのか?





 なんでだ?





 ん?

 んん・・・?



 なにか違和感があるぞ?






 む。。

 むむっ。。。



 むむむっ。。。。






 じぃぃぃーーっと見つめる。


If ( 変数1 = 値 ){
    処理1
}







 じぃーーーーっとまだまだ見つめる。







If ( 変数1 = 値 ){
    処理1
}









 (*。◇。)ハッ!





 ・・・・・・・・・・・・・


 ・・・・・・・・・・・・・・・


 ・・・・・・・・・・・・・・・・・








 Σ(|||▽||| )ガーン・・・・し、しまったっ・・・・。
 やっちまったよぅ。
 代入してんじゃん・・・・自分。
 比較になってへんやん!





















 全部、PHPコードがASPコードに汚染されてました。
 うぐっ。ぐやぢい・・・・。この時間を返せ、バカヤロー!
 こういう基本的な部分でボケてることに気が付いた時、結構ショックです。
 この記事を、このカテゴリに入れることすら屈辱です・・・・。

 はぁはぁ、ぜぃぜぃ。。。
 これだけ、書けば、もう忘れまい・・・・。
[PR]
by harvestrain | 2004-09-27 18:19 |    *PHP
PHP5リリース
 話が持ち上がってから、けっこう長い間、正式にリリースされないまま、PHP開発サイドでいろいろと揉めたりすったもんだしていたようだが、PHP5がようやく正式リリース。
 噂どおり、かなりJavaライクになったらしい。というか、オブジェクトの概念が今まで以上にしっかりしたというべきなのか。
 まだ、ちゃんとさわっていないので、なんとも言えないのだが、どなたかすでに何かを作ってみた方がおられたら、些細な情報でも良いのでネタ求む。

 MLの情報だけじゃ、やっぱりなにか物足りないの。
 トラバでもコメントでもいいです。

 生まれ変わるPHP
 PHP 5.0.0 ChangeLog
 PHP 5におけるオブジェクトの比較
 Yahoo! PHP 5.0リリース -言語エンジンが一新
[PR]
by harvestrain | 2004-07-19 02:10 |    *PHP
[PHPバージョンアップ差異]setcookie()
PHP4.1.2 -> PHP4.3.4へバージョンアップ

setcookie()
bool setcookie ( string name [, string value [, int expire [, string path [, string domain [, int secure]]]]])

引数の3番目の「expire」(クッキーの有効期限)は、long型のみ有効。

誤:setcookie( "cookie_name", $value, "", "/" );
正:setcookie( "cookie_name", $value, 0, "/" );

「""」として空でセットしようとすると、string型として認識されるため、
Warning: setcookie() expects parameter 3 to be long, string given in
というエラーになる。

[PR]
by harvestrain | 2004-05-14 14:48 |    *PHP
自己完結型棚上げ駄文
Since 2004.5.11
検索
  猫、堕を貪る。
すっかり妻らしくなった
新妻Harvestrain
もとい若干古女房です。
いつのまにか、
年とともに、
打たれ弱くなったねこにんです。
モットーは、
気の向くまま。
風の吹くまま。
猫のまま。
頭は使うな、アホになる(ぇ

-------------------
twitter
日記
ブログ
技術メモ
-------------------
お問い合わせ・ご意見はこちら
メールを送る
-------------------
最新のトラックバック
裏バイト行ってきましたっ
from わたしのおナニー
バイト行って来たぞ
from わたしのおナニー
マジだ!どうしよう?
from 童 貞プレミアン
web 作成
from web 作成
★☆★今ビジネスは劇的変..
from 在宅ビジネス
人気ジャンル
ファン
記事ランキング
ブログジャンル
画像一覧
ヨコの会
◇◆◇◆◇
ブロガー互助連盟 ヨコの会本部
◇◆◇
加盟窓口はこちら
◇◆◇
第28独立小隊
吾輩は猫である?方面部隊
CELL725
-- サマーアイズ --
◇◆◇

共同戦線中。
◇◆◇◆◇
AX