ブログ

  • 【書評】PHP逆引きレシピ

    PHP 逆引きレシピの書評

    良い点

    • 基本事項を網羅している
    • 解説が簡潔でわかりやすい
    • セキュリティを詳しく解説
    • ロリポ、さくら、XREAの3サーバーに言及
    • WordPress、phpMyAdmin、MyNETSの解説あり
    • 実践的なサンプルコード多数
    • 本は厚いがコンパクト

    悪い点

    • あえて言えば、字が小さめ

    総評

    非常にコストパフォーマンスの良い本です。

    体裁は、リファレンス本のようになっていますが、初歩から中級レベルの教科書にも使えます。

    特にサンプルコードは実践的で、そのままコーディングに使えるものが多数あります。

    取り扱われているのは、基本はもちろん、pear、smarty、クラスとオブジェクト、PDFまで至ります。いわばノウハウの宝庫です。ちなみに、開発環境構築ではXAMPPを紹介しています。

    ページの内容は、項目の説明→サンプルコード→実行結果というように一貫しているのでわかりやすいです。

    PHPの本は、20冊以上読みましたが、この本はいつも手元に置いておきたい一冊です。

    PHP 逆引きレシピ

  • XREA/CORESERVERにPEARをインストールする覚書

    PHPの本を読んでいたら、PEARを使ってベンチマークを利用するスクリプトが載っていたので早速試してみました。

    使用するPEARパッケージは、「Benchmark」なのですが、コアサーバーには残念ながらインストールされていないので、自分でサーバーにインストールすることになります。

    PEARをインストールする方法はいくつかあるのですが、ここでは、SSHログインしてPEARコマンドを実行する方法と取りました。

    ちなみにSSHログインするには、TeraTermというフリーソフトを使用するのがお勧めです。(SSHおよびTeraTermの説明は省略します)

    まず、SSHログインするために管理画面の『ホスト情報登録』から『SSH登録』をクリックします。すると、5~10分ほど待つようにいわれるので指示に従います。

    そして、TeraTermにホストとパスワードを入力してログインできたら、下のコマンドを実行して設定ファイル(.pearrcファイル)を作成します。

    pear config-create /virtual/account/public_html .pearrc

    accountには自分のアカウント(ユーザー名)を入れてください。

    このコマンドを実行すると、ルートディレクトリに .pearrcファイルが作成されます。
    次に、PEARをインストールするために下のコマンドを実行します。

    pear install -o PEAR

    このコマンドを実行すると、5~10秒ほど待たされますが、あわてないこと。サーバーにPEARをインストールしているので少し待たされます。

    この時点で、public_htmlの直下にpearディレクトリが作成されます。中をのぞいてみるとPEARに必要なディレクトリやファイルが複数作成されています。

    ここから、今度は、個別にPEARパッケージをインストールすることになります。

    ここでは、『Benchmark』パッケージをインストールします。

    PEAR公式のベンチマークパッケージのページを見るとEasyInstallとして下のコマンドが紹介されていますので、実行します。

    pear install Benchmark-1.2.8

    実行すると5秒後くらいに、次の表示がされます。

    install ok: channel://pear.php.net/Benchmark-1.2.8

    インストールが上手くいったようです。確認してみましょう。

    先ほど作ったpearディレクトリの中にphpディレクトリがあるので、その中を見ます。

    するとBenchmarkディレクトリが作成されています。これでインストールは完了です。

    最後にもうひとつ作業があります。

    インストールしたPEARは、実行スクリプトから見てローカルファイルになります。そこで、どのスクリプトからもPEARが有効になるように、いわゆる『パス』を設定します。

    具体的には、PEARを利用するディレクトリに.htaccessファイルを作成して、そのファイルにパスの記述をします。

    .htaccess

    php_value include_path ".:/usr/local/lib/php:/virtual/account/public_html/pear/php"

    当該PEARを利用するのが、example.comならその直下にこの.htaccessファイルを設置します。もし、既に有るなら、追記します。

    このファイルを設定することで、利用するファイルから単純にインクルードするだけでPEARを利用できます。

    たとえば、今回利用するベンチマークファイルでは、

    require_once 'Benchmark/Timer.php';

    とベンチマークディレクトリの中のファイルを指定するだけで、PEARを利用できることになります。

    以上です。

    参考
    PEAR公式インストール方法

  • 【自作アプリ】全角・半角変換ツール

    PHPを学習していると、便利な組み込み関数を知ることができます。

    今回、そんな関数の中から文字列や文章を変換する関数を利用して、全角・半角変換ツールを作ってみました。

    以前、携帯用サイトを作成した際に、PCサイトの文章を全角カタカナから半角カタカナに変換するのに手間取ったので、そんな時に役に立てばと思います。

    全角半角変換ツール
    http://webmaster.chielog.com/appli/change.php

    利用の仕方

    1. テキストボックスに文章を貼り付け
    2. ラジオボタンを選択
    3. 変換ボタンを押す

    テキストボックスに変換後の文章が表示されるので、コピーしてご利用ください。

  • 【PHP】改行関数nl2brの覚書

    PHP公式マニュアルによると、

    nl2br  改行文字の前に HTML の改行タグを挿入する

    とあります。http://jp2.php.net/manual/ja/function.nl2br.php

    このnl2br関数ですが、デフォルトでは、xhtml準拠の<br />タグを挿入してきます。

    しかし、htmlに準拠しているページでは、<br>タグを使いたいはずです。

    その場合には、nl2br($value , false) と第二引数にfalseを指定してやると<br>を挿入することができます。

    ただし、PHP5.3以上のバージョン限定です。

    CORESERVERで試したところ、残念ながらエラーになりました。PHPのバージョンを調べると5.2.5でした。

    どうするべきか調べると、正規表現で改行<br>を挿入するというのが現実的だそうです。

    http://q.hatena.ne.jp/1253302152

    $text = preg_replace( '/\n|\r|(\r\n)/', "<br>", $text );

    これでOKです。

    ところが、CORESERVERでは、一つの改行のはずが、<br><br>と2個の改行が入ってしまう場合があります。

    この場合は、パターンマッチ部分の\nを\n\nと2つにしてあげると一つの<br>が挿入されます。

    まあ、そこまで<br>と<br />にこだわらないなら、はじめのnl2br関数のままでよいかもしれません。

    蛇足ですが、nl2br関数は、newline to br の略みたいですね。

    newline 2 br →nl2br ということのようです。

  • MySQLのint(11)とvarchar(255)の意味

    MySQLのテーブル設計では、int(11)やvarchar(255)という設定がよく出てきます。

    このint(11)およびvarchar(255)の11や255が何を指しているのか疑問に思い、今更ながら調べてみました。

    結論

    int(11)の11は、カラムの表示幅であり、データベースの運用上はあまり意味がない。intのバイト数は、11を10や8に変更しても4バイトであり、結局、2147483647まで格納が可能。

    varchar(255)の255は文字数であり(バイト数でない)、UTF-8(3バイト文字)でも、255文字の格納が可能。

    結論としては、デフォルトで、int(11)、varchar(255)にして運用すれば特に問題ないらしい。(n)の数字を減らしてもあまり意味が無いみたいです。

    参考

    http://q.hatena.ne.jp/1190634325