- 1. PHP – 配列を変数に変換する
- 2. カバレッジエラーの対策[404編]
- 3. C++とPHPとMySQLの連携を試してみた
- 4. Moodle 3.8 マニュアル – Unix 又は Linux における cron
- 5. Web x PHP TechCafe11月イベントレポート
- 6. PHPカンファレンス2019 無線LAN(人権)舞台裏
- 7. PHP 簡単な掲示板を作ろう
- 8. p5jsでPokémon GOっぽいUIを作る(2)
- 9. PHPUnitでプログラミングの理解度を測る試験を作れるんじゃないかという件-その3-
- 10. PHPファイルに書いたコードが全て表示される時の対処法
- 11. PHPで出力されるWebページをサーバーサイドでPDFにしてダウンロードさせる
- 12. PHPStan 0.12 でGenericsが使えるようになった
- 13. Laravel Rocketというツールについて
- 14. PHPのデバッグツール「XDebug」をVisual Studio Code + MAMPに導入する方法
- 15. 日本語版PHPUnitマニュアルを英語版と同期していきたい話
- 16. Moodle 3.8 マニュアル - 予期しないインストールの停止
- 17. ハッシュ関数で伏せ字するサービス
- 18. # PHPカンファレンス2019東京 自分用まとめ
- 19. 「銀行の資産運用商品管理ウェブシステム」の紹介
- 20. PHP基礎 Part7
PHP – 配列を変数に変換する
メモ
配列のキーの変数名に配列の値を入れる
“`ruby:test.php
1,
‘name’ => ‘ほげほげ’,
‘age’ => 25,
];foreach ($arr as $key => $val) {
$$key = $val;
}var_dump($id); // int(1)
var_dump($name); // string(12) “ほげほげ”
var_dump($age); // int(25)
“`* `isset`等で値が入ってるか調べること
可変変数 – Manual – PHP
https://www.php.net/manual/ja/language.variables.variable.php
カバレッジエラーの対策[404編]
##まえがき
[株式会Ancar](https://ancar.co.jp/)のWebエンジニアをしている、keiと申します。
「[株式会Ancar ~Advent Calendar 2019~](https://adventar.org/calendars/4429)」 11日目を担当させていただきます。弊社は安心・安全な移動体験を届けるをモットーに
[中古車の個人間売買をオンラインで行うサービス](https://www.ancar.jp/)
[全国の中古車からお買い得な車を検索・比較できるサービス](https://www.ancar.jp/search/) を展開しております。当記事では、GoogleSearchConsoleにサイトマップを登録後、発生したカバレッジエラーに対しての対応について共有させていただきます。
##おしながき
– カバレッジエラーの現状把握
– 404の調査結果
– カバレッジエラー対策
– その1
– その2
– 最終結果## カバレッジエラーの現状把握
上記サービスは、50万以上の車両詳細ページがあります。しかし、
C++とPHPとMySQLの連携を試してみた
タイトルの通り、C++とPHPとMySQLを用いてデータのやり取りをやってみたのでメモ。
#使用したもの
ツール
・VisualStudio2017
・[Xampp](https://www.apachefriends.org/jp/index.html)
ライブラリ
・[Boost](https://www.boost.org/users/download/) (通信するために使用)
・[Json11](https://github.com/dropbox/json11) (JSONを解析するために使用)
#やりたいこと
流れとしては、
①C++ → ②PHP → ③MySQL → ④PHP → ⑤C++ の順でデータをやり取りしたい。
取りあえず、今回は2つの値を足し算した結果を取得することを目標とする。① 足し算したい2つの値を入力し、GET方式で送る。
② 足し算を行い、MySQLに計算結果を送る。
③ 結果を保存する。
④ 今までの計算結果を受け取り、JSON形式で送る。
④ JSON形式で計算結果を受け取り、それらを表示する。#コード
“`C++(cpp):mai
Moodle 3.8 マニュアル – Unix 又は Linux における cron
[原文](https://docs.moodle.org/38/en/Cron_with_Unix_or_Linux)
# Unix 又は Linux における cron
Unix と Linux ではほ cron プログラムを構築し、それはほとんどすべてのシステム上で標準です。あなたは web サーバユーザのために、’crontab’ (cron コマンドを保持しているテーブル)にコマンドを追加することが要求されます。
Moodle の cron プロセスを呼び出すために使うことができる方法には 2つの異なるものがあります。
__注__:示しているコマンドは機能させるために crontab に追加される必要があります(もうすぐ記述します)。しかしながら、あなたは、コマンドライン上でそれらが動作するかどうか、まず走らせることができます(そうすべきです)。
内容
[1 方法 1:コマンドライン(cli)による cron](#1-方法-1コマンドラインcliによる-cron)
[2 方法 2:web ベースの cron](#2-方法-2web-ベースの-cron)
[3 Uni
Web x PHP TechCafe11月イベントレポート
# PHP × Web Tech Cafe
『Web×PHP TechCafe』は、WebやPHPに関わるITエンジニアがスキルアップのために開発や勉強、LTをするコミュニティです。オフィスをスキルアップの場としてご提供します。
今回は PHP × Web Tech Cafe 11月の内容をまとめてお伝えします!!
# Lightning Talks
参加者の方にLTを行っていただきました!
## Javaエンジニアが怖いと思うPHPの仕様
by soachr さんJava を3年半使っていたsoachrさんから見た、PHPの不思議なところを紹介いただきました。
PHP初学者のあるあるがたくさん含まれていました。* ifの中で代入する場合の挙動 → Javaならエラーなので違和感あり
* 空文字をifの条件に入れる → 型がないので普通に実行できてしまう
* 第二引数がない関数 → エラーにならない→ PHPは ゆるふわ!!
## ソースコード共有サービス emoscode (エモすこ)
by ともたこ さんともたこさんが作成したソース共有サービス「エモす
PHPカンファレンス2019 無線LAN(人権)舞台裏
本記事は、[サムザップ Advent Calendar 2019 #1](https://qiita.com/advent-calendar/2019/sumzap1) の12/08の記事です。
### ■はじめに
情報シス的なところで社員の皆が働きやすいような環境を整えるお仕事をしています。
仕事以外でも似たようなことをして人のために生きてるのでその活動を紹介します。### ■PHPカンファレンスとは?
詳細は[こちら](https://phpcon.php.gr.jp/2019/)を読んでおいてください!
年数回日本各地で行われているユーザーコミュニティによるイベントです### ■人権?
エンジニアイベントに来たのに、スマホのギガを消費する。ありえないですよね?
登壇される方の発表をツイートしたり記事にして配信したり、ちょこちょこゲームやったり、ネットに繋がっているのは基本的人権とも言うべきエンジニアの権利です。その権利を保障しましょう!!というのがNOC (NetworkOperationCenter)の役割となります。### ■本題
じゃあその
PHP 簡単な掲示板を作ろう
##概要
Udemyで簡単アプリを作ったので、その復習としてほとんど同じアプリを作ろうと思いました。
単にコードをみて、模写するだけでは力はつかないと思ったのでまとめてみようと思ったので書きやす。
複数の記事を通してまとめていこうと思います。##### 全体の処理概要
会員登録
↓
ログイン(ログアウト)
↓
CRUD処理⚠CSSなどを用いたデザインの部分は触れていないので、本当にただの処理になります。
見方を変えれば自分の好きなようにかけます!## 使っている環境
VScode
MAMP
phpMyAdmin## 参考資料
とりあえずはここにまとめてリンクだけ張っておきます。
後で詳しくまとめて行きます。
[【PHP】 queryとprepareの違い](https://setomo.com/2018/07/12/php%E3%81%AEquery%E3%81%A8prepare%E3%81%AE%E9%81%95%E3%81%84/)
[PHPパラメータはこれで解決!値送信から取得まで解説](https://www.sejuku.net/blog/80755)
p5jsでPokémon GOっぽいUIを作る(2)
昨日はYahoo!地図の画像をp5jsに貼り付けるだけだったが、味気ないので中央に箱人間を置くことにする。
“`html
let img;
function preload() {
img = loadImage('http://pokanpo.skr.jp/temp.png');
}function setup() {
createCanvas(600, 600, WEBGL);
}function draw() {
background(0);rotateX(1);
rotateZ(frameCount * 0.001);// 地図を描く
push();
texture(img);
plane(1000, 1000);
pop();//右足
translate(5,0,10);
push();
box(10,10,20);
pop();//左足
PHPUnitでプログラミングの理解度を測る試験を作れるんじゃないかという件-その3-
# 前回からの流れ
以下の作りたいシステムを設計中です。
前回はユースケース図を作成しました。### 作りたいシステム
使用者が試験を受けることで、どれだけプログラミングの要素を理解できているか、を確認できるシステム* 試験の作成ができるだけ汎用的に行える。
* 競技プログラミング的なものではなく、できるだけ実務に近い試験を行える。
### 今回やること
シーケンス図を作成して、必要な画面とAPIを洗い出す。### シーケンス図早速作ってみた
![sequence.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/530225/4a897bcb-54f7-c4eb-94b0-6c42e8124fcb.png)
長いっ…
自分が細かくしすぎた + 全部まとめすぎたのがいけないんですが…
まぁ、ひとまずこれで我慢して今後あまりに巨大になりすぎるようであれば、ロバストネス図を挟むこととします。(最初っからやれって話ではありますが、一人でやってるものだし、面倒だった…)#### シーケンス図
PHPファイルに書いたコードが全て表示される時の対処法
#はじめに
プログラミング初心者の@lifeblogplusです。私がPHPの勉強を始めた際に、PHPファイルに書いたコードがWebページに全て表示されてしまう事がありました。
今回は私がどうやってその問題を解決したかをご紹介させていただきたいと思います。
※開発環境としてXAMPPをインストールされている事を前提にお話しさせていただきます。
↓XAMPPのインストール方法はこちらの記事をご覧ください。
https://techacademy.jp/magazine/1722#コードが全て表示される際に確認すべきこと
まずは開いたページのURL部分を確認してください。よく見るとURLが「http://」で始まっていないということはありませんか?
しかもURLの横にⓘマークが表示されファイルと書いてある...もし上記に当てはまる場合はこの記事の内容で解決できると思います!
#解決方法
XAMPPを使っている場合、htdocsフォルダの中に使用したいPHPファイルが入っているフォルダを置かないとApacheとMySQLを起動しても動いてくれません。つまりxa
PHPで出力されるWebページをサーバーサイドでPDFにしてダウンロードさせる
# 要件
- とあるシステムの管理ダッシュボードでレポートをダウンロードしたい。
- レポートは画面を印刷したものと同じでPDFにする。
- 一覧のページに設置されたボタンクリックでその詳細ページをダウンロードする。絵に書くとこんな感じ。
![PNGイメージ-7763F9E0CA93-1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/159511/9d6aa271-5f8f-93a9-a839-96a2f3a26bb4.png)
# 何をつかってやるか
[ヘッドレスChrome](https://developers.google.com/web/updates/2017/04/headless-chrome?hl=ja)を使う。ヘッドレスChromeはコマンドからChromeブラウザを操作することが出来るので、GUI操作をプログラムから実行することができる。
#### PDFを作成するには
```bash
google-chrome --headless --no-sandbox
PHPStan 0.12 でGenericsが使えるようになった
PHPStan 0.12 がリリースされていた。
https://medium.com/@ondrejmirtes/phpstan-0-12-released-f1a88036535d
和訳 https://www.phper.ninja/entry/2019/12/06/032456ただし、ここで気軽にcomposer updateしてしまうと、大量のエラーに遭遇することになる。(設定レベルにもよるが)
PHPStan 0.12 ではレベルが一つ増えているが、以前の最大値7の次の8が追加されたのではなく、6が追加されて 6 と 7 が 7 と 8 にずれた。
つまり以前の「nullable型のメソッド呼び出しとプロパティアクセスを報告」のレベルを保持するためには 新しく追加された「6: 欠落した型ヒント」を先に全て満たす必要がある。今までタイプヒント無しで逃げていた部分や`array`、`stdClass`でお茶を濁していた部分も正確に指定する必要があるようだ。
それを乗り越えると(別に乗り越えなくてもGenericsは使えるが)、例えば[以前書いた](https://qi
Laravel Rocketというツールについて
ここ3年位、[Laravel Rocket](https://laravel-rocket.github.io/#/)という名前のLaravelのコードジェネレータというか、ボイラープレーティングの一連のライブラリ/ツールを作っています。これまで特にどこかで紹介するチャンスもなかったのですが、どういうものかをここでまとめておきたいと思います。
[https://laravel-rocket.github.io/#](https://laravel-rocket.github.io/#/)
## Laravel Rocket 概要
Laravel Rocketは、Laravelのアプリケーションをなるべく早く、しかも誰が書いてもそこそこ同じような整理されたコードになるように作りたい、という気持ちで生まれたものです。
[MySQL Workbench](https://www.mysql.com/jp/products/workbench/)を使ってデータベース設計を作り、(必要なら)APIの設計をOpenAPI(Swagger)で作成すると、マイグレーションファイル、Model
PHPのデバッグツール「XDebug」をVisual Studio Code + MAMPに導入する方法
## 環境
Windows 10
Visual Studio Code 1.40.2 (以下、VSCode)
(PHP Debug 1.13.0, PHP IntelliSense 2.3.1)
PHP 7.1.5
MAMP 3.3.1
Chrome 78~## Xdebugはインストールできたのに動かない方へ
Visual Studio Code上にXdebugをインストールして使用する方法は、すでに様々なところで紹介されていますが、私の環境ではインストールはできても、いくつか設定を追加・変更しないと機能しなかったので、同様の環境の方々の参考になるようにメモとして残します。サーバーはMAMPを利用して、ローカルホストで実行します。## 手順
1. VSCode上で必要な拡張機能をインストール
2. Xdebugの公式
日本語版PHPUnitマニュアルを英語版と同期していきたい話
[^1]: https://github.com/sebastianbergmann/phpunit/blob/7.5/ChangeLog-7.5.md#deprecated-1 を参照
この記事は「[PHP Advent Calendar 2019](https://qiita.com/advent-calendar/2019/php)」の10日目の記事です。
## はじめに
PHPUnitのマニュアルはバージョン7以降は次のページで公開されています。PHPUnitを使っている方の多くが見たことあるページだと思います。
- 日本語版:https://phpunit.readthedocs.io/ja/latest/
- 英語版:https://phpunit.readthedocs.io/en/latest/英語版以外は最新バージョン(latest)のみ、英語版だとhttps://phpunit.readthedocs.io/en/7.5 のように、古いバージョンのマニュアルも見れる運用になっているようです。
## 日本語マニュアルの現状
日本語版のマニュアルは最新
Moodle 3.8 マニュアル - 予期しないインストールの停止
[原文](https://docs.moodle.org/38/en/Unexpected_installation_halts)
# 予期しないインストールの停止
内容
[1 切り捨てられた MySQL のステートメント](#1-切り捨てられた-mysql-のステートメント)
[2 Continue ボタンがなくなる](#2-continue-ボタンがなくなる)
[3 コードのカスタマイズ](#3-コードのカスタマイズ)
[4 あなたのメモリー制限をチェックしてください](#4-あなたのメモリー制限をチェックしてください)
[5 漸進的アップグレードを行わないでください](#5-漸進的アップグレードを行わないでください)
[6 データベースの設定の問題](#6-データベースの設定の問題)
[7 関連項目](#7-関連項目)# 1 切り捨てられた MySQL のステートメント
(mysql): SET NAMES 'utf8'
--------------------------------------------------------------------------
ハッシュ関数で伏せ字するサービス
# はじめに
伏せ字をするとき、「わかる人にはわかるだろうけど、間違われるのは困るな…」ということ、ありませんか?
「それって、〇〇社ですよね」みたいなリプライが来て、しかも全然違う答えだったりすると、風評被害だし迷惑ですよね。でも「残念、ハズレです」なんて一々送っていたら、さらに的外れなリプライが付くことは目に見えています。
「わかる人にだけわかればいいし、答え合わせは自分たちでやってくれ…!!」という人に便利なのが、この「[Hashtter(はしゅったー)](https://splamp.info/shed/hashtter/)」です。
Hashtter(はしゅったー)
https://splamp.info/shed/hashtter/# 使い方
上の部分に文章を
# PHPカンファレンス2019東京 自分用まとめ
初投稿です。
さすがに技術的な記事を最初に書いて投稿するのはハードルが高かったので(勝手につくってるやつ)、
2019年12月1日に行われたPHP カンファレンスを勝手にカテゴライズして、勝手にまとめてみました。
※一部php7.4に関する記事も入ってます。懇親会にも参加しましたが、すごく勉強になりました!
来年も東京で参加するつもりです## PHP 7.4 について
### 追加
https://medium.com/@kim.jangwook/php-7-4-%E6%96%B0%E6%A9%9F%E8%83%BD%E3%82%B5%E3%83%9E%E3%83%AA%E3%83%BC-d74ecb2582fb
### 削除
https://medium.com/@kim.jangwook/php-7-4-deprecations-479293acbfe4## セッション
### 技術系
* [PHP における並列処理と非同期処理入門](https://speakerdeck.com/memory1994/php-niokerubing-lie-chu-li-tof
「銀行の資産運用商品管理ウェブシステム」の紹介
# 開発背景
####システムの概要
- このシステムは中国の各銀行のホームページに掲載されている資産運用商品の発行時期、発行支店・金利などの情報を1つのwebサイトに統合
- ユーザがコメントと販売情報を問い合わせる機能ができる#### システムを導入する目的
- 資産運用の要望があるユーザが1つのwebサイトで各銀行により発行した商品の発見・比較を便利になった
- 銀行のオンライン業務を推進・宣伝効果を拡大#### システムの取扱商品:資産運用商品
- 中国の銀行で販売される小口で短期の投資信託のような商品(理財商品)
- 日本における高利回りの定期預金のような金融商品#### 開発チームについて
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/427518/c6a690b8-0c23-bc33-f88e-26962e231f30.png)# 要件定義
#### 進捗管理:開発Roadmap
![image.png](https://qiita-image-store.
PHP基礎 Part7
# 概要
PHPの独学で学んだことをアウトプットしていく## 前回の内容
[PHP基礎 Part6]
[PHP基礎 Part6]:https://qiita.com/aizawa_K/items/f9195b105cc4caa48fed## オブジェクト指向について
オブジェクトつまり「もの」を対象にした考えである
ものを作り、ものを操作するといった考え方
プログラミングでもオブジェクト思考をベースに実装することで、
プログラムにおける役割の明確化やコードの可読性・保守性に役立つ。
例えばECサイトであれば、「商品」「ユーザー」「カート」といったオブジェクトが存在し、
それぞれのコードを用意するようなイメージである### オブジェクト
直訳すると「もの」になる
プログラミング上では、データや処理の集まりを指す
上記のECサイトの例で考えると、ECサイトの利用者には氏名、年齢、性別、住所といったデータがある
また、ECサイトでは商品をカートに入れる、支払方法を選ぶ、購入するといった処理がある### クラス
オブジェクトの設計書のような役割を持つ
オブジェクトの中に、後述す