- 1. containすると全件表示されない。
- 2. PHP Slim3フレームワークのサンプルアプリを作ろう(2-1. アプリケーションの作成・表示)
- 3. Laravelでメモリリーク??? 実はそんなわけなかったというしょうもない話
- 4. AWS 上の ALB の HealthChecker に 200 を返す方法
- 5. Laravelでコマンドライン処理を行う
- 6. PHPのフレームワーク作ってみました。
- 7. 【PHP(Laravel)】ControllerからViewにデータを渡す2つの方法
- 8. PHPで定数define()を使う方法
- 9. phpのcURL、SplFileObjectでsslエラーが出たときに試したいこと
- 10. Laravelでメール送信する
- 11. 【WSL2】インストールしたての時に開発環境構築時にハマったこと
- 12. さくらVPSでLAMP + WordPress環境を構築する方法まとめ
- 13. PHPと Vue.jsで簡易掲示板を作ろう〜その2( SCSS編)〜
- 14. PHPで閲覧中のデバイスの画面サイズを返す。
- 15. Pimpleの仕組みメモ
- 16. PHPテストフレームワークPestのテストの書き方例
- 17. PHPと Vue.jsで簡易掲示板を作ろう〜その1(PHP編)〜
- 18. [PHP] mysqliでデータをSELECTした際に数値型がすべて文字列になってしまう件
- 19. WordPressホストのphpを5から7にアップグレードする
- 20. チャットアプリで、1グループのメッセージ数上限を50件にする(Laravel)
containすると全件表示されない。
DBを直接みると見れるデータが関連ターブルをcontainするとfindで取得できない時の解決法。
/src/Model/Table内の「****Table.php」を修正することで解決しました。
bakeを使ってモデルを生成したときに、joinTypeがINNERになっているのでLEFTに書き換え。$this->belongsTo(‘Authorities’, [
‘foreignKey’ => ‘authority_id’,
‘joinType’ => ‘INNSER’,
]);↓↓
$this->belongsTo(‘Authorities’, [
‘foreignKey’ => ‘authority_id’,
‘joinType’ => ‘LEFT’,
]);
PHP Slim3フレームワークのサンプルアプリを作ろう(2-1. アプリケーションの作成・表示)
#はじめに
PHP Slim3フレームワークの勉強のため、
Slim公式のユーザーガイドにある[First Application Walkthrough](https://www.slimframework.com/docs/v3/tutorial/first-app.html#run-your-application-with-phps-webserver)のサンプルアプリを作成します。
まずは、ビルトインWebサーバーで表示させるところまで。今回は、[skeleton project](https://qiita.com/erik_t/items/23cc9df2154e80aa137e)を使用しないバージョンです。
#前提
下記記事で構築した環境を前提とします。– Windows10にVagrantをを入れてCentOS7をインストールしよう([1](https://qiita.com/erik_t/items/d7f7abbf7deafa4c6fe4)、[2](https://qiita.com/erik_t/items/909efb63fd389f486ec3)、
Laravelでメモリリーク??? 実はそんなわけなかったというしょうもない話
タイトルで若干ネタバレしてますが、ほんとしょうもない話です。ただ、おそらく同様のことで悩まれている方が何人かいるようなので、記事にしてみます。最後の方にちょっとした知見もありますが、ほぼ読み物です。
ちなみにSQSキューワーカーでメモリリークが起きるという記事がQiitaにありますが、今回の記事はこの件と直接関係はありません。
参考)
https://qiita.com/sh-ogawa/items/d64cafce2a2646b7abc6# 単純な処理でなぜか延々と膨れ上がるメモリ使用量
Laravel 6.xでデータベース(今回はMySQLですがこの話に関係はない)に数万行のデータをインポートしようと試みたある日のことでした。CSVファイルから1000行ずつデータを読み出して1行ずつインサートするという~~手抜き~~超簡単なプログラムです([Laravel Excel](https://laravel-excel.com)を使用)。インポートプログラムが完成して数万行あるCSVファイルを食わせてバッチを実行したところ、数千行まで処理が走った瞬間に
“`
PHP Fat
AWS 上の ALB の HealthChecker に 200 を返す方法
AWS 上の ALB のターゲットの Moodle で HealthChecker に認識させることはできないのは、config.php が読み込んでいる lib/setuplib.php でリダイレクトしているからで、ターゲットでは 303 になりうまくいきません。
config.php の最上部で、以下のように記述すれば、200 を返す事ができます。
コツは、lib/setuplib.php を読み込む前に処理を入れることです。“`PHP
$http_user_agent = $_SERVER[‘HTTP_USER_AGENT’];
if (strstr($http_user_agent, “ELB-HealthChecker”)) {
echo “ok”;
die;
}
“`
Laravelでコマンドライン処理を行う
# 前提条件
[eclipseでLaravel開発環境を構築する。デバッグでブレークポイントをつけて止める。(WindowsもVagrantもdockerも)](https://qiita.com/toontoon/items/76fa7f8845b20776077c)
本記事は上記が完了している前提で書かれています
プロジェクトの作成もapacheの設定も上記で行っています# Commandクラス作成
コマンドラインで
`cd sample`
`php artisan make:command SampleCommand`
xdebugの設定をしているとeclipseが実行していいですかというプロンプトを出すのでOKを押します
eclipseプロジェクトを右クリック→リフレッシュ
/sample/app/Console/Commands/SampleCommand.phpが現れます# Commandクラス修正
さきほど作成したSampleCommand.phpを下記に修正します“`SampleCommand.php
PHPのフレームワーク作ってみました。
# ■PHPフレームワーク(Webシステム用)の概要
久しぶりに?PHPを触る機会があったので、フレームワークを作ってみました。
コンセプトは、– **スモールスタートできる。**
– **あんまり準備が必要ない。**
– **直感的にわかる。**です。
なぜフレームワークを作ったかと言うと***LaravelとかCakePHPとか使いづらい、と言うか作りづらい***と思うからです。
車輪の再発明だと言われるかもしれませんが、世の中にたくさんのフレームワークが存在しているわけですし、今更1つくらい増えても問題はないでしょと思います。ちなみに名前は、安易ですが「***WSI: Web System Infrastructure(Webシステム基盤)***」としています。
## ★Controllerを作るのは面倒
LaravelもCakePHPも、その他のフレームワークもほとんどの場合、Controllerを作成します。
Controllerで処理をした後Viewに制御を渡して、画面を表示します。プロトタイプなど作成すると、ほとんどの場合、HTMLと紙芝居用のJava
【PHP(Laravel)】ControllerからViewにデータを渡す2つの方法
## 概要
1. ビューメソッドを使用してデータを渡すビューを指定する。
2. データを渡す。(方法2つ)## 1.ビューメソッドを使用してビューを指定する
例)articlesコントローラーのindexファイルを指定する““
return view(‘articles.index’)
““## 2.データを渡す。(方法2つ)
データが入った変数 $articles をビューに渡す。
1.Withメソッドでデータを渡す。
““
return view(‘articles.index’)->with([‘articles’ => $articles]);
““
2.Compact関数でデータを渡す。““
return view(‘articles.index’, compact(‘articles’));
““
PHPで定数define()を使う方法
#定数とは
〇一度宣言すると、後から値を変更できない。(値の変更が可能なのは変数)
〇プログラム内で何度も参照される値で、プログラム実行時に変更する必要のないものに使われる。
〇大文字・小文字どちらでも使用できるが、慣習的に大文字で定義されることが多い。
#定数のルール
####使える文字– 英数字
– アンダースコア
– 日本語(使用できるが一般的には使用しない)####定義する際のルール
– 先頭数字はNG
– 大文字と小文字は区別される
– 記号で使用可能なのはアンダースコアのみ
– 定義済みの定数は上書きできない#定数の種類
〇PHPでは– difine()
– constの2種類の定数が使用可能。
#difine()
define(‘定数の名前’,’格納する値’);“`index.php
// 定数を定義
define(‘MSG01′,’Emailの形式で入力してください’);
define(‘MSG02′,’パスワードが正しくありません’);echo MSG01; //「Emailの形式で入力してください」が出力されます。
echo MSG0
phpのcURL、SplFileObjectでsslエラーが出たときに試したいこと
あぁ、休日の一覧データが欲しい。
欲しい、
欲しい、別のサーバ(内閣府)からcsvで取得してみる。
せっかくなのでcurlとSplFileObjectの2方法で試す。“`php
$url = ‘https://www8.cao.go.jp/chosei/shukujitsu/syukujitsu.csv’;# curl
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($ch);
curl_close($ch);# SplFileObject
$file = new NoRewindIterator(new SplFileObject($url));
“`curlは$dataに設定されない。(errnoは35)
SplFileObjectはエラーが発生。“`log
PHP Fatal error: Uncaught RuntimeException: SplFileObject::__construct(): SSL oper
Laravelでメール送信する
# 前提条件
[eclipseでLaravel開発環境を構築する。デバッグでブレークポイントをつけて止める。(WindowsもVagrantもdockerも)](https://qiita.com/toontoon/items/76fa7f8845b20776077c)
本記事は上記が完了している前提で書かれています
プロジェクトの作成もapacheの設定も上記で行っています# Gmailのアプリパスワード取得
今回はLaravelからGmailを使ってメールを送信しようと思います
そのためにGmailのアプリパスワードを取得します(1) googleアカウントにアクセス
(2) セキュリティをクリックし2段階認証プロセスをONにする
![a.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/238103/a9989e42-c581-4e99-1579-604c8a0a6104.png)(3) セキュリティをクリックしアプリパスワードをクリックする
![b.png](https://qiita-
【WSL2】インストールしたての時に開発環境構築時にハマったこと
WSL2をインストール時にすんなりとうまくいったらなにも問題ないのですが、
エラーが出力して原因を探ったり、一見うまくいったように見えても実は間違っていたりと、
使いこなすのがなかなか大変です。
ハマったことを色々書いていこうと思います。Ubuntu 18.04.4 LTSを使用しています。
## phpをインストールしてみるとエラーが出力されて、インストールできない
“`
Err:6 http://security.ubuntu.com/ubuntu bionic-updates/main amd64 apache2-bin amd64 2.4.29-1ubuntu4.6
404 Not Found [IP: XX.XXX.XX.XXX 80]
Err:7 http://security.ubuntu.com/ubuntu bionic-updates/main amd64 apache2-utils amd64 2.4.29-1ubuntu4.6
404 Not Found [IP: XX.XXX.XX.XXX 80]
Err:8 http://securit
さくらVPSでLAMP + WordPress環境を構築する方法まとめ
#さくらVPSでLAMP + WordPress環境を構築する方法まとめ
学習用にさくらVPSでLAMP環境を構築したので、手順をまとめます.
## 目次
* [動作環境](#動作環境)
* [手順](#手順)
* [さくらVPSの申し込み](#さくらVPSの申し込み)
* [SSH接続](#ssh接続)
* [SSH接続のセキュリティ設定](#ssh接続のセキュリティ設定)
* [Apacheのインストール](#apacheのインストール)
* [ドメインの設定](#ドメインの設定)
* [リポジトリの設定](#リポジトリの設定)
* [phpのインストール](#phpのインストール)
* [MySQLのインストール](#mysqlのインストール)
* [SSLの設定](#sslの設定)
* [wordpressのインストール](#wordpressのインストール)
* [終わりに](#終わりに)# 動作環境
`OS : macOS Mojave 10.14.6`
`VPS OS : centOS `# 手順
## さくらVPSの申し込み
1.
PHPと Vue.jsで簡易掲示板を作ろう〜その2( SCSS編)〜
#初めに
前回にの
[PHPと Vue.jsで簡易掲示板を作ろう〜その1(PHP編)〜](https://qiita.com/fijii_rin/items/307d560c591ecbb3c93b)
の続きです。
3つのパートに分けて
1.PHPでとりあえず動く掲示板を作る
2.SCSSで簡単なデザインを作る←今回はここ
3.Vue.jsで少しリッチな動きをつける#目次
・このパートでの完成イメージ
・HTML部分の変更の記述
・SCSSの記述
・まとめ##このパートでの完成イメージ
・ボタンホバー時
下記サイトサンプルを修正、実行後リダイレクトしデバイスのwidthとheightを取得。
https://stackoverflow.com/questions/23239157/get-browser-width-using-php““
get_screensize.php