Sun, 20 May 2012 06:02:00 +0900
PHP フレームワーク Ethna メール送信できない
PHPフレームワークEthnaを使ってメール送信のところで質問です。
http://www.ethna.jp/ethna-document-dev_guide-app-mail.html#b0fda188
/home/ethna/project/sample/app/action/Mail.php
という名前で作成しました。
ーーーーーーーーーーーー
<?php
…
class Sample_MailSender extends Ethna_MailSender
{
function prepare()
{
return null;
}
function perform()
{
$ethna_mail =& new Ethna_MailSender($this->backend);
$ethna_mail->send('xxxxxxx@yahoo.co.jp',
'welcome.tpl',
array('username' => $regist_user));
return 'mail';
}
--------------
send_to_mail@example.comの部分を自分のアドレスに変えてやってみたのですが
送れないのです。
ブラウザには以下を入力しました。
http://localhost/sample/?action_mail=true
すると以下の表示がでます。
-------------
Sample[4240](WARNING): Ethna_Renderer_Smarty.perform(class/Ethna_MailSender.php:121): template not found mail/welcome.tpl [ERROR CODE(1)]
Sample
From: webmaster@example.com Subject: 入会に成功しました。 ようこそさん。うんたらかんたらほげほげ。
-----------
テンプレートがなくてもメールは送れますよね?
それとも何か致命的なミスでしょうか?
ちょっとした事でもいいのでアドバイス頂ければうれしいです。
Sat, 19 May 2012 16:14:48 +0900
array_mergeの再帰処理の動作について
いつも大変お世話になっております。
この度も何卒よろしくお願い致します。
早速ですが、以下クイックソートですが、
最後の
return array_merge(quicksort($left), array($pivot), quicksort($right));
のところで、
因数に実行している関数がしていされていますが、
その時の挙動がいまいち理解できません。
array_margeは、左側の配列と右側の配列を比較し
update or insertのような挙動をするのはおおまか理解していますが、
自身を再帰的にというところがよくわかりません。
どのような解法になっているか
フローを教えていただけませんでしょうか.
お手数をおかけして申し訳ございませんが
よろしくお願い致します。
<?php
function quicksort($array) {
if (count($array) <= 1) {
echo "ret"; print_r($array);
return $array;
}
$pivot = array_shift($array); // ピボットの選択
$left = $right = array();
foreach ($array as $value) {
if ($value < $pivot) {
$left[] = $value; // ピボットより小さい数は左
} else {
$right[] = $value; // ピボットより大きい数は右
}
}
//echo count($array) . "\n";
echo "l";print_r($left); echo "\n";
echo "r";print_r($right); echo "\n";
// 左右のデータを再帰的にソートする
return array_merge(quicksort($left), array($pivot), quicksort($right));}
$array = array(
6, 4, 3, 7, 1, 5, 2, 9, 8,
);
$array = quicksort($array);
var_dump($array);
|