【PHP】メモ

スポンサーリンク
スポンサーリンク
スポンサーリンク

独自メソッド

ハイフンなし郵便番号へハイフンを入れる

PHP
function zipFormat($zipNumber) {
    $result = '〒 '. preg_replace("/(\d{3})(\d{4})/", "$1-$2", $zipNumber);
    return $result;
}

電話番号を3,3,4でハイフン

PHP
function phoneFormat($phoneNumber) {
    $result = preg_replace("/(\d{3})(\d{3})(\d{4})/", "$1-$2-$3", $phoneNumber);
    return $result;
}

CodeIgniter

軽量で速度重視のフレームワーク

メソッドの命名規則は、、、

PHP
 function get_user_id()

全部「小文字」で長ければ、「アンダースコア」で命名
基本キャメルケースだったから、違和感が(;・∀・)

デバック簡単設定

configファイルで設定
project/application/config/config.php

PHP
$config['log_threshold'] = [1,2];

logsの権限設定
ターミナルでコマンド

sudo chmod 777 project/application/logs

Bash
sudo chmod 777 project/application/logs

デフォルトのログファイルは、こちら「project/application/logs/」(^_-)-☆

デバックコード

変数・配列・実行クエリ

PHP
// 変数のデバック
log_message('debug', $user_id);
// 行番号追加
log_message('debug', 'line: '.__LINE__.' '.$user_id);
// 配列のデバック
log_message('debug', print_r($user_ids, true));
// 最終の実行クエリを表示
log_message('debug', $this->db->last_query());

配列のデバックの「print_r()メソッド」は、PHPのメソッドで第二引数にtrueを設定すると配列を表示してくれる(^_-)-☆

実行クエリの「last_query()」は、 CodeIgniterのヘルパーメソッド(^_^)/

CodeIgniterのあれこれ

デフォルトのエラーページ

show_404();

INSERTしたIDの取得

$this->db->insert_id();

INSERTかUPDATEした行数取得

$this->db->affected_rows();

まとめてINSERT
1レコードずつ登録するより効率的(^_-)-☆

// レコード作成
$recode = [
  ['name' => 'hosoda', 'age' => 28],
  ['name' => 'houhashi', 'age' => 35],
];

// ユーザーテーブルへ登録
$this->db->insert_batch('user', $recode);

Laravel

ララベラー

Laravel 5.1

Validation

public function rules()
{
 return [
   ’name’ => ‘required|max:255’,
   ’id’ => ‘required|max:255|unique:users,id,NULL,id,deleted_at,NULL’
 ];
}

integer

整数値判定:…-1, 0, 1…
範囲:-2147483648~+2147483647
上記2点を検証する。

integerを「min, max, between」を掛け合わせる事で、数値として検証してくれる。

unique

ModelのソフトデリートがValidationで効かない為、考えた結果

  1. 必須条件
  2. 最大値
  3. ユーザーIDがユニークかつソフトデリートを除外

‘id’ => ‘required|max:255|unique:users,id,NULL,id,deleted_at,NULL’

※今回編集画面の実装が無かった為、第3第4引数はIDのNULL除外を入れて対応

コメント

タイトルとURLをコピーしました