PHP

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

2012/09/30 PHP 3 comments

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

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

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

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

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

でしょうか?

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

(さらに…)

[ZF] Zend_Form : Remove the submit-button value from url parameters

2010/11/26 Zend Framework No comments ,

Zend_Formでフォームエレメントを作る場合にはnameが必須なんだけど、
GET送信するとnameがあるばかりにボタンまでURLに含まれてしまうので
Redirectorによる回避策を試してみた。

検索のフォーム。methodをpostにする。

class Application_Form_Search extends Zend_Form
{
	functions init(){
	$this->setMethod('post')
		->clearDecorators()
		->addDecorator('FormElements')
		->addDecorator('HtmlTag',array('tag'=>'div', 'class' => 'zend_form'))
		->addDecorator('Form');
			
	$this->addElement('text', 'keyword', array(
		'label'      => 'Keyword',
		'required'   => true
	));
	
	$this->addElement('submit',
		'submit',
		array(
			'label'    => 'Search',
			'required' => false,
			'ignore'   => true
		)
	);
	}
}

検索する場所は仮にindexとして、index.phtmlには検索フォームを表示しておく。

getRequest()->isPost()で送信された値があり、バリーデーションもtrueなら
送信された値($params)からボタンを削除(unset)する。
アクションヘルパーのRedirectorに$paramsを渡してsearchActionにリダイレクトする。

public function indexAction()
{
	$this->view->searchForm = $this->_searchForm;
	
	$request = $this->getRequest();
	$params = $request->getPost();
	
	if($request->isPost() && $this->_searchForm->isValid($params)){
		unset($params['submit']);
		$this->_helper->Redirector->setGotoSimple('search', null, null, $params);
	}else{
		$this->view->data = $this->_mapper->fetchAll();
	}
}

※$this->_searchForm —> instance of Application_Form_Search
※$this->_mapper —> instance of DataMapper

searchActionに飛ばされた時、検索キーはZendライクなGETパラメーター(/key/value/のパターン)になっているので、
getRequest()->getParams()でキーワードとかを取り出して使う。

public function searchAction()
{
	$request = $this->getRequest();
	$params = $request->getParams();
	
	$this->view->data = $this->_mapper->search($params);
	$this->view->searchForm = $this->_searchForm->populate($params);
	
	$this->render('index');
	
}

[ZF] Zend_View HeadTitle method tips

2010/11/24 Zend Framework 2 comments

ページタイトルの設定をするビューヘルパーのHeadTitleについていろいろ。

基本

headTitleでページタイトルを設定。

controller:

$this->view->headTitle('Site Name');

Output:

<title>Site Name</title>

(さらに…)

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

2010/11/19 Zend Framework 3 comments

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

Default

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

zend_form_normal zend_form_normal-source

(さらに…)

[ZF] Zend_Validator 日本式電話番号バリデーター

2010/11/18 Zend Framework No comments ,

Zend Frameworkで日本式の電話番号のフォーマットチェックをするプラグイン。
欲しい感じのが無かったからこの記事参考にして作ってみた。半角全角チェック、ハイフンの有無について指定できます。

(さらに…)