- PHPオーバーロード
- php 変数の前につける&について
- PHP内でのダイアログの出し方
- http://www.netmania.jp/technique/hp/hp001.php
- MDB2
- 文字列表現の日付をタイムスタンプに変換す
テスト [#d7efde8a]
インストール
- centos CentOS6 64bitに最新php(5.3.13)をyumでインストール
- 上記リンクのコマンドではなぜかPHPをインストールしていない。PHPをインストールしないと痛い目にあう 参考サイト
yum --enablerepo=remi install php
- 上記リンクのコマンドではなぜかPHPをインストールしていない。PHPをインストールしないと痛い目にあう 参考サイト
- PHPをApacheに認識させる設定を追記 ※cgiの設定は実施しない
AddType application/x-httpd-php .php .inc AddType application/x-httpd-php-source .phps
libphp5がなくて気づいたLoadModule php5_module libexec/libphp5.so
Coding rules
Tech : 技術的知識
- phpの継承で子クラスは親コンストラクタをどこまで遡るか
- PHPで配列の中に値があるか調べる関数まとめ
- PHPのxmlファイルの読み込み
- echoとprintの違い
- echo は引数を複数とれる。が、関数のように使用はできない
- PHPを使って共通部分を表示する
- json形式でデータを返すには
- PHPでの文字列比較するときは?
- ログの出力先設定は?
framework
Syntax:構文
- true false判定について
- trueの場合数値判定は 1
function isEmpty() { return true; } echo "isEmpty:".isEmpty(); => isEmpty: 1
- trueの場合数値判定は 1
- falseの場合数値判定は null
function isEmpty() { return false; } echo "isEmpty:".isEmpty(); => isEmpty:
- シングルとダブルクォーテーションの使い分け
- ' と " は基本どちらでも自由。シングルは英字文章に入ってくるので出力したい場合は \'で表す
print('I'm dying'); → print('I\'m dying'); = print("I'm dying");
- ' と " は基本どちらでも自由。シングルは英字文章に入ってくるので出力したい場合は \'で表す
- 関数オーバーロードするには
- phpでは、オーバロードの概念はない
。名前が同じだが別の関数となるため、同じ名前だとエラーになるclass A { function methodA($x) {} function methodA($x, $y ) {} }
- phpでは、オーバロードの概念はない
- 関数のprotected 継承するには
- public で上書き
class A { protected functionB() {} }
- public で上書き
classB extends A {
public functionB() {}
}
※ private はoverride できない
- bool判定
- if判定で変数のみでデータ格納されているか判定できる
$x = abcde; if($x) → true : 文字入ってる場合はtrue if(!$x) → false : 文字入ってなければfalse
- if判定で変数のみでデータ格納されているか判定できる
- GETで送るには → method指定
<form action="/hoge.php" method="get">
- GET受け取るには → $_REQUEST
$parameter = $_REQUEST["param_name"];
- GET受け取るには → $_REQUEST
- POSTで送るには → method指定
<form action="/hoge.php" method="post">
- POST受け取るには → $_POST
$parameter = $_POST["param_name"];
- POST受け取るには → $_POST
- セッション開始には
session_start();
まいど関数使用が嫌なら、 php.ini ファイルの以下を設定:Initialize session on request startup session.auto_start = 1
- upload 機能を作るには?
- Form :form へのenctypeの設定
- inputタグの type="file"の作成
<form action="uploadFile.php" method="post" enctype="multipart/form-data"> <dl> <dt>ファイル:</dt><dd><input type ="file" name="upfile" /> </dd> </dl> <input type="submit" value="upload" > </form>
- Server : $_FILESで受け取る。受け取った$file は連想配列
$file = $_FILES["name属性"];
- tmp_name を使用する。デフォで入ってる
move_uploaded_file($file["tmp_name"], $filePath);
- クラスを継承するには
class child_A extends A { }
- subumitを使用しない画面遷移をするには
- 1. form のaction は "":自分のページを指定
<form action="" method="post">
- 2. 関数内にheader 用意。 遷移先を指定
header("Location: "遷移ページ"); → header("Location: "check.php");
- 1. form のaction は "":自分のページを指定
- 連想配列使うには?
- array と変わらない
$fruits = array( "key" => "value", "1" => "apple", "2" => "orrange" );
- array と変わらない
- 連想配列へ追加するには
- array["key=valueを使う
$fruits = array("apple" => "りんご"); $fruits["orrange"] = "みかん";
- array["key=valueを使う
- static を使うには
- method and property only!
class A { static $propertyX ; function methodX() {} }
- method and property only!
DB
- mysql
Error集: PHPであったトラブル一覧
- <?xml version="1.0" encording="utf-8" ?>のsyntax error
- PHP は<?php ?> も <? ... ?>もscript とみなす。そのためechoを使う
<?php echo '<?xml version="1.0" encording="utf-8" ?>' ?>
- PHP は<?php ?> も <? ... ?>もscript とみなす。そのためechoを使う
- クラスがrequireできない
- require でのパス指定の問題
呼び出したクラス内でもrequireを使用していると、パスが正しくない場合は返答がなくなる
対処方法:1.[http://dev.ontheroad.jp/archives/6893 dirname(__FILE__)でパス指定を解決] 2.プログラムないでパス関数を設定
1で対応。大文字・小文字を間違えてると読み込まないので注意require_once (dirname(__FILE__).'/../DataBase/QueryPresenter.php');
- require でのパス指定の問題