2010/06/16

CakePHPでSmartyを使う設定にてハマった。際のメモ

 CakePHPにはSmartyViewというものが公開されていて、
ビューをthtmlでもctpでもなく、うまいことSmartyが使えるようになる。

そんな感じで設定をしていたら

function call 'assign_by_ref' is unknown or deprecated.

なんだこれ( ゚Д゚)y─┛~~

と思いつつググったら出た出た。
http://www.smarty.net/forums/viewtopic.php?p=64427

It's now assignByRef.

要するに現在のバージョンは、assign_by_refという名前ではなく、
assignByRefですよってことらしい。

どうやらSmarty3.0で変わったらしい。
なので、Smarty2.6.25以前を使えばこの件に関しては解決できます!

2010/06/13

WordPress MUのインストールメモ

WordPressをインストールしたときはサクッとできたが、
WordPress MUインストール方法にはクセがあるためメモ。

以下、Windows XP、XAMPP環境でのインストール方法です。

1.WordPress Muをダウンロード&解凍
解凍したフォルダをwordpress-muにリネームする。

2.htdocs配下にWordPress-muを置いて、アクセス!
http://localhost/wordpress-mu でアクセスする。


Warning!
Installing to http://localhost/ is not supported. Please use http://localhost.localdomain/ instead.


なんじゃ、こりゃΣ(・ω・ノ)ノ!!
ググってみたら特殊な設定が必要らしい。
 C:\Windows\System32\drivers\etc\hosts
上記のファイルに一行追加。
▼変更前
127.0.0.1       localhost
::1                localhost

▼変更後
127.0.0.1       localhost
::1                localhost
127.0.0.1       localhost.localdomain

こんなんでホントにいけるんかい…
と思ったが、やはりこれだけではダメ。
URLを
http://localhost.localdomain/wordpress-mu/
でアクセスしましょう。
※ 通常版のWordPressではwp-config-sample.phpをリネームして
編集する必要がありますが、WordPress-MUではノンタッチです。
どうやら画面から入力したDB名などが自動的で
wp-config-sample.phpに反映されて、wp-config.phpにリネームされます。


3.必要事項を入力する





































そして、submitボタンを押下すると、完了画面に遷移します。

























うまくいくと以下のようにwp-config.phpができあがります。
















4.完了

























うまくいくと、上の画面に遷移します。
赤枠で囲ってある部分に管理者画面への
ログインIDとパスワードが記載されてますので、メモしてください。
※テーブル上にはMD5はなにかでパスワードが暗号化されているので
あとで確認するのは困難です!必ずメモを!!

6.ブログを見る
以下のURLにアクセスすると、あたなのブログが見れます!
http://localhost.localdomain/wordpress-mu/

なかなかトリッキーでしたね。

2010/06/06

PHPの開発環境を作る(2) IDE(PDT:PHP Development Tool)

PHPの開発環境を作るを作ります。
前回はPHPが動く環境ができたので、
今回はIDEを導入してみます。IDEってのは統合開発環境 のことで、
要はエディター(メモ帳のすごい版)と思えばよいです。

IDEにも種類がありますが、EclipseとEclipseのプラグインである 
PDT:PHP Development Toolを使います。

1.以下からEclipseをダウンロードする
尚、このEclipseにはPDTが含まれているため、
ダウンロードすれば、50%完了下も同然www

http://mergedoc.sourceforge.jp/
[Pleiades]をクリック→[Eclipse3.5 Galileo Pleiades All in One]をクリック。
すると以下の画面が表示されるため、赤い丸印のついているボタンをクリックします。

















すると画面が変わり、以下のようになればダウンロード中です☆
















2.ダウンロード完了後に解凍し、eclipse.exeを実行する
以下のような画面が表示されるはず。workspaceがなんちゃらとか言われた場合、
とりあえずOKを押して進んでください。















次回は、コードの補完機能などにも触れていきます。

2010/06/02

PHPでバッチを作る、の巻

ソフトウェア開発に携わっていると、割とバッチを使うシステムが多い。
バッチを作るのはJavaPro*Cがメジャーな気がするけど、
中にはPHPを採用する開発もあるのですねー。
今回は、Cシェル(csh)とPHPでバッチを作るぞー。

以下、スケルトン。

▼Cシェル(csh)
 #!/bin/csh -f

# 共通環境変数
setenv HOME_SH `dirname $0`
source ${SH_HOMEH}/.envcshrc

# ここでPHP実行する
${PHP_CMD} ${EXEC_HOME}/hoge.php >>& ${LOG_FILE}

# PHPの実行結果をcronやSystemWalkerに渡す
exit $status


▼PHPバッチ

 <?
    // 必要なモジュールを読み込む
    require_once getenv("INC_PATH") . "/Log4PHPphp";

    // いつもどおり、PHPの処理を書く

    // Cシェルに終了コードを返す
    exit(0);


以上。割と簡単ですよネ。
PHPでexit()する際に、引数を渡してあげると、
環境変数$statusで参照できるのを知っていると便利です。


2010/05/26

CakePHPで自動レンダリングをオフにする

CakePHPはデフォルトで自動レンダリングがオンになってる。
なので、アクションが呼ばれると自動で「アクション名.ctp」が
呼ばれる。この機能がウザいときはオフにしましょ。

class CustomersController extends AppController {
// falseにすると自動レンダリングがOFFになる
var $autoRender = false;
}

2010/05/23

フォルダ内の画像数を数える

PHPで 特定のディレクトリやフォルダ内の画像数を数える方法。
なお、拡張子を変更すれば特定のファイルの数をカウントできる。

<?php
$targetDir = 'C:\xampp\htdocs\test';
$jpegFiles = glob($targetDir. DIRECTORY_SEPARATOR . "*.jpg");
echo count($jpegFile);

2010/05/22

CakePHPで半角英数字以外を削除する

半角英数字以外を削除したい場合は多い。
今回はCakePHPでの手法を紹介。

▼半角英数字と半角スペース以外を削除する(!!が消える)
$text = "CakePHP is PHP's Framework!!";
$text = Sanitaize::paranoid($text, array(" "));

▼処理後の$textの中身
CakePHP is PHP's Framework