PDO :データベースアクセスオブジェクト


	$dao = new PDO("mysql:host=ホスト名;dbname=データベース名;charset=utf8",DBユーザー名,DBパスワード,
            array(PDO::ATTR_EMULATE_PREPARES => false));
    
	$stmt = $this->dao->query("SELECT * FROM nekos");
	$data = $stmt->fetchAll(); // 2次元構造のデータとして取得
	


トークン生成

Demo


	function makeToken($length = 8)
	{
	    return base_convert(mt_rand(pow(36, $length - 1), pow(36, $length) - 1), 10, 36);
	}
	

シングルトンパターン


<?php 
namespace CrudBase;

class Neko{
    private static $singleton;
    public static function getInstance(){
        if (!isset(self::$singleton)) {
            self::$singleton = new Neko();
        }
        return self::$singleton;
    }
}
	

インスタンスを取得する


	$neko = Neko::getInstance();
	

.envファイルから設定値を取得するオリジナル関数

Demo



$envs = getEnvSimple('.env');
echo '<pre>';
var_dump($envs);
echo '</pre>';

function getEnvSimple($env_fn) {
    
    // 引数のiniファイル名が空、もしくは存在しなければ、なら、nullを返して終了
    if (! $env_fn)  return null;
    
    
    $str = null;
    $env_fn=mb_convert_encoding($env_fn,'SJIS','UTF-8');
    if (!is_file($env_fn)){
        return null;
    }
    
    if ($fp = fopen ( $env_fn, "r" )) {
        $data = array ();
        while ( false !== ($line = fgets ( $fp )) ) {
            $str .= mb_convert_encoding ( $line, 'utf-8', 'utf-8,sjis,euc_jp,jis' );
        }
    }
    fclose ( $fp );
    
    $ary = preg_split( "/¥R/", $str );
    
    $envs = [];
    foreach($ary as $line_str){
        $line_str = trim($line_str);
        if(empty($line_str)) continue;
        
        $ary2 = preg_split("/=/", $line_str);
        if(count($ary2) < 2) continue;
        
        $key = trim($ary2[0]);
        if(empty($key)) continue;
        
        $envs[$key] = trim($ary2[1]);
        
    }
    
    return $envs;
}


.envファイルの例


ANIMAL_NAME = おキャット様


APP_NAME=Example
APP_ENV=local
APP_KEY=abcd
APP_DEBUG=true
APP_URL=http://localhost

LOG_CHANNEL=stack
LOG_DEPRECATIONS_CHANNEL=null
LOG_LEVEL=debug

DB_CONNECTION=mysql
DB_HOST=localhost


文字列を数値化(整数化)する | intval


    $test1 = intval(null); // → 0
    $test2 = intval(''); // → 0
    $test3 = intval('0.01'); // → 0
    $test4 = intval('あ'); // → 0
    $test5 = intval('123456'); // → 123456
    $test6= intval('-123456'); // → -123456
    $test7= intval('-0.01'); // → 0
    
類似関数にfloatval()、doubleval()というものもあります。