[PHP] 入門・再入門者向けブックマークと書籍

このブログにある一番古いPHP絡みの記事は2007年なので、5年経ってるんですけど、
2011年以降はPHPほとんど使ってなくてすっかり忘れてしまいました。
ZeroMailの更新どころか自作すら危うい有様で、いままさに再入門しているところです。

コメントでとてもタイムリーな質問を頂いたので

はじめまして。私はプログラミングもPHPも、初心者です。

「やさしいPHP」という本を読み終わったのですが、そのあとにどのような書籍を読めばいいのか迷っています。

Tenderfeelさんのように自分で認証コードや掲示板を書けるようになりたいのですが、何かアドバイスを頂けない

でしょうか?

この記事で今よく見ているブックマークとかを晒してみます。

続きを読む

[ZF] Zend_Form 要素に対するデコレータの設定についての色々

最近Zend Frameworkを使い始めたんですがね、
Form要素を作る時、日本人的にはテーブルの方がしっくりくるじゃないですか?
バリデーションに続き海外製では良くあることですが、Zend_Formはデフォルトが定義リストなんです。
出力はラベルとフォーム要素のペアで、ラベルを指定しなかった場合はラベルのテキストが空白文字になります。
dtが空っぽだなんて気になるじゃないですか。私だけですか?
まあ兎に角自分好みにマークアップすべく、Zend_Formを調教してみることにしたわけです。

Default

これはクイックスタートで作るGuestBookのsignフォームです。
テキストボックスの角丸とか必須入力の赤文字とかはCSSの効果です。

zend_form_normal zend_form_normal-source

続きを読む

[PHP5] OOPで掲示板を作ってみる – Step8:ページング

オブジェクト指向プログラミングでフレームワークを使わずに掲示板を作るよその8。
ページングって面倒だよね。

目次

  • 序章
  • Step1 : MVCを揃える
  • Step2 : テンプレート作成
  • Step3 : 書き込み
  • Step4: ログの表示
  • Step5: 設定ファイルと細かな修正
  • Step6: 編集&削除画面
  • Step7: 編集&削除機能
  • Step8: ページング ← 今ここ

続きを読む

[PHP5] OOPで掲示板を作ってみる – Step7:編集&削除機能

オブジェクト指向プログラミングでフレームワークを使わずに掲示板を作るよその7。
画面が出来たから編集と削除が出来るようにしようそうしよう。

目次

  • 序章
  • Step1 : MVCを揃える
  • Step2 : テンプレート作成
  • Step3 : 書き込み
  • Step4: ログの表示
  • Step5: 設定ファイルと細かな修正
  • Step6: 編集&削除画面
  • Step7: 編集&削除機能 ← 今ここ
  • Step8: ページング

続きを読む

[PHP5] OOPで掲示板を作ってみる – Step6:編集&削除画面

オブジェクト指向プログラミングでフレームワークを使わずに掲示板をcreateその6。
編集と削除の機能を作る前に画面を作らねばならぬ!

目次

  • 序章
  • Step1 : MVCを揃える
  • Step2 : テンプレート作成
  • Step3 : 書き込み
  • Step4: ログの表示
  • Step5: 設定ファイルと細かな修正
  • Step6: 編集&削除画面 ← 今ここ
  • Step7: 編集&削除機能
  • Step8: ページング

続きを読む

[PHP5] OOPで掲示板を作ってみる – Step5:設定ファイルと細かな修正

オブジェクト指向プログラミングでフレームワークを使わずに掲示板作成その5。
設定ファイル作成・2重送信防止・メッセージ変更の3本で~す

目次

  • 序章
  • Step1 : MVCを揃える
  • Step2 : テンプレート作成
  • Step3 : 書き込み
  • Step4: ログの表示
  • Step5: 設定ファイルと細かな修正 ← 今ここ
  • Step6: 編集&削除画面
  • Step7: 編集&削除機能
  • Step8: ページング

続きを読む

[PHP5] OOPで掲示板を作ってみる – Step4: ログの表示

オブジェクト指向プログラミングでフレームワークを使わずに掲示板作成その4。
書き込んだ内容を表示して初めて掲示板となるのだ!フーハハー

目次

  • 序章
  • Step1 : MVCを揃える
  • Step2 : テンプレート作成
  • Step3 : 書き込み
  • Step4: ログの表示 ← 今ここ
  • Step5: 設定ファイルと細かな修正
  • Step6: 編集&削除画面
  • Step7: 編集&削除機能
  • Step8: ページング

このエントリーで掲示板の基本完成。

続きを読む

[PHP5] OOPで掲示板を作ってみる – Step3: 書き込み

オブジェクト指向プログラミングでフレームワークを使わずに掲示板を作るその3。
ログ手打ちするの面倒だから先に書き込み実装します。

目次

  • 序章
  • Step1 : MVCを揃える
  • Step2 : テンプレート作成
  • Step3 : 書き込み  ← 今ここ
  • Step4: ログの表示
  • Step5: 設定ファイルと細かな修正
  • Step6: 編集&削除画面
  • Step7: 編集&削除機能
  • Step8: ページング

続きを読む

[PHP5] OOPで掲示板を作ってみる – Step1~Step2

「PHP ○○ 作り方」みたいなキーワード検索するとべた書きの作り方がHitしまくる。
それなのにOOPなサンプルはあんまり見つからない。言語を英語にしても。
キーワードをMVCにすると結構ヒットするんだけど、殆どがフレームワークの使い方だったりして。

OOPの例としてよくあるのはオブジェクト指向プログラミングで書いたようなクラス単体のものだと思う。
でも実際何か作ろうとしたらクラスひとつで足りるわけがないし、クラス書いたすぐ真下で実行なんてしないじゃん?
ZendとかCakeとかPEARみたいなフレームワークを使って何かを作るにしても
クラスをどうアレすれば掲示板とかになるの?って疑問は解決しない。
フレームワーク使えばそりゃ掲示板の一つや二つさくっと出来ますよ?
出来るけどフレームワーク使うほどでもない時もあるし、OOPで組めって言われた時困るから本質が知りたい。
それで、探して見つからないなら形にして達人からのコメント待てばいいじゃない!って結論に至ったので
独学で得た情報を元にオブジェクト指向な掲示板を作ってみることにしました。

暇を持て余したOOP達人が見てくれることを期待しながら 😀

なお、この記事はある程度ベタ書き経験があり、オブジェクト指向プログラミングに書いてあることが一通り理解出来ている人じゃないと意味不明だと思います。

続きを読む

[CakePHP] PagenatorのURLをGETな感じに変更したい

CakePHPのPagenationの便利さに感動したのも束の間、URL見て我が目を疑う。

http://example.com/news/page:3/sort:id/direction:asc

なにこれ!(゚Д゚lll) なんでコロン!?
世のCake使いのみなさんはこのURL気持ち悪くないんだろうか?

普通にアンバサンドとイコールで繋げてあるやつがいいんだけど…

http://example.com/news/?page=3&sort=id&direction=asc

検索しても根本的な解決方法が見つからないまま朝日を拝む始末…(今6時)

試しに後者のURLを打ち込んでみたら同じ動作になったから、
アンバサンドとイコールのURLでもソートやページングは機能するらしかった。
なら変更も出来るのじゃないかと検索していたら、変更した場合の問題についてのレスが見つかる。

続きを読む

[php] Gettext + Poedit で多言語化

カナに切り替えるのが面倒で全部半角英数で作ったらいたく不評だった、なんて経験あるかもしれない。

翻訳前(en)

じゃせめてUIくらいは日本語にするか…と思ったなら、ローカライズしとけば一石二鳥じゃないか? 😀

wordpressのテンプレートファイルを翻訳する方法と似たような方法で普通のPHPウェブページやCGIも多言語化出来る。
gettextで検索するとコマンド-xgettextを使う方法が出てくるが、Windowsじゃ使えないし目も疲れるし
Poeditという素晴らしいソフトがあるのでコマンド使わずに出来る方法をメモっておくことにする。

続きを読む前にPoeditを公式サイトからダウンロードしてインストールしよう。
シンプルなアプリケーションだからそう難しくはないはず。

続きを読む

Windows版XAMPP + OpenPNE インストールメモ

OpenPNEがどういう感じか見てみろと言われたのでローカルにインストールしてみた。
コマンドは面倒くさいからインストーラーが欲しいと思った。

前提

XAMPPディレクトリ
D:\xampp

インストールディレクトリ
D:\xampp\htdocs\openpne

OSはWindowsXP

OpenPNEバージョン3.4.6.2

XAMPPのバージョンは1.6.8だった。PHPは5.2.6

続きを読む

[php] PHPでcsvとtar.gzファイルをダウンロードさせる

ZeroMailの管理画面から、ログと添付ファイルをダウンロード出来るようにした。
ログファイルはCSVで、添付ファイルはディレクトリごと一括してtar.gzです。

ダウンロードアラート

CSVはともかくtar.gzにてこずったのでメモっておくことにする。
※TarはPEARでなくコマンドでやっつけてます。

続きを読む

[php] ワンタイムURLの作成と登録確認のメール送信

ユーザー登録の確認で、入力されたメールアドレスに有効期限つきのURLが送信されて
そのリンクをクリックしてページを表示して初めて登録が完了するというのがある。
それについてGoogle先生に聞いても具体的に教えてもらえなかったので、想像だけで組んでみた。

send:

  1. ユーザーから送信された登録情報をチェック
  2. エラーがなければトークン作成
  3. トークンを名前にしたテキストファイルをトークンディレクトリに作成
  4. 作成されたトークンファイルに有効期限のタイムスタンプ保存
  5. トークンを追加したURLを本文に書いたメール送信
  6. 送信しましたメッセージ表示

access:

  1. メール送信したURLにアクセスがある
  2. GETでトークン取得
  3. トークンディレクトリから同名のファイルを検索
  4. ファイル作成日+期限と現在時刻の比較
  5. 期限内であればtrue ファイル削除
  6. 期限外であればfalse ファイル削除

フォルダをテーブルにしてファイルをレコードにすればデータベースでも…

続きを読む