それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

PHPを始めるときに暗記する10(+α)の項目

PHPチートシート

PHP初心者=プログラミング初心者とは限りません。プログラミング経験があり初めてPHPを触る人もPHP初心者です。しかしPHP入門書籍は【プログラミング未経験者】を念頭に書かれています。だから経験者のためのPHP本は無いわけです。なぜなら、PHPが経験者にとって分かりやすい言語だからでしょう。覚えやすいと言っても、覚えることはあります。たとえるなら英語で言うと基本文型でしょうか。暗記は必要です。

といっても、覚えることはほんの少しです。ですから単語帳に書いて電車の中で覚えるといいでしょう。経験者だけでなく、プログラミング初心者でも役に立つと思います。PHPの書式を図形として丸暗記しちゃう。これも上達の近道の1つだと思います。それでは、PHPで覚えるべき書式を列挙していきます。

PHPを書く

<?php echo "hello world" ;?>

PHPで変数を使う

<?php 
	$a ="beautiful"; 
?>

HTMLを書く

<div>today is <?php echo date('r'); ?></div>

PHPで条件分岐

<?php 
	if( $a >= 1 ){
		echo "$a greater equal than 1";
	}else{
		echo "$a less than 1";
	}
?>

PHPで配列

<?php
	$a = array(); //配列の定義
	$a[] = "a";
?>

PHPの変数の中身を見る。

<?php
    var_dump($a);
?>

PHPのハッシュテーブル

<?php
	$a = array(); //配列
	$a["name"] = "a"; #PHPでは配列とハッシュテーブルを区別しない。
?>

PHPのループ

<?php
	while($a<100){
		echo $a++;
	}

PHPのループ その2

<?php
	for($a=0;$a<100;$a++){
		echo $a;
	}

PHPのループ その3

<?php
	foreach(range(0,99) as $i ){
		echo $i;
	}

PHPの関数(メソッド)

<?php 
function my_function($a){ 
	echo $a;
}
my_function("this is a test.");

PHPの無名関数と配列操作

<?php
#3乗数を求める
array_map( function($a){return $a*$a*$a; },range(1,5));
# => [1,8,9,16,25]

PHPのコメント

<?php
/**
* javadoc 風。古き良きC言語
*/
// Cのラインコメント
#
#  bash/Perl スタイル。
#

PHPのクラス

<?php
 $d = new DateTime();
 $d->format(DateTime::W3C);

PHPのクラス定義(手抜きスタイル

<?php
class MyClass{
	var $a;
	function MyClass($arg){
		$this->a = $arg;
	}
}
$sample = new MyClass("aaaaaa");
##PHP4スタイル。
##上記は現在では非推奨。
##でもササッとひな形書くには便利。

PHPのクラス定義(推奨される形式

<?php
class MyClass{
	protected $a;
	function __construct($arg){
		$this->a = $arg;
	}
}
$sample = new MyClass("aaaaaa");
var_dump($sample);
## PHP5.3以降ではこのスタイルが必須
## ClassはJAVAスタイルなので見た感じで行けます。

ファイルを開く

<?php
fp = fopen("file.txt", "r");  # read only
fp = fopen("file.txt", "w");  # write new 
fp = fopen("file.txt", "w+"); # write append 

ファイルを開く 2

<?php
$content = file_get_contents("file.txt");#read slurp モード
file_put_contents($content, "file.txt"); #write all

PHP documenation の歩き方

#配列を操作する関数のマニュアル。
http://jp.php.net/manual/ja/book.array.php
#日付関数のマニュアル
http://jp.php.net/manual/ja/function.date.php
# 詳しくは検索する。
http://jp.php.net/manual/

Javaとの違い

Javaは、全てがObjectを継承している。
PHPはHTML組み込み用途に特化しているので、殆どが関数。

PHPC言語スタイル

ファイルやIOの取扱はC言語スタイル。
多くはC言語の関数をそのまま呼び出す。

PHPの書き方で迷ったら

マニュアルに書いてあるのです。
http://jp.php.net/manual/ja/langref.php

WEB処理に特化した変数

<?php
phpinfo();# 設定済み変数がWEB処理に特化している。
# Apacheから受け取るHTTP環境変数。
# http://jp.php.net/manual/ja/reserved.variables.php

出来る限り、バリエーションを確保しました。ほかにもあればコメント欲しいです。間違い指摘も欲しいです。研究室で挫折者出したくない・・・