新しいフォルダー

気になったことや勉強したことについて書いていきます

PHP

PHPUNIT Exceptionのテストをする場合の注意点

PHP

テストかいてて混乱したので備忘録として残しておく。 まず、PHPUNITではassert~の判定でfalseになった場合Exceptionを吐いている。 そのため、try{ 処理 } catch {Exception $e} だけだと判定によるExceptionなのか、実際にthrowされたExceptionなのか区別…

データをシリアライズしてDBに一時保存する

前回(CakePHPでCSVをアップロードしてDB更新 - 新しいフォルダー) の続き。 CSVをアップロードするときに変更点を確認する画面を作る。 画面遷移としては CSVを選択・アップロード → 確認画面 → 完了画面 となる。 その場合に、最初にアップロードされたCS…

PHP 正規表現(int/float/datetime)

PHP

バリデートメソッドを作ったのでメモって置く。 間違ってたらサーセン テスト用の配列 $testInput = array( //int array('integer' => '123'), array('integer' => 123), array('integer' => -10), array('integer' => '-10'), //ここまでOK array('integer'…

CakePHPでCSVをアップロードしてDB更新

エラーチェックはしてません。 Controller public function upload(){ //フォームでテーブル名を送りつける。 $tableName = $this->request->data['selectTable']; //対象テーブル読み込み $this->loadModel($tableName); //該当テーブルのカラム名と属性を…

CakePHPでテーブルデータをCSVとしてダウンロード

エラーチェック等は入れてません Controller //適当にフォームからDLするテーブル名を送る $selectTable = $this->request->data['selectTable']; //モデルをロード $this->loadModel($selectTable); //テーブルのカラム名を取得 $tableType = $this->$selec…

Laravelをちょっとだけ触ってみた感想

PHP

自分のメモ用として書き残す。 主にここ(はじめての Laravel 5.1 | ララ帳 | ページ 4)を参照している。 非常にわかりやすい。 Laravelのバージョンは5 【.envがみつかんねー!】 私はcentosのサーバーを立ててmountしてNetBeansを使用しているのだが .en…

PHPの socket_create_listen と socket_create 関数について

PHP

現在PHPのソケットについて勉強中。 調べていてわかったことをメモっておく。間違っている可能性あり。 phpでソケット通信をする際の受け側で使用する場合は2パターンある。 1.socket_create_listenを使用する 2.socket_create, socket_bind, socket_li…

php yamlの読み込み方

PHP

sudo yum install libyamlsudo yum install libyaml-devel sudo pecl install YAML これでいけた。 事前に他のモジュールいれてたかもしれないけど、一応メモ程度に。

cakephp componentでmodelにアクセス

PHP

メモメモ [CakePHP 2.x] ComponentからModelを読んでDBにアクセスする(Readのみ) - Qiitaqiita.com

php その日の0時と23時59分59秒を取得

PHP

$s = date("Y-m-d 00:00:00", strtotime($s_date))); $e = date("Y-m-d 23:59:59", strtotime($e_date))); 日付Aから日付Bの間に存在する日にちの0時と23時59分59秒を取得 $s = strtotime(date("Y-m-d 00:00:00", strtotime($s_date))); $e = strtoti…

php foreachで&を使う場合の注意点

PHP

foreach文で配列要素の値を変更する - 繰り返し処理 - PHP入門 上記のリンクに全部載ってますが、かならずUNSETしましょう $pricelist = array(80, 100, 120); foreach ($pricelist as &$value){ $value *= 1.05; } unset($value);今回は要素の値に対する参…

cakephp 複数レコードをformでPOSTする場合

PHP

例えば DBから名前の一覧を取得/表示し、任意で変更させる処理があるとする。 変更は名前一つずつではなく全員分の変更点をまとめて更新したい。 ************************************** $this->Form->input('名前', array( 'default' => '名無し', 'name'…

cakePHP BAKE使用時のdeleteメソッド その2

PHP

DELETEメソッドにはPOST送信しか受け付けない機能がある $this->request->allowMethod('post', 'delete'); × $this->Html->link(__('削除'), array('action' => 'delete'〜 ○ $this->Form->postLink(__('削除'), array('action' => 'delete'〜 通常のリンク…

cakePHP BAKE使用時のdeleteメソッド その1

PHP

BAKEで生成されたコントローラーを使ってdeleteメソッドを呼ぶと コントローラー内でMODELにセットされたID(PKEY)をDELETE完了後に消してしまうので IDを取得しておきたい場合はDELETEメソッドが走る前に変数に退避する必要がある。 ************** XXXXCont…

cakePHP saveAll

PHP

saveAllメソッドについて 同じアイテムをたくさんINSERTするときにちょっとはまったのでメモっておく $add_item_data = array(); for($i = 0 ; $i < $max; $i++){ $add_item_data['テーブル名'][] = array( "key1" => $value1, "key2" => $value2, )); } $th…

cakePHP メモ

PHP

・bakeで出力したソースだとDBを更新する際にID(PKEY)が必須(クソ) ・$this->paginateはfind('all')と同じ役割をしてくれるので、わざわざ'all'はつける必要はない(しらんがな) ○Paginator ・条件を設定する場合 $this->Paginator->settings = array(…

定数の動的出力

PHP

constant()関数を使う define('hogehoge', mogemoge); $value = 'hogehoge'; echo constant($value); これでmogemogeと出力される

PHPのエラー出力

PHP

PHPでコードを書いたときにエラーで真っ白画面を回避する方法 ○ページに記述する場合 error_reporting(E_ALL | E_STRICT); ini_set('display_errors', 'On'); ○php.iniに記述する場合 error_reporting = E_ALL & E_STRICT display_errors = On ※サーバーにロ…