- 1. VS CodeでDrupalコーディング規約の検出と整形を行う
- 2. 私の運営しているサイトを紹介
- 3. herokuにLaravelアプリケーションをデプロイする
- 4. Laravel 制約を設定したら name is too longのエラーが出た
- 5. PHPの基礎1
- 6. Laravel Breezeを使ってみる
- 7. PLCからゲートウェイでデータを取得しデータベースにJSONで保存 (4)
- 8. TOKYO FMのjet streamをphpで録音したい。
- 9. 【PHP】PHPでを最後に出力しない方法
- 10. PHP で、コメントが原因でエラーになった話
- 11. アニメの放送通知を送信するアプリをSPAで作成しました
- 12. 【EC-CUBE4系】mailcatcherの設定方法
- 13. All-in-One WP Migrationで1G以上のサイトをインポートする方法
- 14. webエンジニア界隈で使われる各言語のテンプレートリテラル比較してみた
- 15. isNaNはTRUEじゃないの?
- 16. 超初歩的なミス 論理演算子 (否定または否定)条件で無駄な時間を過ごす
- 17. Symfonyのコントローラにおけるパラメータ取りだし
- 18. VScode PHP/Laravel デバッガーを導入する
- 19. 【Laravelの環境構築】プロジェクト(Laravel用)を作成しようとコマンドを実行したら作成出来ず…
- 20. HTMLが動く仕組み
VS CodeでDrupalコーディング規約の検出と整形を行う
VS Code上でDrupalのコーディング規約を検出/整形するためには、
– ComposerでPHP CodeSnifferとDrupalコーディング規約のルールセットのインストール
– [phpcs](https://marketplace.visualstudio.com/items?itemName=shevaua.phpcs)と[phpcbf](https://marketplace.visualstudio.com/items?itemName=persoderlind.vscode-phpcbf)(VS Codeの拡張機能)のインストールの二つの作業が必要。(VS Codeの設定ファイルでphpcs/phpcbfの実行パスを入力する必要があるため)
### Composerで必要なライブラリをインストールする
Drupalのコーディング規約をPHP CodeSnifferで検出するために、drupal/coderをインストールする。
“`shell-session
$ composer global require drupal/coder
“`dr
私の運営しているサイトを紹介
私は「ラブドールの教科書」というラブドールのお役立ち情報を発信しているサイトを運営しています。興味のある方はぜひ訪問してください!
https://lovedoll-text.com/
herokuにLaravelアプリケーションをデプロイする
## はじめに
Laravelのアプリケーションを作成したのでherokuにデプロイしようとしてつまずいたので、書いていけたらとおもっています。
今回自分はLaravelでのアプリケーションをデプロイしますが、他の言語でもやることはあまり変わらないと思いますので少しでも参考になると幸いです。herokuコマンドやherokuへの登録は終わってるものとします。
まだの方はこちらの記事を参考に実施してください
https://qiita.com/tetsu-sh/items/f6fcbb6b85df04e5cf3f### 使用する環境
– MacOS(M1)
– PHP 8.0.19
– Laravel 9.19.0
– MySQL 8.0.29
– Docker
– LaravelSail## 早速やっていくよ!!
herokuアプリを作成
“`
$ heroku create
“`
作成したアプリケーションに移動して
“`
#アプリケーション名の確認
$ heorku apps# 確認した名前をアプリ名としてherokuと連携
$ heroku git:re
Laravel 制約を設定したら name is too longのエラーが出た
# 概要
– laravelのマイグレーションファイルの記載で制約を設定したら「name is too long」のエラーが出てマイグレーションができなかったので解決方法をメモ的にまとめる。
# エラー内容
– エラー内容を下記に記載する。
“`
Syntax error or access violation: 1059 Identifier name ‘XXXX_YYYY’ is too long
“`– laravelは制約の名前をテーブル名を用いて自動生成している。
– テーブル名が長すぎると制約名が長くなりすぎる。そのためエラーが出ていた。# 解決方法
– 下記のように制約設定時にメソッドチェーンでnameを指定する。
“`PHP
$table->foreign(‘XXXX_id’)->references(‘id’)->on(‘XXXXs’)->name(‘hoge_fuga_piyo_id’);
“`
PHPの基礎1
## はじめに
こんにちは。
私は現在未経験の駆け出しエンジニアとして様々な学習をしています。
先日PHPの基礎文法について学んだので、自分のアウトプットように記事を残します。
初めての投稿になりますので至らない点がありましたら申し訳ございません。## 基本記述
“`PHP:lesson.php
“`“`:出力結果
hallo world
good morning!
“`
PHP_EOLはPHPの定義済み定数であり、OSに応じて自動的に改行文字を設定してくれる。## nowdoc(ナウドキュメント)とheredoc(ヒアドキュメント)
“`PHP:lesson.php
Laravel Breezeを使ってみる
開発環境は、
– Windows10 Pro(64bit)
– PHP 8.1.7 (cli) (built: Jun 7 2022 21:45:53) (ZTS Visual C++ 2019 x64)
– Composer version 2.3.7 2022-06-06 16:43:28
– PostgreSQL 14
– node v14.17.5
– npm 6.14.14
– Laravel 9.21.4
– VITE v3.0.2Cドライブ直下に、laravelディレクトリを作成し、カレントディレクトリへ
“`
cd c:\ && mkdir laravel && cd laravel
“`以下のコマンドを入力し、Laravelのプロジェクトを作成します
“`
composer create-project laravel/laravel first_breeze –prefer-dist
“`インストールが終わったら、first_breezeディレクトリをカレントディレクトリにします。
“`
cd first_breeze
“`Pos
PLCからゲートウェイでデータを取得しデータベースにJSONで保存 (4)
PLCからゲートウェイでデータを取得し、データベースにJSONで保存します。複数回に分けて、サンプルを用いて解説します。
初回から前回にかけては、ゲートウェイを使って、PLCから取得したデータをMQTTでブローカーに送信するまでを実装しました。[PLCからゲートウェイでデータを取得しデータベースにJSONで保存 (1)](https://qiita.com/COOLMAGICPRODU1/items/31513295943763365915)
[PLCからゲートウェイでデータを取得しデータベースにJSONで保存 (2)](https://qiita.com/COOLMAGICPRODU1/items/370b1bd37dca8a4fd9ae)
[PLCからゲートウェイでデータを取得しデータベースにJSONで保存 (3)](https://qiita.com/COOLMAGICPRODU1/items/08891c828736428c1b5c)今回はデータベースを準備します。
![348f9673721149a9206023ad2b3ca8e062d7eb7ab1449.png]
TOKYO FMのjet streamをphpで録音したい。
## 初めに
私は、ある時から東京FMで深夜12:00〜1:00で放送されるジェットストリームというラジオ番組にハマってしまい、毎日聞くことがことが日課になっています。
そこで、どんな音楽が今日流れていたのか、などを昼に確認したかったので、phpで東京FMを録音するスクリプトを作ってみました。
**注意!・このスクリプトはradikoのシステムにアクセスをします。ddos攻撃的なことになりかねませんので、最低1分間、実行間隔を空けてください。**## 欲しい機能
– ラジオを録音する
– できれば東京FM以外も録音できるように。## 案1・受信
ラジオを受信することを考えてみはしたのですが、さすがに無理だと思い、断念。## 案2・php以外で?(ラズパイとか)
予算の関係で、断念。## 案3・HLSを受信するか・・・
これはいけそうな気がする。やってみよう。### どこで配信しているのか探してみる。
まずは東京FMのホームページを開いてみます。
するとメニューに「ポッドキャスト」という項目がある。
「使えるかも?」と思って、みてみたけどjet streamはな
【PHP】PHPで
を最後に出力しない方法
# コード
“`PHP
‘ナルト’,’seino_2′ => ‘サスケ’,’seino_3′ => ‘シカマル’,’seino_4′ => ‘イルカ先生’];
$seino = [‘seino_1′,’seino_2′,’seino_3′,’seino_4’];
$seino_list = ”;
foreach($seino as $value){
if($bomb[$value]){
if($seino_list) $seino_list .= ‘
‘;
$seino_list .= htmlspecialchars($bomb[$value]);
};
}
echo $seino_list;
“`# 結果
“`
ナルト
サスケ
シカマル
イルカ先生
“`
PHP で、コメントが原因でエラーになった話
正確には、PHP の1行コメントに落とし穴があった、という話です。
【環境】
> (このエラー自体は、環境依存ではないと思いますが、一応あげておきます。)
> OS:Windows 10
> サーバー:Xampp 8.1.6 (Apache 2.4, PHP 8.1.6)
> ブラウザ:Firefox 102.0.1 (64 ビット)
> エディタ:さくらエディタ v2.4.1.2849 32bit (tag v2.4.1)## 現象1
PHP で、アトミック正規表現 `(?>…)` を修正する時、オリジナルを残しておこうと頭に`#`をつけ(1行コメントアウト)たら、原因特定困難なエラーが生じました。(この現象は、 `//` の場合も同様に発生します。):::note warn
**注意**
この現象は、アトミック正規表現 `(?>…)` に限って発生するわけではなく、その他の正規表現でも発生する可能性があります。また、それ以外の一般的な PHP スクリプトの中でも、入力ミスによって同様のエラーが発生する可能性があります。
::::::note warn
**
アニメの放送通知を送信するアプリをSPAで作成しました
# はじめに
+ エンジニア転職のためポートフォリオを作成
+ アニメの放送日に通知を送るリマインダーアプリを作成PHPの学習を一通り終えてLaravelでアプリを1つ作って「SPAってどうやるの?」、「スクレイピングって何?」という状態から初めて触る技術を学習しながら3ヶ月で作成した完全SPAポートフォリオです。
アプリとしてはまだ修正点はあるので、これから継続してブラッシュアップしていきたいと思います。
# 自己紹介
+ 社会人6年目の28歳
+ 現在は医療関連サービス業に従事してます
# 開発背景とアプリ概要
### 開発背景
転職用のポートフォリオなのですが、せっかくなら**誰かの課題を解決するもの・人に使ってもらえるようなサービス**にしたいと思い友人にヒアリングをしてポートフォリオのテーマを以下のように決定しました。1. 誰の課題を解決するのか
大学時代のアニメ好きの友人2. どんな課題を解決するのか
アニメの放送日を忘れて見逃してしまう
地域ごとに放送時間が違うため自分の地域にあった通知が欲しい3. どうやって解決するのか
アニメの放送日当日に通知を送
【EC-CUBE4系】mailcatcherの設定方法
# 現象
EC-CUBEのローカル環境でメールを使ったテストを行う際に重宝するmailcatcherですが、なぜか公式のとおりに設定してもうまくいきませんでした…開発環境はもちろんDockerでコンテナも作成、立上げ済み。なのに使えない!
docoker-compose.ymlには以下のように記載。
“`docker-compose.yml
version: ‘3’services:
mailcatcher:
image: schickling/mailcatcher
ports:
– “1080:1080”
– “1025:1025”
“`.envも公式のいう通り以下のように記載。
“`.env
MAILER_URL=smtp://127.0.0.1:1025
“`これでhttp://127.0.0.1:1080/ にアクセスするが
EC-CUBEからメールを飛ばしているのに何も出ない!![スクリーンショット 2022-07-22 120533.pn
All-in-One WP Migrationで1G以上のサイトをインポートする方法
1G以下であればphp.iniか.htaccessを編集し、サイトの最大アップロードサイズを変更すれば可能です。ただ1G以上になるとphp.iniなどで最大アップロードサイズを引き上げてもインポートの途中で止まってしまいエラーになります。そういった場合に使用する方法です。
All-in-One WP Migration ver6.68を使用します。
まずはこちらからver6.68のプラグインをインストールします。
→ https://drive.google.com/drive/folders/1XamXIzpAnhuqYSSeKDSwpcM7QdcXoTaI?usp=sharingインストールが完了したら、
管理画面>ツール>プラグインエディターからAll-in-One WP Migrationを選択し、contants.phpを開きます。
ファイル内で”Max”と検索をかけて、以下のコードを見つけてください。~~~ php
// =================
// = Max File Size =
// =================
define( ‘AI1
webエンジニア界隈で使われる各言語のテンプレートリテラル比較してみた
# はじめに
昨日書いた記事でもしれっと使ってるんですが、固定の文字列+連番みたいなことをやるときに、普通に文字列連結してもいいのですが見づらいし直感的ではないので、テンプレートリテラル(テンプレート構文)というものを使って、文字列に直接変数をぶっこんでしまう、というやり方を日常的にやるんじゃないかと思います。
昨日書いた記事はこちら
https://qiita.com/layzy_glp/items/7f3e43af11858eff622d
というわけで、昨日書いた記事の順番で各言語のテンプレートリテラルを紹介していきたいと思います。
※追記
後から知りましたが、大概の言語で日本語の呼び方はブレるけど英語では `String interpolation` と呼ばれている機能なんだそうですね。# Ruby
“`ruby:例
v = “hoge”
print “hoge#{v}” # hogehoge
“`ダブルクォートで囲われている中の `#{v}` のところですね。変数名を `#{変数名}` ってな感じで囲むやり方です。
割と古く(v1系)からのrubyでは当
isNaNはTRUEじゃないの?
## 今回記事を記述した背景
☆isNaNを書いてつまづいた人へ。
暇だったのである問題を解いていました。
問題の内容は
入力した引数が
*数字だったら5枚する
*数字ではなければ”ERROR”という文字を返す
という簡単な問題を作っていました。
## 記入したコード
“`Python
function num(input){
if(isNaN(input)){
console.log(input * 5)
}else{
console.log(‘error’)
}
}num(3);
“`
*numの中身が数字だったら→numを5倍するなので、3を入れたら15になるかとおもいきや、、errorになってしもーた。
### isNaN(input)は、数字かどうか判断するものだと思っていました。。## 原因
### isNaN() 関数の性格な意味は引数が NaN (非数) かどうかを判定します。
つまり、
非数NaNであればTrue
そうでなければFalse
## 修正
“`Python
function num(input){
if(!isN
超初歩的なミス 論理演算子 (否定または否定)条件で無駄な時間を過ごす
論理演算子を用い、ある配列から特定の2つ以上の要素を除いて表示させようとし、 (否定または否定)条件を設定してしまったせいでうまくいかず。
一応メモ。
“`
//配列例
$types = Array(‘A’=>apple, ‘B’=>banana, ‘C’=>cappuccino, ‘D’=>dorian);
“`“`
//間違い
foreach($types as $type => $key){
if($type != ‘A’ || $type != ‘B’){
echo $type;
}
}
//結果
全て表示される
“`“`
//単純に書くと
foreach($types as $type => $key){
if($type != ‘A’){
if($type != ‘B’){
echo $type;
}
}
}
//結果
A,Bを除いて表示される
“`
Symfonyのコントローラにおけるパラメータ取りだし
# Symfonyのコントローラにおけるパラメータ取りだし
## Symfony\Component\HttpFoundation\Request のプロパティ
| アクセス | class | 説明 |
| — | — | — |
| ->query | ParameterBag | URLのクエリパラメータ |
| ->request | ParameterBag | POSTのリクエストパラメータ |
| ->attributes | ParameterBag | Routeアノテーションで定義したパスパラメータ |## Symfony\Component\HttpFoundation\Request のメソッド
| アクセス | 型 | 説明 |
| — | — | — |
| ->get(‘name’) | string | 値 |## ParameterBag で使用可能な取りだし方法
| アクセス | 型 | 内容 |
| — | — | — |
| ->all() | KV array | すべてのパラメータ |
| ->has(‘name’
VScode PHP/Laravel デバッガーを導入する
# 概要
– 「Xdebug」の導入方法をまとめる。なお、VScodeでの使用を考慮して導入する。
# 詳細
– 筆者のPCはMacである。
– Homebrewが導入され、使える状態になっている。
– MacのローカルにHomebrewを用いてPHPがインストールされている。# 方法
1. Xdebugのインストール
1. 下記コマンドを実行してXdebugをインストールする。“`shell
pecl install xdebug
“`1. 「Build process completed successfully」と表示されたことを確認する。こちらが出力されれば正常にインストールされている。
1. ターミナルに出力されているインストールログの最後から3行目に表示されている「Installing」の後に記載されているパスをメモする。筆者の出力例を下記に記載する。↓筆者の場合“`
Installing ‘/opt/homebrew/Cellar/php/
【Laravelの環境構築】プロジェクト(Laravel用)を作成しようとコマンドを実行したら作成出来ず…
## はじめに
以前、Laravelの環境構築に失敗し若干トラウマのようになっていたのですが(笑)
今回改めてチャレンジし、無事に完了することが出来ました!
全く同じ事象のエラーにぶつかる事は少ないかもしれないですが、
これから「Laravelを使って開発を進めていきたい」という方に向けて
少しでも参考になればと思います。### 【 構築前の環境 】
・ OS : macOS Monterey バージョン12.4
・ PHP : 7.4.30### 【 構築後の環境 】
・ OS : macOS Monterey バージョン12.4
・ PHP : 8.1.8
・ Laravel : 9.21.0### 【 前提条件 : 必須項目 】
#### ・ MAMPのインストール
https://www.mamp.info/en/downloads/
まだインストールされていないという方は、まずこちらの対応からお願いします。
こちらは簡単に言うと、ローカル環境で開発をする上で必要なサーバ(WEBサーバやDBサーバ等)
の役割をまとめて担ってくれるようなソフトウェアです。
不安な方は
HTMLが動く仕組み
プログラミング学習を本格的に初めて1日目。
以下表題の問いについて分かったので、残しておきます。# どうしてブラウザ上でHTMLが動作するのか
結論、ブラウザには言語ソフト(解析エンジン)なるものが備わっており、
そいつがHTMLを解釈してブラウザに表示できたわけらしい。素朴な疑問だったけどわかってよかった。