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

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

Docker(PHP+Laravel+PostgreSQL)で環境構築後にphp artisan migrateで失敗した時の対処

Docker上で下記の環境を整えた後にコンテナ起動後、`php artisan migrate`をした際に以下に記載する2パターンのエラーに遭遇した際の対処をここに記す。

– 「could not find driver」
– 「configure: error: Cannot find libpq-fe.h.」

## 環境
– php:7.3-fpm-alpine
– nginx 1.17.8
– PostgreSQL 12.1
– Laravel 6.12.0

## エラーその1 「could not find driver」

“`
$ docker-compose up -d –build
$ docker-compose exec app ash
$ php artisan migrate

Illuminate\Database\QueryException : could not find driver (SQL: select * from information_schema.tables where table_schema = public and

元記事を表示

超使いやすい掲示板を作りたい

Qiitaをいつものように見ていたら、次のような記事を見つけた。

超使いやすい掲示板を無料かつ一時間で作ってみた (「東大生用のBBS」と「京大マップ掲示板」の避難所を作成しました)
https://qiita.com/utokyobbs/items/ab15ae39698475e0bac7

この記事を読んでて気が付いたのだが、ここで使ってる掲示板は昔に俺が作ったやつだった。
6年も前に作ったプログラム。もう放棄したもので、今となっては黒歴史的な恥ずかしさ。

自分の作品集として「掲示板」は必要なポートフォリオ。
それがあれでは納得がいかないと常々思っていましたが、最近になって一念発起して、新しい掲示板を作り始めた。

その成果がこれ。

![9.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/70356/ae61ce11-e85d-259f-cc80-ea36bc0deec6.png)

知っている人なら一目瞭然ですが「かちゅ~しゃ」です。

(自分にとって)超使いやすい掲示板を考えると、使い

元記事を表示

30歳未経験でのジョブチェンジ -自己紹介編-

昨年末に退職し、現在Web業界での転職を目指してプログラミングの勉強をしています。
そんな私が転職までの活動の記録をつけることにしました。

1.前職でのお話
装置メーカーでのサービスエンジニアの仕事をしていました。
簡単にいえば、製品のサポート役です。
仕事内容、給与・待遇に不満はありましたが、労働環境は良かったです。
残業も殆どなく、周囲の人間関係も良好でした。
特に昼食はボリュームがあり、品数も豊富でとても美味しかったです。
世間でいうところのホワイトカラーだったと思います。

2.転職を志したきっかけ
30歳を目前にして10年後や20年後に現在の仕事に従事している自分を思い浮かべたときです。
「このままここで技術を培っても、ここでしか働いていけないな。」と思ったのです。
エンジニアとして、その環境でしか生きていけないのは勿体ないと思いました。

そんなときに昔見た動画を思い出しました。
40歳ぐらいのアメリカ?のおばちゃんがスピーチをしていました。
自己投資をしながら歩むべき道を決め、30歳からそれをスタートできるように人生設計をするといった内容のものです。
今がそのときだと思

元記事を表示

VSCode + Azure WebApp + PHP で開発してみる

### 事前準備
あらかじめ下記をインストールしたWindows10 で行っています
・Visual Studio Code
(Extension として Remote Development をインストール
・Docker DeskTop for Windows

サンプルリポジトリも任意のフォルダにダウンロードしておく

“`
git clone https://github.com/Microsoft/vscode-remote-try-php
“`

### 早速初めて見る
(1)Remote Developmentのメニューボタンをクリック
  (左下でちょっとワカリニクイ)
![webapp+php_01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/313446/48359124-5bb1-5b0b-d833-c922f15d0398.png)

(2)「Remote-Containers: Open Folder in Container …」を選択
 ※今回は新規にフォルダ

元記事を表示

このPHPがテンプレートエンジンのくせに慎重すぎる (中篇)

## この記事について

みなさんここまでついてこられていらっしゃいますでしょうか。この記事は[このPHPがテンプレートエンジンのくせに慎重すぎる (前篇)]の続きなので、先に読んで、できれば実際に準備してから来てください。

一気に後篇を書いてしまおうとも思ったのですが、前回は徹夜して書いたので本日は著しく眠いので「Psalmの続き」と「型宣言」と「Phan」の話を書いて私は寝ます。

[このPHPがテンプレートエンジンのくせに慎重すぎる (前篇)]: https://qiita.com/tadsan/items/bf61520eb2d455e0e8b4

## Psalm/Psalter (前回の続き)

さて、PsalterはPsalm同梱の修正ツールです。`./vendor/bin/psalter –issues=all`で実行するとプロジェクト内のファイルが書き換えられます。

Psalterに限らず、今後ソースコードを自動で書き換えるツールがありますので、実行前にGitでコミットしておいてください。

“`diff
diff –git a/src/Hello.php

元記事を表示

CakePHPからGoに移行してクリーンアーキテクチャ目指し2年経った話

# TL;DR
– 8年近く稼働していたPHPのシステムをGoでリプレースしようと試みた経緯と経過報告。
– Goを書きたいエンジニアは絶賛募集中だよ:smiley:

# 自己紹介
– twitter: [Go里?‍♂️](https://twitter.com/bumcru0310)
– 2015/10からHowtelevisionにジョイン
– Go/PHP/JS/EngineeringManager

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/62143/2e555b29-37c9-fea2-cffb-92114e93328f.png)

# 開発合宿に自転車で行く図 :bicyclist:
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/62143/82932c58-04ab-a42b-4722-cc9dfb4c7377.png)

# 副業

元記事を表示

サーバーまとめ②Nginx編

#はじめに
前回はApacheを使ったサーバーの構築に関する記事を作成しました。そちらをご覧になっていない方はそちらもご覧ください。

NginxはApacheと同じくサーバーを構築するためのアプリの1つです。Apacheに比べてアクセス数が増えても処理が重くならないという長所があるのが特徴です。

**※両社の比較を細かく行っている方の記事が参考になると思いますのでそちらを見ていただくと理解が深まると思います。**

#使用環境
前回と同じです。

#参考文献
CentOS7.1でnginxを用いたウェブサーバの構築
https://qiita.com/tomy0610/items/0884c77f1ac52957fa96

サーバーまとめ②Apache編
https://qiita.com/FangJoker7714/items/0e92a161d1a5dc90276c

#Nginxのインストール
まずは、Nginxのインストールを行っていきたいと思います。下記コマンドを入力してください。

“`
sudo yum install nginx
“`

**※環境によってはこ

元記事を表示

phpでカレンダーを作る(初心者用)

##はじめに
インターンでlaravelを使うことが多く、一刻も早く理解するべくまずはphpを勉強だ!と思ってカレンダーを作りました。
初心者でphpを勉強する人の参考になれば幸いです。
htmlとphpの基本的な書き方。ループ処理などの文法がある程度わかっていれば余裕でわかると思います!

参考にしたサイトhttps://php1st.com/1001

##準備
phpはサーバーサイドの言語なのでローカル環境で動かすことができません。
とはいえ、いちいちサーバーにあげて確認するというのも手間がかかってしまいますので、
まずはローカル環境でもphpの動作確認ができるソフトウェアをダウンロードしていきましょう。

今回はxamppというWebアプリケーション開発に必要なソフトウェアをまとめたものがあるのでこちらをインストールしていきます。

自分はmacを使っているので下記のサイトがわかりやすかったです。参考にしてください。

Mac用のXAMPPをインストール。ローカル開発環境の準備と簡単な使い方

windowsの方はこちらのサイトがわかりやすいと思います。
https://

元記事を表示

超使いやすい掲示板を無料かつ一時間で作ってみた (「東大生用のBBS」と「京大マップ掲示板」の避難所を作成しました)

# 「京大マップBBS」が話題に

> 京大マップ
@kyodai_map
【新機能追加】
京大マップでは新しい機能として京大マップ掲示板をリリースしました!誰でも匿名でスレッドを作ったり、そのコメントに対してコメントすることができます。普段はつながれない人とつながれるかも!?
掲示板のサイトはこちら→https://bbs.kyodaimap.net

これを見て東大にも匿名掲示板が欲しくなりました。また、京大マップBBSが落ちていたので、ついでに避難所も作りました。(詳しくはhttps://qiita.com/utokyobbs/items/e6d04d1473b72768f5fc を参照)

# 作成の方針

モダンなdjango等でオートリロード等機能がある掲示板を作ってもpythonが動きライブラリなどインストールできるサーバーは無料でなさそうだし、(あったら教えてください)サイトは重くなりそうです。

ところで5ちゃんねるは20年間ほぼUIが変わっていません

元記事を表示

サーバーまとめ①Apache編

#前回
前回はPHPに関する記事を記して参りました。そちらをまだご覧になっていない方でご興味のある方はそちらもぜひご覧ください。

#はじめに
今回、筆者がサーバーに関する記事を書こうと思った理由は単純にサーバーについて知りたいと思ったからです。フレームワークを用いてWebサイトを作成する中で、きちんとプログラムが動いているかを確認する際や、変化を反映させるためにサーバーを起動するコマンドを入力することがあると思います(Rubyで言うところの`rails s`など)。これを起動する度に「サーバー」とは一体何なのだろうかと気になったためこの機会にサーバーについて基本的なことを知りたいと思いこの記事を書こうと思いました。

また、この後にも出てきますが、筆者が初めて`Apache`を用いてサーバーを構築した際に何が何だかさっぱりわからなかった経験から、今後サーバーを触ってみたいという方の後押しをできればいいなと思ったのもこの記事を書こうと思ったきっかけでもあります。

長話はさておき、サーバーについて説明していきたいと思います。
※この記事はどちらかというと備忘録的な意味合いが強いため間違

元記事を表示

変数の使用イメージ

– 左辺で代入したら、様々な目的地に応じて値を運び、右辺から値を取り出す。
– 下から上には運べないので、上から下に下ろしていく。
– 下であれば、必要なときに何回でも取り出せる。の範囲を飛び越えて運ぶことも可能。

– また、途中で値を再代入(上書き保存)できる。
その場合は、前のデータは共存できず消えてしまい別の値を運ぶことになる。
![val.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/14068/29b9b93a-2e93-1f51-cb35-2f7cf7ce1c60.jpeg)

元記事を表示

このPHPがテンプレートエンジンのくせに慎重すぎる (前篇)

この記事では[Packagist]で公開可能な形式のPHPのライブラリ([Composerパッケージ][Composer])を公開するための道具立てを紹介します。あと、現代のPHPerはツールを組み合せてさくっと開発しているんだという自慢です。

タイトルは「[この TypeScript が Hello, world! のくせに慎重すぎる](https://qiita.com/matzkoh/items/90baab22ad489b78384b)」と「[この勇者が俺TUEEEくせに慎重すぎる](https://dic.pixiv.net/a/%E3%81%93%E3%81%AE%E5%8B%87%E8%80%85%E3%81%8C%E4%BF%BATUEEE%E3%81%8F%E3%81%9B%E3%81%AB%E6%85%8E%E9%87%8D%E3%81%99%E3%81%8E%E3%82%8B)」の*ぱくr*… パロディです。

テンプレートエンジンのくせに型安全なんてなまいきな。

[Packagist]: https://packagist.org/
[Composer]:

元記事を表示

(Laravel)bladeで変数$errors に任意のエラーメッセージを追加するディレクティブ

##(Laravel)bladeファイル内での $errors に、任意項目のエラーメッセージを追加するマクロ

“`app/Provider/BladeCustomizeProvider.php
\Blade::directive(‘register_message_to_errors_variable’, function ($expression) {
[$key, $message] = explode(‘,’,$expression);
return “hasBag()){‘.’$errors->put(“default”, (new \Illuminate\Support\MessageBag));}’.’$errors->add(‘.”{$key}”.”,{$message}”.”); ?>”;
});
“`
使い方

“`form.blade.php
@register_message_to_errors_variable($key, ‘

元記事を表示

xamppでmysql利用時のトラブル(PHPからのmysql接続時の認証エラー原因)

###1.phpからmysql接続テスト(突然の認証エラー)

mariadb(mysql)にはrootで入れるの(というかDB作成、テーブル作成まで完了)に、
テストプログラムの接続で失敗。下記のようなエラー画面(caching_sha2_password)
が表示される。

この画面で何のプログラムかわかる人は、きっと天才だ。

![php_auth_err.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/494408/c45fe43d-68cd-73f8-1316-2fc09104d7f7.jpeg)

###2.解決法(ホスト名の後ろに何かを指定)

ググって修正した結果が下記のプログラム。

“`php:test_dino2_mysql.php



恐竜登録テスト

開始

元記事を表示

PHPフレームワーク Laravel

趣味でプログラミングを勉強しています。
古本販売サイトを作成したいと思って勉強を始めたのですが、コワーキングスペースにいるプログラミングに詳しいTさんに「スクラッチ開発するより、フレームワークを使ってサイトを作成するほうがいいよ」とアドバイスをいただき、おすすめPHPフレームワーク「Laravel」を今回記事にしてみました!! (^-^)

### PHPフレームワーク「Laravel」

– スクラッチ開発した場合の問題点
– セキュリティの問題
– メンテナンスの問題
– 拡張性の問題
→スクラッチ開発する場合、セキュリティやメンテナンス性、拡張性などは全て自分で実現しないといけない

##### フレームワークとライブラリ比較

– フレームワーク
– 機能 + 機能を使う仕組み
– セキュリティやメンテナンス性、拡張性が考慮されたシステム
– 開発で多用される様々な機能や仕組みを持ったソフトウェア

– ライブラリ
– 開発に役立つ便利な機能を備えたソフトウェア

#### Lara

元記事を表示

Account Activity API をphpで実装してみた

#Account Activity APIの実装手順
##構築環境
・windows
・insomnia
・ngrok
・xampp

※それぞれの設定方法などは今回記載していません。

##Account Activity API の概要

(参考: https://developer.twitter.com/en/docs/accounts-and-users/subscribe-account-activity/overview)

・上記の内容を要約すると、webhookを使って、登録しているアカウントに対して、
何かしらアクションが起こった際にリアルタイムで情報を教えてくれるよ!
って感じです。

###アクション一覧

|||
|—————–|——————|
|ツイート|ブロック|
|ツイートの削除|ブロック解除|
|@メンション|ミュート|
|返信|ミュート解除|
|リツイート|送信されたダイレクトメッセージ|
|ツイートの引用|受信したダイレクトメッセージ|
|引用されたツイートのリツイート|入力インジケーター|
|いいね|

元記事を表示

enterキー無効にする方法

# メモとして、一応。

“`

又は

onSubmit=”this.onsubmit=function(){return false}”

“`

これは一番簡単かつ有効。

元記事を表示

?【CakePHP2】エレメンツをデフォルトのapp/View/Elements以外のディレクトリから呼び出す

## 環境
PHP 7.2.21
CakePHP 2.10.18

## やりたいこと

Elements以外のディレクトリにエレメンツテンプレートを置いた場合や別Appにあるエレメンツテンプレートを呼び出したい

## やったこと

cdコマンドと同じ指定を使うことでデフォルトである「app/View/Elements」以外の別階層を指定できる

※CakePHPの設計思想は**「設定より規約」(convention over configuration)**に賛同しているのであまり使いどころはないかもですが

### 同じAppの別ディレクトリのエレメンツテンプレートを使用
test/app/View/ から test/app/View/Form/default.ctp を呼ぶ

“`test.ctp
element($elementsDir);

// 変数渡しがある場合
echo $this->elemen

元記事を表示

コピペでできるCentOS8におけるZephir開発環境手順

# 何がしたいのか?
CentOS8でZephirの開発をする

# そもそもZephirってなに?
– PHP拡張モジュールのための開発言語
– 普通のPHP拡張モジュールはCで書く
– 文字列操作が複雑
– メモリ管理が煩雑
– PHP拡張モジュール独自の要素もある
– ZephirはPHPライクな記法
– メモリも文字列も自由に書ける
– PHPの関数をそのまま使える
– 主にclass作成用で、OPCacheのようにエンジンの置き換えはできない?

## 公式ドキュメント
[Zephir Documentation v0.12](https://docs.zephir-lang.com/0.12/en/)
[github](https://github.com/phalcon/zephir)

# どんな環境を作るの?
– OS
– CentOS8
– PHP
– PHP7.2.11
– httpサーバ
– Apache

# コピペでできるインストール手順
## 必要なパッケージのインストール
dnf install -y git g

元記事を表示

macOS CatalinaにしてからLaravelの環境設定が詰まった

# Laravelの環境設定で詰まった

使用環境
MacOS Catalina
php Version 7.3.8
composer version 1.9.2
Laravel installer 3.0.1

<発生した問題>
composerを使用して、下記コマンドでlaravelインストールを実行しました。

“`terminal
composer global require laravel/installer
“`
すると、

“`terminal
-laravel/installer v3.0.1 requires ext-zip * -> the requested PHP extension zip is missing from your system.

-laravel/installer v3.0.0 requires ext-zip * -> the requested PHP extension zip is missing from your system.

-Installation request for laravel/installe

元記事を表示

OTHERカテゴリの最新記事