【PHP】配列の要素を半角スペース区切りで出力させる(implode)
今回のテーマ
表題の通り配列要素をimplodeメソッドを使用して半角スペースで出力させる
implodeの使用方法
implodeメソッドは配列要素を指定した文字列で結合させるメソッドです。
第一引数に文字列を入力し、第二引数に配列を入力する。
以下の例では半角スペースを指定して配列要素を順番に出力させています。
$array =array('apple','orange','grape'); $a=implode(" ",$array); echo $a; // 出力結果 apple orange grape
半角スペースを"+"という文字列にすると+で区切って文字列を出力します。
$array =array('apple','orange','grape'); $a=implode("+",$array); echo $a; // 出力結果 apple+orange+grape
参考
【PHP】APIのアクセスキーなどをGit Hubに送信しないよう対策(.envに記載)
今回のテーマ
LaravelにてAPIを実装した際にAPIを使用するための
アクセスキーを記載したのだが、Git Hubにもれるのはまずいので
.envファイルに記載する方法があったので備忘録として残す。
対策
例えば今回は以下のように記載しました。
※フレームワークはLaravelです。
POSTCODE_API_KEYは任意の名前です。
.env
POSTCODE_API_KEY="アクセスキー"
実際に「アクセスキー」の値を持ってくるには以下のような 記載をする。
$api_key=env('POSTCODE_API_KEY');
まとめ
.gitgnoreというGit Hubに送信しないファイルが記載されている
ファイルに基本デフォルトで今回の.envが設定されているので
今回はこのように対策をした。
【PHP】文字列の中から特定の文字をカウントする(mb_substr_count)
今回のテーマ
今回はPHPにて文字列の中から特定の文字をカウントする
mb_substr_countメソッドについて備忘録として残す
使用方法
使い方はシンプルです。
文字列の中から文字aがいくつあるかを表示している。
下記例ではaの数5を出力しています。
<?php $a="aaaaabbbbb"; echo mb_substr_count($a,"a"); // 出力結果 5 ?>
マニュアル通り、第一引数に探したい文字列
第二引数にカウントする文字を入力します。
mb_substr_count(探したい文字列,カウントする文字);
参考
【PHP】[Laravel]モデル同士のリレーションを定義しよう
今回のテーマ
Laravelにてテーブル同士のリレーションを定義する際に
記載する方法を記載します。
環境
Laravel:5.5.50
PHP:7.3.11
条件
今回はpost(投稿)、users(ユーザ)の関係を考える。
・post(投稿)は固有のusers(ユーザ)がしたもの
・users(ユーザ)はそれぞれ複数post(投稿)することができる
post(一)-users(多)の関係と考えることができる
設定方法
それぞれのモデルに以下のように設定する。
belongsTo、hasManyメソッドをそれぞれのモデルに記載する。
// Post.php 投稿 public function users(){ return $this->belongsTo('APP\User'); } // User.php ユーザ public function posts(){ return $this->hasMany('App\Post'); }
まとめ
設定方法は簡易ですが、一対多、一対一、多対多なのか関係を
見極めるのが重要になるかと思います。
これに関してはE-R図に書くとわかりやすいので、関係を考える際は
活用して、しっかり設計できるようにしたい
参考
【PHP】バージョンを指定してLaravelのプロジェクトを立ち上げよう!
今回のテーマ
Laravelをcomposerを使用して作成しようとすると最新バージョンで
作成されますが、古いバージョンで作成したいって時に
コマンドどうすればよかったかなと・・
備忘録として残します。
作成コマンドを見てみる
通常通りに作成
testsampleという名前のプロジェクトを作成します。
基本コマンドは以下です。
composer create-project laravel/laravel testsample
バージョン確認してみると、ver 8.21.0で作成されていることがわかります。
// プロジェクトに移動 cd testsample // バージョン確認 php artisan -V // 出力 Laravel Framework 8.21.0
バージョンを指定して作成する
今度は5.5のバージョンを指定してインストールします。
バージョン指定時は"laravel/laravel=バージョン"とする必要があります
バージョン指定時に6.xとすれば6.X系のバージョンもインストールできます
composer create-project "laravel/laravel=5.5" testsample
// プロジェクトに移動 cd testsample // バージョン確認 php artisan -V // 出力 Laravel Framework 5.5.50
まとめ
バージョン指定時は"laravel/laravel=バージョン"をつけてコマンドを実行することを忘れずに
バージョンによっては動かないライブラリなどもあるようなので
バージョンの確認は都度忘れないようにしないといけないですね
【PHP】[メモ]数値の絶対値を取得しよう(abs)
今回のテーマ
PHPで絶対値を取得したい時使うabsメソッドについてメモ
簡単なのでさらっとメモ
absメソッドを使う
マイナスでも数値だけ取りたいなーと思って調べると
シンプルにabsメソッド1つでできることがわかりました。
小数値にも使用できるようです。
<?php echo abs(-5); // 出力結果 5 ?>
参考
【PHP】Laravel にてテーブル名を変更したい!
今回のテーマ
Laravelにてマイグレーションファイル作成時に名称を間違えてしまい テーブル名を変更したい時の手順を記載します。
環境
Laravel 8.20.1
PHP 7.3.11
目次
- テーブル名変更するまで
- まとめ
テーブル名変更まで
1 まずは当然マイグレーションファイルをロールバックする
php artisan migrate:rollback
2 変更するためのマイグレーションファイルを作成する
ここではitemsという名称からcartsというテーブルに変更するように
以下のコマンドをうつ
php artisan make:migration rename_items_to_carts_table
3 作成されたマイグレーションの書き換え
作成されたマイグレーションファイルのメソッドを
Schemaクラスのrenameメソッドに書き換える。
変更前は別のメソッドの記載があるので注意
※変更前は以下のようなメソッド
Schema::table('carts', function (Blueprint $table)
use Illuminate\Support\Facades\Schema; // 中略 public function up() { Schema::rename('items','carts'); } public function down() { Schema::rename('carts','items'); } // rollbackされた場合は元の名前に戻すためupメソッドとは逆の記載になる
まとめ
新しく作成されたマイグレーションファイルのメソッドを書き換えないと
思わなくてそのままマイグレーションしてしまったので、認識しておきたいです。
以下のドキュメントを参考にしました。