NP_DaysLater|○日後の日付を表示
NP_DaysLater|○日後の日付を表示
- Author : pushman|Nucleus|2006-06-16 Fri 00:48
-
定期的なお知らせをしている場合、いちいち記事中に「次回の○○は○日です」などと記述するのが面倒なので、テンプレートに記述することで自動的に「○日後」を表示するプラグインを作成しました。通常のサイトだとあまり必要ないかもしれませんが、PodCasting とか定期的にイベントをしているサイトの場合はなかなか役立ちます。
ということでダウンロードと使用方法はこちらから。
NP_DaysLater|使用方法とダウンロードしかし「PHP の勉強がてら作成している」プラグインですが、まったくもって PHP のスキルは上がらず…配付しててなんなんですが、自分でも理解できないコードがあるんですね。例えばこの NP_DaysLater の場合だと、テンプレートを利用するためにこんなコードを書いています。
$template =& $manager->getTemplate($currentTemplateName);もう全然意味がわかりません。「=」の後になんで「&」がついてるんでしょうか。じゃ、なんで書いてるのかというと、NP_ChoppedDisc のコードに書いてあったからそのまま流用させていただいています。で、まったくわからないのも気持ちが悪いので、globalfunction.php をわからないなりに眺めていたのですが、余計に混乱。「formatDate」という関数があって、日時表示にはこれを利用している事はわかったんですが、フォーマットが指定されていないときの処理が理解不能。
return strftime($format ? $format : $defaultFormat,$timestamp);変数「$format」の間にある「?」はいったいなんですか? で、そのあとでてくる「:」も全然わからん。もっといえば、今回アイテムの投稿日時を取得するために「$idate = $item->itime;」なんて記述をしていますが、これもよくわからない。この記述を知るまでは、たしか「$idate = $data['item']['itime']」みたいな記述にしていたと思うんです。どっちがどういいのかとか全然わからない。
そしてこのプラグインの最後の日付出力部分は、もっとも理解できません。
echo formatdate($format, $idate, $template['FORMAT_DATE'], $blog);globalfunction.php を眺めていて、引数が 4 つ要ることはかろうじてわかったのですが、最後の「$blog」はいったいなんでしょう? このプラグインは僕が作った中でもっとも短いコードなのですが、もっとも動作を理解せず作ってしまいました。…PHP のコードを日本語に翻訳してくれるサービスがあったらいいんですけどねぇ。ま、まじめにこつこつコードを書いて理解していくしか無いんでしょうね。
コアや人様の作成したプラグインのコードを眺めてだましだましプラグインを作成してきましたが、このままじゃ頭打ちですね。なんというか、かっこいいコード、とでもいいますか、無駄な処理をしているのかどうかとかの判断が自分ではまったくできないんです。まあとにかく、動けばいい、といえばそうなんですが…やはり恰好良くなりたい気持ちを放棄してはいけないと斉藤和義さんも申しておられますし、もう少し PHP を理解したいここ最近です。
-
-
Tag(s): NP_DaysLater
- [Nucleus] Next & Previous

