PHP関連のことを調べてみた2020年07月12日

PHP関連のことを調べてみた2020年07月12日
目次

MAMPでDB接続にハマったときの話

最近PHPの学習始めました。
学習言語の雑食感が半端ないですが、必要に駆られてやっていることで、挫折したとかではありません。

動画でPHPを学習していたときのMAMP環境でDB接続するときにMySQLに接続できなかったときの話です。
教材では

“`php
getMessage();
}
?>
“`
とするように説明されていたのですが、MySQL SQLSTATE[HY000] [1049] Unknown database ‘mydb’
とのこと。いや、あるし。

で、色々ググってたらhostにポート番号いれて…というのを見つけたので、
host=127.0.0.1:3306

ん?そもそもMAMP環境でMySQLのポートは3306でいいのか?と思いながら指定するも、案の定変わらず。
とりあえず再起動するか、と思

元記事を表示

PHPのdate()やmktime()をjavascriptでも使いたい

同様の処理を行うライブラリとしてはdayjsやMoment.jsがメジャーかと思いますが、個人的にはあれほど多機能なものは要らなかったので作成してみました。

`toLocaleDateString()`や`toLocaleTimeString()`等でも色々な表現はできますが、個人的にはやっぱり使い慣れたフォーマット文字列での指定が楽です。

基本的にPHPの`date()`、`mktime()`とほぼ同様に扱えるかと思いますが、以下の既知の相違があります。

####mktime()####
第7引数 **is_dst** はありません。
第6引数 **year** にマイナスの値を渡した場合の結果がPHPの`mktime()`とは異なります。

####date()####
フォーマット文字は個人的に必須のもの(YmdHis)といくつかの簡単そうなもののみの実装で、PHPで使えるものすべてには対応していません。
PHPの`date()`ではフォーマット文字を`\`でエスケープすることでフォーマット文字を置換せずそのまま表示させることができますが、未対応です。

###参考###

元記事を表示

Mac+DockerでphpStormを使いWordPressテーマを一から作る(1/3)

先日、2009年から愛用していた懐かしの白いMacBook(Early 2009)を卒業して、MacBook Air2020(1,1GHz i5クアッドコア+SSD 512GB+16GB RAM)に乗り換えました。

先代はメモリを8GBまで増設して内臓HDDもSSDに換装してなんとか延命をしており、普段使用するアプリケーション(Photoshop CCの最新版とかphpStormとかableton Liveとか)はほぼストレス無く使えていました。

現在はうつ病の療養中で無職のためこれまでやってきてなかった事をしたいと思い、今更ながらSassなどこれまで業務の中で触れなかった技術を学ぼうと思い、まずはVirtualBox+CentOSで環境を作ってみたのですが、公式リポジトリのCentOSのバージョンが7系でphpも5.4系とかなり古いものでした。

そこでDockerを使ってみようとしたところ、旧マシンではOSのアップデートがSierra(10.12)で止まってしまっており現行バージョンのDocker Desktopが使えなかったので、例の一人10万円給付金を使ったMacBook

元記事を表示

【Laravel】保存済みデータを編集/保存する

既に保存されているデータの編集をします。

#編集画面
編集画面を作成します。

##Route

“`web.php
Route::group(
[‘prefix’ => ‘contacts’, ‘middleware’ => ‘auth’],
function () {
Route::get(‘index’, ‘ContactFormController@index’)->name(‘contacts.index’);
Route::get(‘create’, ‘ContactFormController@create’)->name(‘contacts.create’);
Route::post(‘store’, ‘ContactFormController@store’)->name(‘contacts.store’);
Route::get(‘show/{id}’, ‘ContactFormController@show’)->name(‘contacts.show’);
Rou

元記事を表示

特定のvalueを持つkeyだけ出力

引き続きこちらのデータを使う
[PHPの連想配列を使ってポケモン図鑑を作ってみた](https://qiita.com/tabiojisann/items/e4005afddc2536b20af7)

“`php
$pokemon = [
‘フシギダネ’ => ‘くさ’,
‘フシギソウ’ => ‘くさ’,
‘フシギバナ’ => ‘くさ’,
‘ヒトカゲ’ => ‘ほのお’,
‘リザード’ => ‘ほのお’,
‘リザードン’ => ‘ほのお’,
‘ゼニガメ’ => ‘みず’,
‘カメール’ => ‘みず’,
‘カメックス’ => ‘みず’,
‘キャタピー’ => ‘むし’,
‘トランセル’ => ‘むし’,
‘バタフリー’ => ‘むし’,
‘ビードル’ => ‘むし’,
‘コクーン’ => ‘むし’,
‘スピアー’ => ‘むし’,
‘ポッポ’ => ‘とり’,
‘ピジョン’ => ‘とり’,
‘ピジョット’ => ‘とり’,
‘コラッタ’ =>

元記事を表示

DockerでLAMP&Redis環境を構築しながら、色々使い方を覚える(備忘録)

もし不明なところや、間違いとかがあればご指摘頂けると幸いです。

## やること

“`
php-fpm(php7.4)
centos7
apache2.4
mariadb
phpMyadmin
nodejs (with Gulp)
redis
“`

– 上記の環境をDockerで構成する
– Dockerfileと各環境の設定ファイルを構成する
– docker-compose.ymlを構成する
– docker-composeで各環境のコンテナーを起動し内部状態を確認する
– Laravel上で、MariaDBとRedisのコネクションを確認する

## 全体ソースコード
https://github.com/genie-oh/docker-lamp

## 参考にした記事&Github レポジトリ
https://qiita.com/temori1919/items/487d68a19ca1de1a63c8
https://github.com/temori1919/docker-lamp

## 基本レファレンス
Dockerfileのレファレンス
https://doc

元記事を表示

学習したことを投稿していきます

完全未経験からプログラミングを学習しています。

投稿の目的
1. 自分の理解を深めるため
2. 自分の積み上げを確認するため
3. 自分のような完全未経験の視点から情報を発信することで同じ視点の方の役に立てると考えたから

Markdown記法もしっかり使い、自分の理解を深めるため、また、学習を始めた頃の自分が知りたかったことを投稿していきたいと思います。

間違い等無いように気を付けますが、何かありましたらご指摘いただけたら嬉しいです。

元記事を表示

PHP ビルドイン関数を学ぼう

#PHP の ビルドイン関数

phpには私たちが全てを1から実装しなくても良いように、
初めから用意されている関数がたくさんあります。

それらをビルトイン関数といいます。

ビルトイン関数はたくさんあります。
今回はいくつか紹介します。

#はじめに
これは初心者エンジニアから、フルスタックエンジニアになるための備忘録である:point_up:

#目次
1 strlen
2 str_replace
3 count
4 asort,arsort
5 strip_tags
6−1 array_push
6−2 array_push関数で連想配列に値を追加する
7 array_merge
8 time,mktime
9 date

##1 strlen : 文字の長さを取得する

“`php
6 と表示される
?>
“`

##2 str_replace : 文字列を置換する

“`php

元記事を表示

【Laravel】Viewに値を渡す方法は結局どれが良いのか

#個人的な結論

配列に突っ込んでまとめて渡す

#値を渡す方法
## ①withで渡す

“`HogeController.php
public function test() {
$hoge = “hoge”;

return view(“index”)->with(“hoge”, $hoge);
}
“`
ひとつならまあいいでしょう。

“`HogeController.php
public function test2() {
$hoge = “hoge”;
$fuga = “fuga”;
$piyo = “piyo”;

return view(“index”)
->with(“hoge”, $hoge)
->with(“fuga”, $fuga)
->with(“piyo”, $piyo);
}
“`
もしくは

“`HogeController.php
public function test2() {
return view(“index”)->wi

元記事を表示

icu4c がバージョンアップされたせいでphpが動作しなくなったときの解決策

# 背景

`php artisan list` など php のコマンドが実行できなくなった。
`php -v` すら動作しない。

“`
$ php -v
dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.66.dylib
Reason: image not found
“`

# 調査

かるく調べてみたところ、 `brew yarn install` (あまり自信がないがたぶんこれが原因)により、 `icu4c` がバージョンアップされてしまい、依存関係が崩れてしまったためのようだ。

“`
$ brew info icu4c
icu4c: stable 67.1 (bottled) [keg-only]
“`

どうやら、エラーから察するにこれをv66系にダウングレードする必要がありそう。

ちなみに、phpは `phpenv` でコントロールしていて、 `php7.2.24` で稼働しているのだが、 `新しめのバージョン(php7.3.11)` の場合は依存関係がクリアであるため問題なく動

元記事を表示

一つ目のサービスを作ってから、感じたこと/サービスを作りなおした話

# 1カ月前に「みんなでコードレビュー」というサービスを作りました~~

■参考記事
https://qiita.com/shibaHaya/items/734d5e2cd22f7e7d9576

このサービスは、自分のコードをレビューしてもらったり、軽い感じでレビューするサービスを想定して作ってみたものでした:relaxed:

## 経過 :man:
Qiitaに記事を書いて、「LGTM」をたくさんもらえて、それなりの流入がありました。
しかし、日がたつにつれサイトの訪問者はどんどん減っていきました:runner_tone5:

### 原因 :frowning2:

・サービス開始時に、それほど質問の量がないので、見に来る人も少なくなる(なので期間がかかる)
・そもそもこのサービスに人がいないので、コードを載せても答えが返ってこない、使わない
・コードレビューなら、普通Githubなどを使うし、軽い感じでコードレビューしてもらいたいって人があまりいないので、需要がない
・見た目が使いにくい
・そもそも知られてない

まあ、主な点はこんな感じだろう??と思う。。:ok_woman_

元記事を表示

30代未経験者の地方(愛知)へのエンジニア転職奮闘記始めます

はじめまして!
33歳のプログラミング未経験者である私が、地元の愛知県に転職活動をしている記録を残していきたいと思います。学んでいる言語はもちろん、転職活動をしていて感じたことを書きたいなと思います。

アラサーとなった今、人口が減って経済が縮小していく日本で、どのようなキャリアを造っていくのか悩むことが多くなってきました。そして周りにも同じ悩みをもつ同世代の友人は多いです。
自分の記録が、キャリア形成について悩んでいる方々に少しでもお役に立てばいいなと思います。

自己紹介

私は、愛知県生まれ、仕事の関係で静岡県に住み一般企業(安定的企業)で事務職に就いています。
専門学校卒で特段目立ったスキルもなく、凡人サラリーマンです。

なぜ転職をしようと考えたのか

私の就いている会社は比較的安定的な企業で、周りの人にも「その会社なら、一生安泰だわ」と言われるような会社です。

ただ内部で仕事をしていると悩むことも多いのです。

例えば
基本的に仕事はルーティーン業務。過去の記録をコピペするような業務です。
言われたことをミスなく黙ってやっていればいい

元記事を表示

PHPで身長を比較する関数を作る

returnの返り値をこれでやっと理解できた!

“`php
$y) {
return $X;
} else if ($x < $y) { return $Y; } else { return 'どっちも一緒'; } } function answer($name) { if ($name === 'どっちも一緒'){ echo 'どっちも一緒'; } else { echo $name . 'の方が大きい'; } } $A = '河合俊一'; $B = 'ボブサップ'; $a = 195; $b = 196; $tall = tall($A, $a, $B, $b); answer($tall); ?>
“`

実行結果は

“`
ボブサップの方が大きい
“`

コード汚なかっ

元記事を表示

[composer]Laravelプロジェクト作成

プロジェクトの作成

“`terminal
$ composer create-project laravel/laravel output_english
“`

app.phpの設定

“`php:app.php
‘timezone’ => ‘Asia/Tokyo’,
‘locale’ => ‘ja’,
“`

database.phpの設定

“`php:database.php
‘mysql’ => [
‘charset’ => ‘utf8’,
‘collation’ => ‘utf8_unicode_ci’,
],
“`

##データベース接続

データーベース、ユーザーの作成、`.env`設定後、マイグレーション

“`terminal
php artisan migrate
“`

エラーになる場合は[コチラ](https://qiita.com/tetsu-upstr/items/95edb817bcde5b13b908)を確認してみてください。

元記事を表示

【超初心者用】MacでApacheのドキュメントルートを確認する方法(Apacheの設定ファイルを探すというミッション)

「ドキュメントルートってどこだっけ?」となることが多い。確認方法だけわかっていたらいちいち覚えていなくてもいいし、変更することがあれば確認方法を知らないと困ることになるので、メモしておきます。

###ターミナルから確認するためのコマンド
ターミナルの起動を起動して次を入力すると出てきた!

“`
$ cd /etc/apache2
$ ls
extra magic original users
httpd.conf mime.types other
“`
左下に発見しました。

###httpd.confのディレクトリ
`/etc/apache2/`の中にあることがわかりました。
apache2の2はなんなんだろうと思ってしまいます。ターミネーター2の2とは意味が違うんでしょうけど。とりあえず`apache`ではなく`apache2`にあるということが注意点ですな。

###httpd.confを開く
“`
$ sudo vi httpd.conf
“`

で開きます。

viの操作も全然なれていませんが、頑張って探します。
###DocumentRootの記述を探す

元記事を表示

Laravel アプリケーションファイルを$ git clone 後に実施することメモ

# 目的

– LaravelアプリをGitHubからcloneした後に実施しないといけないことを毎回忘れるので自分用にまとめる

# 実施環境

– ハードウェア環境

| 項目 | 情報 |
| — | — |
| OS | macOS Catalina(10.15.5) |
| ハードウェア | MacBook Pro (13-inch, 2020, Four Thunderbolt 3 ports) |
| プロセッサ | 2 GHz クアッドコアIntel Core i5 |
| メモリ | 32 GB 3733 MHz LPDDR4 |
| グラフィックス | Intel Iris Plus Graphics 1536 MB |

– ソフトウェア環境

| 項目 | 情報 | 備考 |
| — | — | — |
| PHP バージョン | 7.4.3 | Homwbrewを用いて導入 |
| Laravel バージョン | 7.0.8 | commposerを用いてこちらの方法で導入→[Mac Laravelの環境構築を行う](https://qii

元記事を表示

【Laravel】usersテーブルにカラムを追加する

# 内容
はじめにマイグレーションを行うと、usersテーブルにnameとemailなどができるが、プロフィールを作成しようとすると、性別や年齢、自己紹介文などが欲しくなります。
そこで、既存のusersテーブルにカラムを追加する作業を行います。

# 前提
laravel7で行います。
すでにマイグレーションを行っているものとします。

“`zsh
% php artisan migrate
“`

# 方法
1. マイグレーションファイルを作成
2. カラムを追加
3. マイグレーション

## マイグレーションファイルの作成
“`zsh
% php artisan make:migration add_column_to_users_table –table=users
“`

どういう操作をするかわかりやすいファイル名にすると良いでしょう。
–tableオプションでどのテーブルを編集するか指定します。

## カラムを追加
“`php:20XX_00_00_000000_add_column_to_users_table.php
class AddColumnT

元記事を表示

【PHP】画面にエラー表示させる方法(デフォルト設定方法も説明)

MAMP等を立ち上げてPHPファイルをブラウザで閲覧した時に、エラーが発生して
画面が真っ白になることありますよね。
そんな時は、コードのどの行でエラーが発生しているのかを突き止められるよう
エラーメッセージを画面に表示するように設定すると便利です。

そのためには、主に以下の2つの方法があります。

***
**①PHPファイルにコードを1行追加する方法**
 →ファイル毎に追加する必要があります

**②PHPの設定ファイルを変更する方法**
 →一度設定すると、①のように毎回コードを追加する必要がなくなります
***

それでは、それぞれの方法について説明させていただきます。

# ①PHPファイルにコードを1行追加する場合

こちらは至ってシンプルで、エラーを表示させたいPHPファイルに
以下のコードを1行追加します。
これでエラーが表示されるようになります。

~~~php

元記事を表示

超初心者がherokuにPHPアプリを公開してみた!~デプロイ編~

前回投稿した[アカウント登録編](https://qiita.com/youth_case/items/f053e6542a8b65ad21aa)の続きです。
実際にアプリケーションをherokuにデプロイ(上げる)してみたので、手順をまとめました。

###デプロイしたもの
言語:PHP
FW:Laravel6.0
DB:MySQL
エディタ:Visual Studio Code

#アプリケーションの作成
herokuにデプロイするアプリケーションを作成します。
アプリケーション名は[前回登録したもの](https://qiita.com/youth_case/items/f053e6542a8b65ad21aa#%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AE%E4%BD%9C%E6%88%90)と同じものにします。

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

元記事を表示

PHPのアクセス修飾子

##はじめに
PHPのアクセス修飾子の違いについて今更ながらちゃんと理解できました。
今までちゃんと考えないで使っていたので復習しました。

##PHPのアクセス修飾子について
まずはアクセス権が厳しい順にprivate→protected→publicとなっています。

**・private**
同じクラスの中でのみアクセス可能。
非公開で継承クラスからもアクセス不可能。

**・protected**
そのクラス自身と継承クラスからアクセス可能。
非公開だがが、継承は可能。

**・public**
どこからでもアクセス可能。
アクセス修飾子がない場合は、publicを指定したものと同じになる。

まずprivateにできないか考えてそれば無理ならprotected→publicみたいな順に考えるのが良いでしょう。
publicを使えば動くは動くのですが、安定したサービスの運用のためには適切なものをつかうのが良いでしょう。

##おわりに
実装していく中で細かい部分に関してはいったんおいておいて大枠をとらえるようにしていましたが、これからは細かい要素も学んでいきたいと思います。

元記事を表示

OTHERカテゴリの最新記事