Curl の追加インストール

WPtouch
というプラグインを入れることで
wordpress をスマホ対応にできます
ただし
WPtouch 必要なモジュールとして
curl が必要になります
練習としてソースからPHPをインストールしている
自宅サーバーがありますが
現在 curl がインストールしていないため、効果がありませんでした
yum ではなく、ソースからインストールしたときの
状態もテストしてみたいので
PHP用にcURLをインストール、設定する
を参考にインストール&設定してみます

php のソースの ?> がないことについて

PHPのリファレンスとか
サンプルソースで
?>
が書いていないソースコードのファイルがありますが
これはミスではありません
PHPの閉じタグの
?>

ここでPHPが終わってHTMLに切り替わることを意味します
なので、PHPのコードのみのファイルとか
関数を記述しているファイルの場合
?>
が存在しないことがあります
逆に
<?php

PHP開始を意味しますが
これをつけていないとHTMLと認識されてしまうため
PHPファイルの場合、こちらを省略することはできませんので注意が必要です

preg_replace()

preg_replace()
というものが、facebook アプリを勉強しているところにでてきたので
検索してみました
どうやら、置換する関数のようです
わかりやすい解説が
eregi_replaceも、preg_replaceを使うこと!
に載っていました
reg_replace(“/55/”, “46”, “体重55キロ”)
という例がのっていたので、とてもわかりやすかったです
この場合、55が46に置換されます
特徴的なのは
該当するところが変更されているということです
sed コマンドの置換のようなかんじになります

ハッシュについて

ハッシュとは PHP Perl などでいう
連想配列のことです
key-value の組み合わせのリストになっていて
key を指定することで
value の取得、設定が可能になります
ちなみに、セキュリティのほうにあるハッシュ値とはちがう意味でした
こちらは暗号化のほうです

ページング処理

ページング処理をつくると、次のページというような表現ができます
これを使うと、主にランキングとか、RPGのゲームのアイテムの表示とかに
使うことができます
これは、mysql の LIMIT を指定することで、ページ表現をすることができます
LIMIT に指定した数値が、1ページに表示される件数となります
$recordSet = mysql_query(‘SELECT m.name, i.* FROM
makers m, my_items i WHERE m.id=maker_id ORDER BY id DESC’);
これを
$recordSet = mysql_query(‘SELECT m.name, i.* FROM
makers m, my_items i WHERE m.id=maker_id ORDER BY id DESC 
  LIMIT 5‘);
これで、5件のみの表示となります
そして、HTMLの部分に、次のページへのリンクを作成します
<ul class=”pading”>

  • <a href=”<span style=”color:#FF0000″>index.php?page=2</span>”>次のページへ</a></li>
    </ul>
    ちなみに、ulタグですが
    ul で囲ったところが、箇条書きスペースとなり
    li のところがその箇条書きになります
    これで、次のページへというリンクができます
    ただし、これだけでは、クリックしても変化ありません
    なので、PHPで追記します
    $page = $_REQUEST[‘page’];
    $start = ($page – 1) * 5:
    を追記し、
    $recordSet = mysql_query(‘SELECT m.name, i.* FROM makers m, my_items i WHERE m.id=i.maker_id ORDER BY id DESC LIMIT 5’);

    ORDER BY id DESC LIMIT 5

    ORDER BY id DESC LIMIT ‘ . $start .’,5
    とします
    これで、範囲を $start から5つ という指示になります
    ただし、page パラメータが指定されていないとエラーになってしまうため
    if($page ==”){
    $page = 1;
    }
    というようにして、もし空なら
    つまり
    $page ==”
    なら
    $page に1を代入するような処理を書いておきます

  • PHP 参考書関連のリンク

    PHP関連の勉強をしています
    目指すべくは、Facebook アプリでゲーム作成です
    とりあえず、必要なのが
    PHP + MySQL の連携
    Web アプリの作成
    jQuery と Java Script
    Ajax といったところです
    ネットで探すのも考えましたが
    残念なことに、基礎レベルから学んでいきたいので
    体系的に学ぶなら、書籍のほうがいいかなということで
    探したら、でてきました
    書籍を選ぶのを失敗すると、いきなり挫折するので
    PHPオススメ学習書
    を参考にAmazon で購入してみます
    マーケットプレイスを使えば、ある程度は出費を抑えられるので
    活用すれば、なんとかなるかも

    curl_setopt() について調べました

    基礎から学ぶ facebookアプリ開発
    を参考に facebook アプリを作成してみます

    今回、Facebook アプリを作成する項目の中に
    Amazon の API を使ったサンプルがありました
    そして、その中で
    curl_setopt() があったので、これの意味を調べるため
    リファレンス本である
    PHP逆引き大全 516の極意

    こちらを探したのですが
    関数が見当たらないため検索
    今回の参考サイトは
    curl_setopt: cURL 転送用オプションを設定する
    こちらの内容によりますと
    bool curl_setopt ( resource $ch , int $option , mixed $value )
    指定した cURL セッションハンドルのオプションを設定
    というもののようです
    この中で
    サンプルに使用されていたオプションを
    メモしてみました
    CURLOPT_URL
    取得するURL
    CURLOPT_BINARYTRANSFER
    TRUE を設定すると、
    CURLOPT_RETURNTRANSFER が使用された場合に
    出力結果を何も加工せずに返す
    CURLOPT_HTTP_VERSION
    CURL_HTTP_VERSION_NONE
    (デフォルト。 使用するバージョンを決めるのは cURL にまかせる)、
    CURL_HTTP_VERSION_1_0 (HTTP/1.0 を使用する)、
    あるいは CURL_HTTP_VERSION_1_1 (HTTP/1.1 を使用する)
    のいずれか

    PHPでのプロパティ定義

    PHPのコードで 
    protected $baseurl;
    というような記述があったので、
    この機会に復習をこめて解説を書いてみました
    この protected はアクセス修飾子
    でこれは
    クラスにプロパティを定義するのに使います
    プロパティの定義方法は
    class クラス名 {
    アクセス権 $変数名 = 初期値;
    }
    今回の protected はアクセス修飾子で
    同一クラス内および、派生クラスから参照可能にするものです
    これを
    public にすると。すべてのコードから参照できるようになります
    private だと。同一クラス内からのみ参照可能になります
    var もあるのですが
    こちらは public と同様の意味でしたが
    PHP 5.1.3 以降は非推奨なので、おすすめしません
    ちなみに、指定しなかった場合、public として扱われます
    protected を使うのは、アクセスキーなどを取り扱うものなどに使われています

    PHPファイルの属性を調べる

    PHP のメモです
    ファイル属性判別には
    ファイル判別関数を使います
    --------------------------------------------------—
    ファイル判別関数の使い方
    論理値 =is_dir(パス)
    ディレクトリかどうか判別
    論理値=is_file(パス)
    ファイルかどうか判別
    論理値=is_link(パス)
    シンボリックリンクかづか判別
    論理値=is_readable(パス)
    読み込み可能か判別
    論理値=is_writable(パス)
    書き込み可能か判別
    論理値=is_executable(パス)
    実行可能か判別
    論理値=is_uploaded_file()
    HTTPのPOST()でアップロード可能か判別
    ----------------------------------------------
    ファイル判別関数です疎くするファイル情報は
    PHP内部キャッシュされるので
    最新のファイル情報を取得するには
    clearstatcache() を使ってキャッシュを削除する必要があります