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

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

【Laravel】コンポーネントとスロットの使い方を実例で理解する(@component & @slot)

Laravelで使われるコンポーネント(`@component`)とスロット(`@slot`)の使い方について。

[Laravel公式のコンポーネントとスロット](https://readouble.com/laravel/5.5/ja/blade.html)を参照したがコードに**`slot`が複数あったりで機能がわかりにくい**ので、**要素を分解し確認**してみた。

##目次

1. [ファイルの準備](#ファイルの準備)
2. [コンポーネントの中身をそのまま表示](#1-コンポーネントの中身をそのまま表示)
3. [変数slotでデータを渡す](#2-変数slotでデータを渡す)
4. [指定したslot名でデータを渡す](#3-指定したslot名でデータを渡す)

##ファイルの準備
用意するファイルは2つ。

(1)ビュー
viewsフォルダ直下に`comp-slot.blade.php`を作成。

“`:ディレクトリ
app > resources > views > comp-slot.blade.php
“`

(2)コンポ

元記事を表示

【Laravel】プロジェクトの作成からブラウザ経由のDB操作までを実際にやってみる(アプリ作成の手順詳細)

Laravel学習のため、プロジェクト作成しブラウザからのDB操作(新規追加、編集、削除)を自分でやってみる。

##目次
1. [composerのインストール](#1-composerのインストール)
2. [laravelのインストール](#2-laravelのインストール)
3. [laravelサーバーの起動](#3-laravelサーバーの起動)
4. [DBにsqliteを設定](#dbにsqliteを設定)
5. [モデルとマイグレーションの作成](#モデルとマイグレーションの作成)
6. [マイグレーションでDBのテーブルにカラムを追加](#マイグレーションでdbのテーブルにカラムを追加する)
7. [コントローラの作成](#コントローラの作成)
8. [ルーティングの設定](#ルーティングの設定)
9. [seederを使ってテストデータをDBに設定](#seederを使ってテストデータをdbに設定する)
10. [一覧画面の作成(ブラウザにDBの全データを表示)](#一覧画面の作成ブラウザにdbの全データを表示)
11. [詳細ページの作成](#詳細ページの作成

元記事を表示

Vagrant(仮想化)でLaravel環境の構築について自分なりにまとめてみた(Windows10)

# はじめに

Laravelでの環境構築の際にLaravelの公式ドキュメント様よりVagrant環境(仮想環境)で構築するよう記述されていたので私自身のアウトプットのために記事にしてみました。

# 目次

1. [環境構築](#Chapter1)
1. [使ってみてわかったこと](#Chapter2)
1. [参考文献](#reference)



#環境構築
Vagrantとは、ローカル環境内にWarning: Illegal string offset ‘ ‘ in… の解決方法

今回は、SQLから取得したデータをsmartyを使って、foreachでtable表示させようとした際に発生したエラーが解決した方法をご紹介します。

##発生したエラー
“`
Warning: Illegal string offset ‘出力変数の各カラム名’ in…
“`
下記のサイトを参考に解決したのですが、全て英語で書かれた記事なので、正直正確なエラー発生の原因がわかっていません。
どなたか詳しい原因が分かる方いましたらコメントにて教えて頂けると幸いです。
私の場合は、どうやら出力変数のキーを文字列で指定していた為に発生したようです。

・参考サイト
https://stackoverflow.com/questions/9869150/illegal-string-offset-warning-php#:~:text=The%20error%20Illegal%20string%20offset,string%20as%20a%20full%20array.&text=For%20those%20who%20come%20to,about%20it%2C%20as%

元記事を表示

Dockerでapache7.4+mysql8環境構築(初期データ入り)

今更ですが、Macで表題の環境を作らなくてはいけなくなったので、構築してみました。
備忘録として書いておきます。

#環境
マシン macOS Catalina 10.15.7

#構成
ファイル、ディレクトリの構成はざっくりと以下のようにします。

“`
任意のディレクトリ

├── docker-compose.yml

├── html/
│ └── index.html

├── mysql/
│ ├── Dockerfile
│ ├── data/
│ ├── init/
│ │ └── init.sql
│ └── my.cnf

├── php-apahce/
├── Dockerfile
└── php.ini
“`

#この構築の重要な部分
docker-compose.ymlとDockerfileがこの構築の重要な部分になります。

|ファイル名|説明|
|:—|:—|
|docker-compose.yml|コンテナの構成を定義するもの。

元記事を表示

【コピペ】Docker ComposeでLaravel開発環境を構築その参

前回、docker-compose.yml達と一緒にLaravelをリポジトリ管理して、かなりスッキリした。
[【コピペ】Docker ComposeでLaravel開発環境を構築その弐](https://qiita.com/_bobtabo_/items/8dae5b256f1454c082ec)

でも、ふと思った、、、Laravelは別リポジトリで管理したいな。。。

# マシンスペック
* Mac mini 2018
* macOS Catalina(10.15.x)
* Intel Core-i7 3.2GHz 6コア
* メモリ 32GB
* SSD 512GB

# やること
* Docker Compose環境のLaravelを別リポジトリにする

# 前提条件
* 空リポジトリを用意しておく

# Docker Compose環境の準備

[【コピペ】Docker ComposeでLaravel開発環境を構築その弐#使い方](https://qiita.com/_bobtabo_/items/8dae5b256f1454c082ec#%E4%BD%BF%E3%81%8

元記事を表示

Laravel 多対多。野球選手を例にして考えてみる

##Laravel多対多について
多対多の概念や使い方が難しかったので、野球選手とポジションを例に考えてみる。
野球選手:ポジション

例えば、
### 選手目線
大谷は投手と外野の複数のポジションを守れる

### ポジション目線
外野は大谷とイチロ-が守れる
このとき、野球選手とポジションは多対多の関係にあるといえる
この考えから下記のテーブルを作成する。

### users(選手)目線
イチロー(1):外野(4)
大谷(2):投手(1)、外野(4)
阿部(3):捕手(2)、内野(3)

### ポジション目線
投手(1):大谷(2)
捕手(2):阿部(3)
内野(3):阿部(3)
外野(4):イチロー(1)と大谷(2)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/943494/e1261a9e-67a2-29a7-39e7-0f7a52b22538.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.

元記事を表示

JavaScriptからPHPのサーバに文字列を引数にしてWebAPIを実行する例

#クライアント側のhtmlファイル

“`html






ここにWebAPIの結果が入ります