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

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

PHPで突如現れた「? : 」に、なんそれ!となった頃の話

めちゃめちゃ初心者だった頃、PHP Laravelでの業務中に、
先輩が書いたコードで突如現れた「? : 」に、なんそれ!となりました。

開発言語がPHPなので、
「PHP ? : 」とかでググってみても、いまいちHITしなくて困った記憶があり、
同じ様な人がいるかもしれないので、記事にしてみました。

早速「? : 」の正体ですが、条件演算子の中の『三項演算子』です。

“`
AAA ? BBB : CCC
“`

この形、

>AAA が「true」なら BBB 、「false」なら CCC

ということになります。

初心者だった頃の私は、この条件分岐なら全部if文で書いてました。

“`ruby:example.php
if ( AAA ) {
BBB
} else {
CCC
}
“`
どっちが見やすいか、一目で分かりやすいか、と言われると、
定義する値によるため、場合によって書き分ける必要があります。

条件や分岐後に定義したい内容が変数だけとかの短いものは、
「AAA ? BBB : CCC」の形がスマートだなと思います。

条件演算子『三項演算

元記事を表示

【Laravel5.5】キャッシュクリアコマンドと、まとめて実行する方法

Laravel5.5使用時の例です。
ファイルの変更を反映した後、実行しておきたいキャッシュクリアコマンド。

“`
php artisan cache:clear
“`
→「storage/framework/cache/data」内のキャッシュデータを削除する。

“`
php artisan view:clear
“`
→「storage/framework/views」内に全ビューのキャッシュデータを削除する。

“`
php artisan config:clear
“`
→「config」ディレクトリのファイルの更新内容が反映されるようになる。

“`
php artisan route:clear
“`
→「bootstrap/cache/routes.php」のRouteのキャッシュデータを削除する。

※ 各コマンドで何しているかは、
https://blog.capilano-fw.com/?p=768 より引用しました。
こちらのサイトにはとてもお世話になっております。感謝永遠に。。

## まとめて実行するには…

systemディレクトリ直下

元記事を表示

Laravel checkboxで複数取得する方法 

# はじめに
inputのcheckboxを使って

`1. 複数チェックの取得`
`2. チェックしたデータを保持する方法`

をまとめてみました。

# テーブル設計とリレーション

今回は`usersテーブル`と`categoriesテーブル`使っていきます。

userは複数のcategoryを持ち、categoryも複数のuserに紐づけられているので

多対多のリレーションになります。

##テーブル設計

`◎usersテーブル`

“` php:migration
public function up()
{
Schema::create(‘users’, function (Blueprint $table) {
$table->increments(‘id’);
$table->string(‘name’);
});
}
“`

`◎categoriesテーブル`

“` php:migration
public function up()
{

元記事を表示

PHPの最低限必要スキルのメモ

###・条件分岐やループ処理ができる(itやfor)

###・共通処理は関数化できる

###・オブジェクト指向プログラミングが簡単にできる
クラスとインスタンス、継承、カプセル、ポリモーフィズムを理解し、使いこなせる

###・データベースに対して、CRUD操作ができる
create, read, update, delete

###・セッションやクッキーを扱い、ステートフルなプログラムを実装できる

###・ログインとログアウト機能を実装できる

元記事を表示

PHPでログイン機能

前回の続きです。
PHPカレンダー:https://qiita.com/x49_n/items/64a04a85b72c6d581421
#ログイン機能作成
前回作成したカレンダーにログイン機能を追加していきます。

ご参考に:https://www.youtube.com/watch?v=uCvPMe5wsNk

#ログイン機能
・新規登録(ユーザー登録)
・ログイン+ログイン確認画面
・ログアウト+ログアウト確認画面

#ER図

![ER図.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/934823/6c07b5de-f207-75ba-c072-db07bf795ec9.png)

簡単ですが、ER図を作成しました。(本当はツールを使って作成したかった、、、)
ER図動画化したものについてはTwitterにて公開しています。

次回は予定入力欄を作成します!

元記事を表示

Laravelで画像を表示する方法

PHP、Laravelの初学者です。

Laravelで画像を表示させる方法がわかったので、メモしておきたいと思います。

※ 使用しているLaravelのバージョンは6.xです。違うバージョンをご使用の方はご注意ください。
また、私はMacを使用しているので、Windowsをご使用の方もご注意ください。

# Laravelで画像を表示させる方法

①「自分のプロジェクト/storage/app/public」の中に利用したい画像を置く。

 私は「/storage/app/public」にtop-page.jpgを入れました(以下の画像をご覧ください)。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/790372/2f5d21ee-0e90-9d7e-7688-9e95350a2b24.png)

② シンボリックリンクを張る

Laravel6.xの公式ドキュメントを見たところ、
「/storage/app/public」においた画像を使えるようにする(Webからのアクセスを許す

元記事を表示

JSとLaravelでAPI通信する際に日付データを合わせる(unixtime <-> Date)

# 概要

サーバーさん => Sさん
フロントさん => Fさん

あるときこんなやりとりを目撃しました。

>Sさん < 日付のフォーマットは20200222で送ってください >Fさん < ここは2020/02/22で送ってください >Sさん < この場合は2020-02-22で送ってください >続く….

そのとき第三者の私はこう思いました。
> 私 < Unixtimeでやりとりすれば、同じフォーマットでやりとりできるんじゃね?と... ## やってみた。 ```js:javascript // Date -> UnixTime
new Date().getTime() / 1000;
// 1611320223.828

// UnixTime -> Date
new Date(unixTime * 1000);
// Fri Jan 22 2021 21:57:44 GMT+0900 (日本標準時)
“`

※バックエンドはLaravelを使用しています

“`php:php
// Date -> UnixTime
$date = new DateTime(‘

元記事を表示

フレームワークとは

今回はフレームワークについて学習をしました。フレームワークとは何か、Ruby,PHP,JavaScript,CSSの代表的なフレームワークを公式サイトとURLと共に紹介します。
説明不足があると思いますので、気になったフレームワークを公式サイトで確認してみて下さい。

#フレームワークとは

「フレームワーク」という言葉には、「枠組み」という意味があり、アプリケーション開発においては、テンプレートの役割を持っています。テンプレートの機能は、開発を行う際に頻繁に必要とされる「基礎的な機能」をまとめて提供してくれるものです。
例えば、ログイン認証機能、新規投稿機能、検索機能などアプリケーション開発においてほとんど共通して使われる機能がパッケージ化されています。
そのため、フレームワークを用いることで開発を高速化させることが出来ます。
どれくらい便利なものかというと、ログイン認証を仮に自分で1から作成したとします。その場合、作らなければならないのが、ユーザーネーム、パスワードの欄を作り、それを認証、弾く機能、更にそれらを管理する画面など様々なところを作っていかなければなりません。しかし、フ

元記事を表示

WP_Queryのクエリ参考

#WordPress
WordPressのWP_Queryスニペットコードまとめ

“`php:wp_query.php
‘1,2,3’, // 著者IDを指定
‘author_name’ => ‘solecolor’, // user_nicenameを指定(名前ではありません)
‘author__in’ => array( 2 , 6 ), // 著者IDを配列で指定(著者IDを含む記事を絞り込む)
‘author__not_in’ => array( 2 , 6 ), // 著者IDを配列で指定(著者IDを含まない記事を絞り込む)

// ↓ 特定の「カテゴリー」に関連付けられた投稿を表示する場合
‘cat’ => 5, //

元記事を表示

PHPのバージョンを8.0にアップデートする

# 課題
PHPのバージョンをアップデートする

## 現状のバージョンを確認する
下記のコマンドでバージョンを確認

“`:ターミナル
$ php -v
PHP 7.4.7 (cli)
“`

*ちなみにですが今回はHomebrewを使ってアップデートしようと思います
Homebrewのインストールがまだという方はこちらをソッと置いておきます
(https://brew.sh/index_ja.html)

## PHP8系を検索する
次にHomebrewコマンドを使って現在インストールができるPHPのバージョンを検索します

“`:ターミナル
$ brew search php@8
==> Formulae
php@8.0
“`

## 最新のPHP 8.0 をインストールしてみる
どのバージョンをインストールするか決めたら
PHP 8.0を Homebrew経由でインストールします

“`:ターミナル
$ brew install php@8.0
“`

## PATHを通そう
インストールは無事にされたと思いますが、まだ終わりではありません
PATHを通す必要がある

元記事を表示

PHP入門 文法編

#0.what
php文法を自分なりに整理していきます.

#1.画面表示
###1.1.”Hello World”
“`php:index.php
‘);
print(“日本語”);
//123
//日本語
“`
#2.演算
###2.1.基本演算
“`php:index.php
//”.”で連結.
print(7 + 3.”
“); //10
print(7 – 3.”
“); //4
print(7 * 3.”
“); //21
print(7 / 3.”
“); //2.3333333333333
print(7 % 3.”
“); //1
“`
###2.2.変数
“`php:index.php
//$後の先頭は英文字か_
$test = 123;
print($t

元記事を表示

Instagram HTML 埋め込み

よく仕様が変わって表示されなくなるそうですが、まだ僕はペーペーなので体験してません。
##実装
###コード
“`

元記事を表示

【PHP初心者】Laravelを2週間触ってみて理解したこと②【ルーティング】

## 1.はじめに
こんにちは。nakaです。
昨晩ホームベーカリーをセットし、今朝は小麦のいい匂いで朝を迎えました( ˘ω˘ )
パンが大好きなのでとても癒されました・・・

さて本題に入ります!前回に引き続きLaravelについてまとめたいと思います。
前回の記事:[【PHP初心者】Laravelを2週間触ってみて理解したこと](https://qiita.com/naka____/items/cf0097c41f3946e50f70)

今回はルーティングについてです。

## 2.ルーティングとは
初めてLaravelのソースを見たとき、「えーとControllerやろー・・・・ん?」
controllerにリクエストのURLがなくてびっくりしました。
Laravelは代わりに**ルーティング**と呼ばれるものがその役割を担っているようです。
ルーティングのルートが「経路」と訳されるように、ユーザからのリクエストを受け取り、ある処理を実行するまでの案内人のようなイメージですね。

ルーティングは「routes/web.php」で設定できます。
Larabelをインストール後は、

元記事を表示

Amazon AWS Cloud9 開発環境を速攻で作る方法(令和最新版)

## はじめに

[以前、記事を書いた時は](https://qiita.com/qwe001/items/5922027fe50aacae10ad
)、公式ドキュメントに従うことで開発環境が速攻で作れました

ですが、デフォルトのプラットフォームが
Amazon LinuxからAmazon Linux 2 に変更になったからなのか、
公式ドキュメント通りにしても開発環境が作れなくなっていました。

今回、開発環境をまた用意する必要があったので、改めて書くことにしました。

2021年1月時点でのやり方なので、
将来的には同じように実行しても、
開発環境が作れなくなっている可能性はあります。

予めご了承ください。

## 要件

* Apache 2.4以上
* PHP 7.4以上
* MySQL(MariaDB) 10.2.10-MariaDB

PHPはデフォルトで7.2がインストールされていました。

ですが、今回用意しなければいけない環境はPHP7.4です。

yumにある最新のPHPは7.2までなので、
7.4を入れるためには、epelでリポジトリを追加する必要があります

元記事を表示

【Laravel】繰り返し処理は@includeを使う。PHPはビューではなくコントローラに記述する(リファクタリング)

リファクタリングの個人メモです。

– ビューの中に繰り返し処理を記述している場合は、処理を別ファイルに切り出し、`@include`で呼び出す

– PHPの処理はビューの中に書かず、コントローラで渡す(他でも使う処理の場合は自作のヘルパー関数を作って渡す)

##リファクタリング事例

###リファクタリング前のコード
以下のように同じコードが繰り返されている処理をリファクタリングする。

“`php:phones.balde.php

iphone

@foreach(__(‘service’) as $service)
@if( isset($service[‘category’]) && $service[‘category’] === ‘iphone’ )

cakephp4 – find(‘list’) キー/値のペア出力で値を配列にする

\

OTHERカテゴリの最新記事