php で、バッククォートとシングルクォート、ダブルクォートとの違いを知りたくなり、検索してみたのだが、なんと、この3つを比較し紹介しているサイトが一件も存在しなかったので驚いたので、下に紹介しておく。

・シングルクォート…文字列内の変数は展開しない。内部にあるダブルクォートはそのまま表示できる。内部にシングルクォート自身を表示する必要がある場合は '\' を前につける必要がある。

(例)

$foo="bar";

echo ’nakami=$foo’;

とすると、"nakami=$foo"と表示される。

・ダブルクォート…文字列内の変数を展開する。内部にあるシングルクォートはそのまま表示できる。内部にダブルクォート自身を表示する必要がある場合は '\' を前につける必要がある。

(例)

$foo="bar";

echo "nakami=$foo";

とすると、"nakami=bar"と表示される。

・バッククォート…文字列内の変数を展開し、バッククォートで囲まれた文字列をシェルコマンドとして実行し、結果の出力をすべて返す。

(例)

function foo()

{

$addr="xxx.xxx.xxx.xxx";

$ret=`nslookup -timeout=1 -retry=1 $addr`;

if (preg_match('/name = (.*).\n/', $ret, $out)){

return $out[1];

} else{

return $addr;

}

}

とすると、この例では nslookup -timeout=1 -retry=1 xxx.xxx.xxx.xxx の結果の出力が $ret に文字列として返される。結果に name = に続く部分のある行があった場合、その部分を表示し、なければアドレスをそのまま返している。

どのサイトも、ダブルクォートとシングルクォートの違いしか記載されておらず、バッククォートの比較がすっぽり抜けていることに大変驚かされた。それは不十分な解説というものだろう。

この記事のリンク元 | 15 | 11 | 3 | 1 |

この記事のリンク用URL&トラックバックURL : https://red-souls.jp/ichounoki/rnote/software/20190801_153323728309.htm


rnotepad.php を修正 2019-07-29 (月) 21:00:05+09:00

メモ

rnotepad をさらに修正しプラグイン化して、 Administrator Tool の管理画面に組み込んだ。

これで、いつでも画面上部に再構築やサイト表示のボタンがあるので、投稿作業中にページをいったりきたりしなくても再構築したりサイトを表示して確認したりできるようになった。

というか、 rnotepad は管理者の投稿用エディタなので、本来、管理画面に組み込まれているべきものだと思う。

プラグイン化するにあたって、プラグインは所定のメンバ関数を備えたクラスとして記述しないといけないので、フォームの操作を実現するのがちょっと面倒だったが、既存のプラグインを参考にしながらなんとか作り上げることができた。

キーワード: rNote rnotepad.php


rnotepad.php を修正 2019-07-28 (日) 23:25:06+09:00

メモ

これまで、カテゴリの情報は rnotepad.php 内に決め打ちで書き込んであったが、面倒なので XML-RPC API 経由でカテゴリ情報を取得して使用するように修正した。

また、記事にキーワードを設定して投稿したり、既存の記事を読み込んだときに設定済みのキーワードを取り込んで表示したりすることができるようにした。

キーワード: rNote rnotepad.php


Open Live Writer での追記の仕方 2019-07-28 (日) 01:05:22+09:00

メモ

以前、「 Open Live Writer には追記の機能が無い」という意味のことを書いたが、実はそうではなく、追記を実現することはできる。

方法としては、追記にしたい部分の先頭に
<!--more-->
を埋め込んでおいて記事を投稿する。

こうすることで、 XML-RPC API を用いた記事の投稿処理の中で、<!--more-->以降の部分が追記となるように投稿してくれる。

・・・はずだ。はずである。

キーワード: Open Live Writer XML-RPC 追記


ubuntu の apache2 には httpd.conf は無い 2019-07-27 (土) 22:18:37+09:00

メモ

apache の設定方法を検索するとまず出てくるのが httpd.conf への設定だ。

置かれている場所としては、普通は /etc/httpd/conf/, /etc/apache2/, /usr/local/apache2/conf/ のいずれか。

だが、 ubuntu の apache2 には、なんと httpd.conf は存在しないのだ。

/etc/apache2/ の中にある apache2.conf が、実は httpd.conf に相当する。

なぜ、勝手に名前を改変したのだろう?