- 1. 【PHP】ひらがな化APIを使ってみた
- 2. tsunagi-functionsでSymbolブロックチェーンのトランザクションを自由自在に作ろう!(PHP編)
- 3. Laravel 8 へアップグレードしてからシーダーを使う際の変更
- 4. 【個人開発】旅のしおりを作って仲間とシェアできるサイトを制作しました
- 5. Python,Ruby,PHP,Java,JavaScript,Perlのwhile文の比較
- 6. 使用中のLaravelのバージョンを確認するコマンド
- 7. LaravelのJetstreamで新規ユーザ登録時のデフォルトチームを指定する
- 8. 標準関数で配列操作
- 9. 【PHP】PHPの高度な配列操作
- 10. オリジナルアプリ作成断念
- 11. 【Laravel】Controllerメソッドの戻り値が意図した値で返却されない
- 12. PHPをコーディングする際はこれらを気を付けよう!
- 13. GitHub ActionsにLaraStanを追加する
- 14. Python,Ruby,PHP,Java,JavaScript,Perlの例外処理の比較
- 15. 【PHP基礎復習15】文字列の連結
- 16. 【PHP基礎14】掛け算③
- 17. 【PHP基礎復習13】計算式
- 18. 【 #ゆめみからの挑戦状 ★第5弾】をやってみた
- 19. 【PHP】空欄チェック処理の条件式でオススメの書き方
- 20. Python,Ruby,PHP,Java,JavaScript,Perlのライブラリ・モジュールの比較
【PHP】ひらがな化APIを使ってみた
# 初めに
Excelにて漢字にふりがなをつけようとしたが、CSVをインポートしたデータやWEBページからコピペしたテキストには自動でふりがなが付かないことがわかった。そのため、代替手段として[gooラボ](https://labs.goo.ne.jp/)の[ひらがな化API ](https://labs.goo.ne.jp/api/jp/hiragana-translation/)を使用することにした。>[リファレンス](https://labs.goo.ne.jp/api/jp/hiragana-translation/)より引用
>ひらがな化APIはリクエストで送られた日本語文字列を、ひらがな もしくは カタカナ による記載に変換します。## 環境
– Mac OS12.4(M1)
– PHP 8.1.2## パラメータ
* app_id(必須項目) => 利用登録をし、取得する
* request_id => リクエストID、省略可
* sentence(必須項目) => 解析対象テキスト
* output_type (必須項目) =>hiragana(ひらがな化
tsunagi-functionsでSymbolブロックチェーンのトランザクションを自由自在に作ろう!(PHP編)
この記事は、以下に紹介したtsunagi-functionsのPHP実装版です。
https://qiita.com/nem_takanobu/items/4b5d67fe9eb80ae35433
トランザクション構築の内部処理やノードへの通知方法については以下の記事もご参考ください。
https://qiita.com/nem_takanobu/items/d69f86487fce527dbc29
Symbolブロックチェーンをよく知らないという方はこちらで速習することができます。
https://github.com/xembook/quick_learning_symbol
# テスト
テストスクリプトを以下に置いています。実行することができればそのロジックをそのまま実装に利用することができます。
#### test_0_1.php
https://github.com/xembook/tsunagi-sdk/blob/main/php/test_0_1.php
“`json:composer.json
{
“require”: {
Laravel 8 へアップグレードしてからシーダーを使う際の変更
## はじめに
Laravel 6から8へアップグレードした際にアップグレード自体は問題なくできたのですが、
シーダーの実行につまずいたので残しておきます。## 事象
シーダーを実行すると以下のようなエラーが出ました。
“`
$ php artisan db:seed
“`
“`
Illuminate\Contracts\Container\BindingResolutionExceptionTarget class [DatabaseSeeder] does not exist.
“`# 変更箇所
Laravel 8へアップグレードした後にシーダーを使うための変更箇所をまとめます。### 1. composer.jsonの変更
変更前
“`json:composer.json
“autoload”: {
“psr-4”: {
“App\\”: “app/”,
},
“classmap”: [
“database/seeds”,
【個人開発】旅のしおりを作って仲間とシェアできるサイトを制作しました
LAMP開発の学習のため、WEB上で旅のしおりページを作れるサービスを制作しました。
# どんなサービスか
サイトはこちら → http://oshitabinote.com/main.php
![thumbnail.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1974587/bd688229-9f76-9baa-11c3-96a7e324a38d.png)
* WEB上に旅のしおりページが作成でき、ページ内では旅程と参加メンバーのプロフィールが自由に登録・編集・表示ができます
* 旅ごとにユニークなURLが発行され、リンクを知っていれば誰でもアクセスができるので、仲間と気軽にページのシェアができます
* 一般的な旅行+オタクの方々の遠征に使ってもらいたいので、ちょっとしたオタ活特化要素があります# 開発リポジトリ
https://github.com/emuroku/oshitabi_note# 制作目的
* これまで学習したフロント・バックエンドの実装やLAMP環境開発の実践練習をするこ
Python,Ruby,PHP,Java,JavaScript,Perlのwhile文の比較
Python,Ruby,PHP,Java,JavaScript,Perlのwhile文の比較
# Python
https://qiita.com/Morio/items/10d33f6dbb0845ae5038
# Ruby
https://qiita.com/Hashimoto-Noriaki/items/f406bcfb00e79e3937d0
# PHP
https://qiita.com/miriwo/items/2c2aa77d5de66c074ec5
# Java
https://qiita.com/takahirocook/items/05bfe37bb4ba64f3a78e
# JavaScript
https://qiita.com/kaz7991/items/7f98cc17c4df9ab6a009
# Perl
https://perlzemi.com/
使用中のLaravelのバージョンを確認するコマンド
“`
php artisan –version
“`
または
“`
php artisan -v
“`
LaravelのJetstreamで新規ユーザ登録時のデフォルトチームを指定する
## 前提条件
– Laravel8.x
– Jetstream Team版導入済みTeamを事前に複数作成しておいてください
以下を編集します。
app>Actions>Fortify>CreateNewUser.php
“`php:CreateNewUser.php
protected function createTeam(User $user)
{
$user->ownedTeams()->save(Team::forceCreate([
‘user_id’ => $user->id,
‘name’ => explode(‘ ‘, $user->name, 2)[0].”‘s Team”,
‘personal_team’ => true,
]));}
“`を以下のようにします。
“`php:CreateNewUser.php
protected function createTeam(User $user)
標準関数で配列操作
見ました。要は正規化されていないデータ構造を結合しようという問題。
https://qiita.com/panda-chibi/items/9f5eaaed10e4a204d784
自分ならどう書くだろうか。
## foreachを使わない場合
PHPの標準関数にgroup_by的なものがあればもうちょっと簡潔に書ける気がしないでもないが、なくても難しくはない。
“`php
1, ‘name’ => ‘イワーク’, ‘place’ => ‘渓谷,洞窟’, ‘level’ => 10, ‘technique’ => ‘岩雪崩’],
[‘id’ => 1, ‘name’ => ‘イワーク’, ‘place’ => ‘砂漠,山頂’, ‘level’ => 20, ‘technique’ => ‘岩石砲’],
[‘id’ => 2, ‘name’ => ‘ハガネール’, ‘place’ => ‘鉱山,地中’, ‘level’ => 10, ‘technique’ => ‘メテオドライブ’],
[‘i
【PHP】PHPの高度な配列操作
# コード
“`PHP
1,’name’=>’イワーク’,’place’=>’渓谷,洞窟’,’level’ => 10,’technique’=>’岩雪崩’],
[‘id’=> 1,’name’=>’イワーク’,’place’=>’砂漠,山頂’,’level’ => 20,’technique’=>’岩石砲’],
[‘id’=> 2,’name’=>’ハガネール’,’place’=>’鉱山,地中’,’level’ => 10,’technique’=>’メテオドライブ’],
[‘id’=> 2,’name’=>’ハガネール’,’place’=>’丘陵,窪地’,’level’ => 20,’technique’=>’アイアンローラー’],
];
$res = [];
foreach($data as $value){
if(empty($res[$value[‘id’]])){
$result = [];
$res[$value[‘id’]] = [
オリジナルアプリ作成断念
プログラミングスクールで作っていたオリジナルアプリですが、やむなく作成を断念することになりました。
# 経緯
スクレイピングの処理(野球の成績を取得にかかる)において、打者と投手の成績を同時に取得することが出来ず、
データベースに保存する作業も別々になってしまい、コードの記述が困難なため。
## 気持ちの面では
一からコードを書かなければいけないため、労力が必要以上にかかり、それにプラスしてスキルの追及が必要で頭が追い付かなかったため。# 問題点
コードを書く段階で講師の人からダメ出しが多く、考えさせられることが多いのと正確なコードを教えてくれるわけでもありませんでした。
それがずっと続き、結局あまり進まなかったことが大きな要因です。
## 要件定義から失敗
オリジナルアプリは特に決まったものはなく何でもよかったんですが、その中でプロ野球の該当チームの選手の成績をスクレイピングでとってくるという初心者には難しいものを選んでしまったのも原因と言えます。# これからどうするか
正直なところ、続きをやる予定はありません。第二弾もあるので、そちらに移っていくでしょう。# 最終コー
【Laravel】Controllerメソッドの戻り値が意図した値で返却されない
# 環境
– Macbook Air 2020
– Laravel 9.27.0
– PHP 8.0.23
– sail v1.15.4
– Composer 2.4.1# 1.状況
LaravelにてAPIを構築しておりGETメソッドでエンドポイント `/reservation/status/{gym_id}/{machine_id}` にアクセスすると、 `ResrvationController.php` 内の `getReservationStatus` メソッドで対象のレコードの数を取得したい。
“`php:api.php
Route::prefix(‘reservation’)->group(function () {
Route::get(‘/{reservation_id}/{gym_id}/{machine_id}’, [ReservationController::class, ‘nextReservationExists’]);
Route::get(‘/status/{gym_id}/{machine_id}’, [Reserva
PHPをコーディングする際はこれらを気を付けよう!
## はじめに
プログラムを組んでいく中で、気を付けなければいけないコーディングは多々あります。
知識としては蓄えていても実践だと見落としてしまうものです。
初心者時代のエピソードを交えつつご紹介します!## 目次
– [その処理はすでに関数があるかもしれない](#その処理はすでに関数があるかもしれない)
– [小数点を扱う際は丸め誤差に注意](#小数点を扱う際は丸め誤差に注意)
– [条件分岐の判定に使う関数の返却値に注意](#条件分岐の判定に使う関数の返却値に注意)
– [現行のPHPバージョンで使える関数でも将来的に削除される関数は使わない](#現行のphpバージョンで使える関数でも将来的に削除される関数は使わない)—
### その処理はすでに関数があるかもしれない
設計書 「ユーザー名が英数字で構成されているか、それ以外かで処理を分ける」
私「preg_match関数で英数字かどうか判定して処理を分けよう」
※【英数字 正規表現】で検索しました。
“`PHP
$pattern = ‘/^[a-zA-Z0-9]+$/’;
if (preg_ma
GitHub ActionsにLaraStanを追加する
## TL;DR
以下のソースをリポジトリの`.github/workflows/larastan.yml`に配置すれば導入できます。
このとき、ブランチ名の先頭が`TEST-`から始まるものだけ解析対象になります。“`yml:.github/workflows/larastan.yml
name: LaraStan
on:
# GitHubにPushしたときに実行
push:
branches:
# ブランチ名が”TEST-“で始まるもののみを対象とする
– TEST-*jobs:
phpstan:
# Ubuntuの最新版を利用する
runs-on: ubuntu-latest
steps:
# リポジトリの最新ファイル1世代分だけをチェックアウト
– uses: actions/checkout@v2
with:
fetch-depth: 0# PHP環境のセットアップ
– name: Setup PHP
Python,Ruby,PHP,Java,JavaScript,Perlの例外処理の比較
Python,Ruby,PHP,Java,JavaScript,Perlの例外処理の比較
# Python
https://qiita.com/imuimu/items/7f27d156dd0f6507803b
# Ruby
https://qiita.com/k-penguin-sato/items/1a6c8096effccb19565a
# PHP
https://qiita.com/wakahara3/items/bcadef53367097765c82
# Java
https://qiita.com/ts7i/items/d7f6c1cd5a14e55943d4
# JavaScript
https://qiita.com/andota05/items/fc1e340642be42ca47c0
# Perl
https://perlzemi.com/blog/201
【PHP基礎復習15】文字列の連結
[問題]
次の入力された2つの数字を「/」で区切って出力させなさい。# コード
“`PHP
$input1 = fgets(STDIN);
$input2 = fgets(STDIN);
echo trim($input1). “/” .$input2;
“`↓ 11、12と入力
# 結果
“`
11/12
“`☆trim()
→ 文字列の先頭、末尾にある空白スペースを取り除く☆’文字列A’.’文字列B’
→ 「.」で文字列を連結させることができる
【PHP基礎14】掛け算③
[問題]
ユキさんは最近、カフェインの摂りすぎで、体調を崩してしまいました。
そこで、1日に摂取していいカフェインの量を調べたところ、1日あたり5.7mg/kgでした。
体重Akgの人は何mgまで摂取してよいか求めよ。# コード
“`PHP
$input = fgets(STDIN);
echo 5.7*$input, PHP_EOL;
“`↓ 62と入力
# 結果
“`
353.4
“`
【PHP基礎復習13】計算式
[問題]
ユキさんがいつも利用しているバスの運賃は、初乗り運賃が160円で、その後1区間ごとに40円足されていきます。
m区間乗ったとすると、運賃はいくらになるでしょうか。# コード
“`PHP
$input = fgets(STDIN);
echo 160 + 40*$input, PHP_EOL;
“`↓ 4と入力
# 結果
“`
320
“`
【 #ゆめみからの挑戦状 ★第5弾】をやってみた
お題はこちら
【 #ゆめみからの挑戦状 ★第5弾】
シリーズ初の PHP 問題です?✨【お題】
以下のぐちゃぐちゃな配列を期待されている形に整形して出力してください【回答方法】https://t.co/rZguz6aKJX またはソースコードのスクリーンショットを引用 RT
【結果発表】
9/15(木)【出題者】
まっぴー @mpyw pic.twitter.com/GSpE5Tekmp— 株式会社ゆめみ | YUMEMI (@yumemiinc) September 8, 2022
ksort にオプション付けられるの知らんかった^^;
https://t.co/vOh902fJgkhttps://t.co/CTDjJGhtV9 pic.twitter.com/KLaRkC132n
— ロングもみあげガール推進部 (@kb10uy) September 8, 2022
パクったら3行になった!
“`php
‘two’, ‘four’ => ‘4th’],
‘three’ => ‘3rd’,
[‘one’ => ‘1st’],
’10th’ => ‘ten’,
[‘6th’ => ‘six’],
‘5th’ => ‘five’,
‘seven’ => ‘7th’,
[‘fourteen’ => ’14th’, ’11th’ => ‘eleven’],
[‘8th’ => ‘eight’],
‘thirteen’ => ’13th’,
’12th’ => ‘twelve’,
‘nine’ => ‘9th’,
[
【PHP】空欄チェック処理の条件式でオススメの書き方
変数の値が空である、といった条件式を今までは
if ($a == ”)
のように書いていたが、
もっと厳格な書き方があることを知った。
PHPの自動型変換により、上記の式だと
$a = 0;なども空として扱われてしまうらしい。一方、下記の式であれば空になるのは$aが
・null
・”
・undefined
の3つの場合だけになる。経験が乏しいので使い分けなどがイマイチピンと来ないが、場合によって上手く使い分けていきたい。
“`
$name = ”;if (is_null($name) || $name === ”) {
echo ‘名前を入力して下さい’;
exit(1);
}
echo “名前: {$name}”; // これは実行されない
“`参照: PHP本格入門(上)
Python,Ruby,PHP,Java,JavaScript,Perlのライブラリ・モジュールの比較
Python,Ruby,PHP,Java,JavaScript,Perlのライブラリ・モジュールの比較
# Python
https://qiita.com/ryuichi1208/items/cb5f850a9811d2a4bc3a
# Ruby
https://qiita.com/sugamaan/items/d7871da28c0160b69609
# PHP
https://qiita.com/mikakane/items/2719df714df5b3fc6adf
# Java
https://qiita.com/haruto167/items/162551100449ea5c7e6d
# JavaScript
https://qiita.com/Nako4/items/1d8eaf731bf4370b84a7
# Perl
https://perlzemi.com/b