PHP関連のことを調べてみた2021年10月11日

PHP関連のことを調べてみた2021年10月11日
目次

Access to XMLHttpRequest_at ○○ from Origin ‘○○’ has been blocked by CORS policy ..エラーが出た

## 状況
APIを叩いて外部のアプリケーションリソースにアクセスしようとしたら以下のようなエラーが出た。

“`
Access to XMLHttpRequest_at ○ from Origin ‘’ has been blocked by CORS policy …
“`
## 環境
環境: Laravel 6.x
ブラウザ: chrome

## 解決方法
Corsヘッダーを設定する。
(Laravel7.0よりこのパッケージは初期テンプレートにバンドルされ、初期状態で利用可能となった。)

## 手順

[1.パッケージのインストール](#1-パッケージのインストール)
[2.Middlewareを追加する](#2-Middlewareを追加する)
[3.設定ファイルをpublishする](#3-設定ファイルをpublishする)
[4.項目を設定する](#4-項目を設定する)

## 1. パッケージのインストール
“`
  composer require fruitcake/laravel-cors
“`
  上記コマンドを実行し、composer でパッケー

元記事を表示

composerコマンドのオプションをデフォルトにしたい

# オプションを毎回付けるのが面倒
面倒な上に忘れがち。

“`bash
$ composer install -o
$ composer dump-autoload -o
“`

# デフォルトでオプションを付ける
“composer.json“の“config“から設定できます。

“`composer.json
{
“config”: {
“optimize-autoloader”: true
}
}
“`

設定後は自動でオプションが適用されます。

“`bash
# オプションなしでOK
$ composer install
$ composer dump-autoload
“`

設定方法の詳細は[公式ドキュメント](https://getcomposer.org/doc/06-config.md#optimize-autoloader)に掲載されています。

元記事を表示

composerのロングオプションはコマンドによって違うこともある

# ロングオプションに注意!
autoloadのoptimizeオプションは“install“と“dump-autoload“でロングオプションの表記が違います。

詰みました。

“`bash
$ composer install –optimize-autoloader
$ composer dump-autoload –optimize
“`

ショートオプション“-o“は共通です。

“`bash
$ composer install -o
$ composer dump-autoload -o
“`

他にもこういうオプションがあるのだろうか…
詰んだら[公式ドキュメント](https://getcomposer.org/doc/03-cli.md)へ。

普段はショートオプション使いですがw
ロングオプションの方がコマンドの意図が分かり易いので、覚えておいて損はないと思います!

元記事を表示

【Laravel】CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP のせいでtimestampのカラムが勝手に更新されてしまう

# timestampはデフォルトで, CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP属性がつく

マイグレーションファイルで`timestamp`のカラムを設定すると, レコードを更新すると日付が自動更新されるようになっています. DBを確認すると, カラムの属性に`CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP`がついています. これを消せばカラムが自動更新することがなくなります.

“`migrate.php

元記事を表示

【Javascript】画像URLを入力した瞬間に画像プレビューできるテキストエリアを作ってみた

#### はじめに
最近業務でjavascriptでUI実装をする機会が増え、その最中今後も使いそうな機能については備忘録をのこしておこうと思っての投稿です!
「ネット検索した画像URLをそのまま画像出力をする機能が必要だったためその機能実装メモです!
### こんなかんじ?

![プレビュー.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/549258/da30a6dd-c841-d5dc-75ab-887bceae3cfc.gif)

#### 完成コード
“`php:hoge.blade.php

TSVバナー画像のベースURL
【PHP】match式のやり方

“`PHP
‘one’,
2 => ‘two’,
3 => ‘three’,
default => ‘other’,
};

echo $result;

“`

#結果
“`
3

“`

元記事を表示

【第八回】コロナ禍だから何かできることをー 自宅療養者連絡ツール ー

#前回までのあらすじ
[【第七回】コロナ禍だから何かできることを](https://qiita.com/STYLE-D/items/71085dc9a04042f33f0e)

####実装イメージ図
LINEを利用して保健所の担当者の負担を軽減するとともに、自宅療養者はいつでもつながっている安心感を持たせるためのツールイメージです。
![メイン.00_00_51_12.Still002.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/744261/cf85391e-aef8-5a59-0a1d-63d8e15412ce.jpeg)

今回はWEB画面上でできる機能の説明をします。

###権限情報
前回、作業者の権限によって利用できる画面が変わると説明しました。
実際に利用できる画面が以下のようになります。

| 画面名 |システム管理者|管理者|作業管理者|作業者|
|:-|:-:|:-:|:-:|:-:|
|ログイン|〇|〇|〇|〇|
|メニュー|〇|〇|〇|〇|
|連絡情報|〇|〇|〇|〇|

元記事を表示

【超初心者向け】プロゲートで本当に身に付くプログラミング学習方法

#目的
**プロゲートで本当に身に付くプログラミングの学習方法を紹介します!**
記事は下に移動しました!

https://sg-report.com/progate-study/

元記事を表示

npm install && npm run devのエラー発生

##npm install && npm run devのエラーが発生

“`
//下記エラー
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! @ development: `cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js –progress –hide-modules –config=node_modules/laravel-mix/setup/webpack.config.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the @ development script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm

元記事を表示

PHP -正規表現に関する関数-

# PHP 正規表現に関する関数
主な正規表現

|意味|正規表現|記述例|記述例の意味|
| — | ——- | ——- | ———- |
|文字列の冒頭|^| ^line| 冒頭にある「line:」|
|文字列の終端|$|。$|終端にある「。」|
| 改行文字を除く任意の1文字| .| …|任意の3文字。例えば「abc」,「xyz」などにマッチ|
|いずれか|[]|[abc]|「a」,「b」,「c」のいずれか1文字|
|文字の範囲|-|[a-zA-Z0-9]|a ~ z ,A ~ Z, 0 ~ 9のいずれか1文字|
|以外|[^]|[^0-9]|0 ~ 9以外の1文字|
|指定回数の繰り返し|{n}|[0-9]{3}|0 ~ 9の連続する3文字|
|指定回数の繰り返し範囲|{n,m}|[a-zA-Z]{1,3}|アルファベットの1~3回の繰り返し。「ab」や「ABC」などがマッチする|
|1回以上の繰り返し|+|[a-zA-Z]+|アルファベットの1回以上の繰り返し。「a」や「abcde」などがマッチする|
|0回以上の繰り返し|*|abc*de

元記事を表示

【初学者奮闘録】Cookieを利用したカウンターの作り方(PHP)

###はじめに
この記事は、独学開始から約3ヶ月の実務未経験者が作成したものです。
よって、スキルは非常に未熟なため、決して本記事の内容を鵜呑みにされないよう、ご注意ください。
(未熟な私が記事投稿を行なっている背景については、本文の最後にお伝えします。)
また本記事は、PHP言語の基礎理解を目的としております。
よって、Webアプリ開発におけるルーティングなどについては考慮できておりませんので、ご容赦ください。

###本日の学習課題
今回はCookieを利用したカウンターの作成方法について、アウトプットします。
以下が、完成コードです。

“`
function get_count(){

if (isset($_COOKIE[“count”])){
$count = $_COOKIE[“count”] + 1;
}else{
$count = 1;
}

setcookie(“count”, $count, time() + 30);
}
“`
上記のコードを実装してある私の自作W

元記事を表示

【第七回】コロナ禍だから何かできることをー 自宅療養者連絡ツール ー

#前回までのあらすじ
[【第六回】コロナ禍だから何かできることを](https://qiita.com/STYLE-D/items/321038c8028eb9e9231f)

####実装イメージ図
LINEを利用して保健所の担当者の負担を軽減するとともに、自宅療養者はいつでもつながっている安心感を持たせるためのツールイメージです。
![メイン.00_00_51_12.Still002.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/744261/cf85391e-aef8-5a59-0a1d-63d8e15412ce.jpeg)

前回までで一通りの流れを説明したので、今回からはシステムについて大きく説明していきたいと思います。
まずは、データベースの構造から。

##データベースの構造
![システム構成-データベース構造.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/744261/368e9c5a-d555-3c1

元記事を表示

PHP 関数定義

#関数定義

“`PHP:エディター
/**
整数xを受け取り、xの2乗を返す関数を作成。
**/

元記事を表示

【初学者奮闘録】訪問者数カウンターに関わる関数についての学習(PHP)

###はじめに
この記事は、独学開始から約3ヶ月の実務未経験者が作成したものです。
よって、スキルは非常に未熟なため、決してこの記事の内容を鵜呑みにされないように、ご注意ください。
(未熟な私が本記事の作成に至った背景については、本文の最後にお伝えします。)
また本記事は、PHP言語の基礎理解を目的としております。
よって、Webアプリ開発におけるルーティングなどについては考慮できておりませんので、ご容赦ください。

### 参考にしたサイト記事
本記事を作成するために参照したのは、PHP公式マニュアルです。
https://www.php.net/

###【訪問者カウンター】のコードレビュー
まず、今回レビューしていく完成コードは以下の通りです。

“`
function set_count( $file_name = “counter.txt”){

//【ブロック①】
if( file_exists($file_name) ){
$count = (int)file_get_contents($file_name) + 1;

元記事を表示

【凡ミス①】Formタグ外に登録ボタンを配置

#私の凡ミス集その①です。
Formタグ外に登録ボタンを配置した事が原因で、
登録ボタンが反応しなくなる。

##環境
* PHP7
* Laravel6
* Docker

##背景
* ユーザー登録画面と処理機能作成時の凡ミス
* 登録ボタンを押しても反応無し。エラーすら出ない。笑
* `RegisterController.php`を確認しても問題は見当たらない
* `Web.php`の記述は、`Auth::routes();`で認証系はバッチリ
* `register.blade.php`の記述を見ても、この時点では間違いが見当たらず
* 諦めて就寝…

##解決

翌朝`register.blade.php`を再確認したところ、
Formタグ外に登録ボタンを間違って配置していたおかげで、
入力データがPOSTされていない事を確認。

“`PHP:register.blade.php

OTHERカテゴリの最新記事