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

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

Moodle 3.9 マニュアル – 一括登録

[原文](https://docs.moodle.org/39/en/Bulk_enrolments)

# 一括登録

一括登録では、学生のメールアドレスまたはユーザIDを含むエクセルファイルを使用して、学生を登録し、Moodleコースのグループに追加することができます。開始前に、最初の列に学生のEメールアドレスまたはユーザIDの完全なリストを含むエクセルファイルが必要です。それ以降の列には、各学生を追加するグループの名前が含まれています。

注: ほぼ同じ名前のこのプラグインと混同されないようにしてください。

https://moodle.org/plugins/local_bulkenrol

# あなたのCSVを作成する

学生を正常にアップロードするためには、学生の詳細を含むCSVファイルを作成する必要があります。CSVファイルは簡単に作成できます。1つの方法はスプレッドシートパッケージで、.csvファイルタイプで保存することです。最低でも、CSVファイルにはメインの学生の識別子のための1つの列が含まれている必要があります、通常は彼らのメールアドレスですが、それは彼らのu

元記事を表示

Moodle 3. 9 マニュアル – タグを管理する

[原文](https://docs.moodle.org/39/en/Managing_tags)

# タグを管理する

タグは、サイト管理者または管理者(または[moodle/tag:manageケイパビリティ](https://docs.moodle.org/39/en/Capabilities/moodle/tag:manage)を持つ他のユーザ)がサイト管理 > 外観 > タグの管理で管理することができます。
タグの内容

[1 タグコレクション](#1-)
[1.1 新しいコレクションの追加](#11-)
[2 タグ領域](#2-)
[3 タグコレクションの管理](#3-)
[3.1 タグの組み合わせ](#31-)

# 1 タグコレクション

タグコレクションとは、タグが添付されているオブジェクトの種類や、異なる領域のタグのセットによってタグを分離する方法です。

例えば、標準タグのコレクションはコースにタグを付けるために使用でき、ユーザーの興味やブログ記事のタグは別のコレクションに保存されます。ユーザーがタグをクリックすると、タグページには、同じ種類のオブジェクトを含む

元記事を表示

Moodle 3.9 マニュアル – カテゴリ:タグ

[原文](https://docs.moodle.org/39/en/Category:Tags)

# カテゴリ:タグ

Moodleのタグに関するドキュメントページのインデックス。
「タグ」カテゴリのページ

全21ページのうち、このカテゴリには以下のページがあります。

[タグを管理する](https://qiita.com/intrajp/items/09f206966f92d8f8e878)

B

Blog tags block

C

Capabilities/block/tag flickr:addinstance
Capabilities/block/tag youtube:addinstance
Capabilities/block/tags:addinstance
Capabilities/block/tags:myaddinstance
Capabilities/moodle/course:tag
Capabilities/moodle/question:tagall
Capabilities/moodle/

元記事を表示

【Laravel】Collectionのimplodeメソッド

##はじめに
今回もLaravelのCollectionのメソッドについてまとめたいと思います。

##implodeメソッドでデータを結合した文字列を取得する

値を結合し、文字列としてデータ取得するメソッドです。
例えば、名前を「&」で繋いで結合する場合です。

“`php
$collection = collect([
[‘id’ => 1, ‘name’ => ‘太郎’, ‘age’ => 40],
[‘id’ => 2, ‘name’ => ‘花子’, ‘age’ => 38],
[‘id’ => 3, ‘name’ => ‘一郎’, ‘age’ => 55]
]);
echo $collection->implode(‘name’, ‘, ‘); // 太郎, 花子, 一郎
“`

もし、1次元配列の場合はキーは必要なく、以下のように結合文字だけを指定すれば実装できます。

“`php
$collection = collect([‘太郎’, ‘花子’, ‘一郎’]);
echo $collection->implode(‘, ‘); // 太

元記事を表示

【Laravel】jQueryで複数のsubmitボタンで押したボタンを判別して処理を分ける

##はじめに
片方のsubmitではバリデーションをかけて確認画面へ遷移、もう片方はセッションを保持して戻るボタンにする。
セッションを保持するため同ルートを経由したい。

セッション保持のControllerのコードは省略します。

##フォーム

“`php

1
2
3


“`

##jQuery
フォームにtype=”hidden”のinput要素を挿入してクリックされたボタンのvalue属性で判別します。

“`j

元記事を表示

[環境構築入門①]Vagrant/VirtualBoxで仮想環境構築し、Apache/PHPを導入まで

Vagrant/VirtualBoxでローカル環境を構築後、Apache/PHPをインストールしてホストOSからindex.phpを表示できるまでの流れの備忘録です。

この記事ではVagrant/VirtualBoxの導入意図やざっくり操作手順をします。
実際の操作手順はこちら(作成中)をご覧ください。

# 今回の記事は、この状態の人向けです
1. 「ローカル環境でPHP動かすぞ〜!」
1. 「ん?なるほど、webサーバが必要なのか。」
1. 「レンタルサーバ借りなくても`自分のPCに”仮想環境”`ってやつをつくればいけるらしい!」
2. 「どうやるの?手間かかりそうかな..?」 ←今ここの人向けです。

# なぜVagrantとVirtualBoxが必要なのか
※ 仮想環境/Vagrant/VirtualBoxを理解している方は飛ばしてください。

### そもそも仮想環境を作る目的がピンと来てない方へ?

目的は`PHPを動かすために、webサーバをたてること`です。

そのためにはパソコン(サーバ)に`Apache`をインストールすればOKです。しかし、簡単に言うとこれを自分

元記事を表示

PHP の imageaffine でアフィン変換する

揃っているのか、いないのか微妙な品揃えの PHP の GD Image 関数群。 その中にアフィン変換を行う `imageaffine` が埋もれていました。半日苦労して攻略したので、メモを残しておきます。

## affine 引数

リファレンスには 「0 から 5 までのキーを持つ配列。」 としか記述がありません。
まぁ行列の要素を並べた配列なんだろうなとは思うものの、並べかたが不明です。

これは、 `imageaffinematrixget` を利用して、与えた引数と結果から逆算して、

“`php
$affine = [ $m00, $m01, $m10, $m11, $m02, $m12 ];
“`

というマッピングのルールを割り出しました。

## 平行移動の補完

`imageaffine` は、アフィン変換といいながら、平行移動関係はなにもしてくれないので、使用者側でなんとかする必要があります。
基本は、行列の `$m02`, `$m12` の平行移動成分を描画関数 (`imagecopy`) 等の引数の描画位置に設定するのですが、実はそれだけだと微妙にずれ

元記事を表示

Laravel8だよ!全員集合!~まずはHomesteadからだよ編~

久々にLaravelでプロジェクト作ってみようと思ったら、あっという間にVer8だってよ。
聞けば、半年ごとにバージョンアップするそうな。そんなの追いつけねーよ。
そうは言っても放置しておけばおいらもいずれ時代遅れの技術者になっちまう。
考えてみたら、Homesteadのところは省略して書いてたっけ。そんなら、ついでにここから書いていこう。
タイトルコールは昭和の感じでね。

# これからやること

この記事では、次のことをやるよ。
・Homesteadをインストールする
・Laravelのプロジェクトを作成する
・DBを私好みに設定する

ちなみに環境はこんな感じ。
Windows10
VirtualBox 6.0.20 →Homesteadは2020年10月25日時点でVirtualBox6.0以上では動かないので注意。最新版をインストールしてしまった人は、泣く泣くダウングレードしよう。
Vagrant 2.2.10
こいつらは自力で何とかしてくれ。特にWindows10は他人がフォローしようがないからね。

準備ができた人かられっつとらい。

# Homesteadをインストール

元記事を表示

Composer2.x で変わったこと

2020年10月24日 Composr 2.0.0 がリリースされました?
[半年前の記事](https://php.watch/articles/composer-2)から少し気になってましたが、思ったより早くリリースされて嬉しいです!

– [Composer 2.0 is now available!](https://blog.packagist.com/composer-2-0-is-now-available)

今回はこちらのリリース記事の内容を要約してご紹介します!

## Composerとは?

https://github.com/composer/composer

Composerとは、PHPのパッケージ管理ツールです。
`composer.json` に書かれたパッケージ及び依存関係にあるパッケージも含めコマンド一発でインストールしてくれます。

Composerを使っていないPHPプロジェクトはほぼほぼないと言っても良いでしょう。
そんな素敵なツールのメジャーバージョンアップニュースです。

## 変更点

記事の内容を要約してご紹介します。
詳細な変更点

元記事を表示

MAMP(MacOS)でのmy.cnfファイルの作成方法

MySQLのバージョンアップにより、` General error`などの様々なエラーが出るようになりました。
下記の方法で`my.cnf`を作成・設置することで解決できます。

調べてみると、`/Applications/MAMP/Library/support-files/my-default.cnf`を
コピーして設置するとできるみたいですが、`my-default.cnf`ファイルが同梱されていたのはバージョンが5.6までのようです。
ちなみに私の方では、`support-files`フォルダには`magic、mysql-log-rotate、mysql.server、mysqld_multi.server`しかありませんでした。

なので、新規で作成して設置する必要があります。
1.`MAMP`→`conf`→こちらに `my.cnf`を作成・設置します。
作成方法に関しては、他のファイルをコピー&ペーストし、ファイル名と中身の内容を変えることで可能です。

![スクリーンショット 2020-10-30 17.01.25.png](https://qiita-image-st

元記事を表示

Moodle 3.9 マニュアル – ユーザーを追加する

[原文](https://docs.moodle.org/39/en/Add_new_users)

# ユーザーを追加する

目次
[1 サイトにユーザーを追加する](#1-サイトにユーザーを追加する)
[2 サインアップを有効にする](#2-サインアップを有効にする)
[3 ユーザーを作成する](#3-ユーザーを作成する)
[4 コースにユーザーを追加する](#4-コースにユーザーを追加する)
[5 コースのサインアップを有効にする](#5-コースのサインアップを有効にする)
[6 教員と生徒を追加する](#6-教員と生徒を追加する)

# 1 サイトにユーザーを追加する

あなたのコースを入力するには、まずあなたのサイトのアカウントが必要です。最も一般的な方法は次の2つです。

・サイト上で自分のアカウントを作成できるように[サインアップを有効にする](#2-サインアップを有効にする)
・[ユーザーアカウントを手動で作成](#3-ユーザーを作成する)します。

# 2 サインアップを有効にする

1. 管理者アカウントでログイン
2. 左側のパネル(ナビゲーションの引き出し)から

元記事を表示

【Laravel】Google Maps Embed APIの導入

– Google Maps Embed API を使って、ローカルアプリに地図を埋め込んだ時のメモ。

# デモ

# APIとは?
– Application Programming Interfaceの略。
– 別プログラムの機能を呼び出すための命令や関数のこと。

## webアプリへの API導入手順

|手順|概要|
|:–:|:–|
|①| APIキーを取得|
|②| **.env** ファイルに、環境変数を定義|
|③| **config/services.php** で設定
(※ 外部サービスのアカウント情報を設定するためのファイル)|
|④| ビューにて、config/services.php経由で、環境変数を取得|

# Google Maps Embed API
– [Google Maps Platform](https://cloud.google.com/maps-platform/)
– [ M

元記事を表示

Notice: Undefined variableエラーの対処法

最近よく`Undefined variable`が出るようになりました。
`Undefined variable`は、変数に値がないという意味だそうです。
解決方法は簡単で、`isset`を加えてあげるだけです!

“`
if($変数名)
{
処理内容
}

if(isset($変数名))
{
  処理内容
}
“`

参考元はこちら(https://hacknote.jp/archives/21606/)

元記事を表示

Moodle 3.9 マニュアル – ユーザーを管理する

[原文](https://docs.moodle.org/39/en/Manage_users)

# ユーザーを管理する

注意: あなたのサイトでアカウントを作成する方法については、[新規ユーザの追加:(翻訳準備中)](https://docs.moodle.org/39/en/Add_new_users)を参照してください。

・Moodleサイトの**管理者**はすべてのことを見ることができます。賢く管理者を選択してください!
・Moodleにログインするすべての新規ユーザには「認証済みユーザ」というロールが与えられます。彼らは**学生**または**教員**としてコースに追加する必要があります。彼らにはサイト全体でのロールはありません。ロールの「コンテキスト」の考え方を理解していることを確認してください。
・Moodleには教員や学生のような多くの標準ロールがあります。
・**パーミッション**は**ケイパビリティ** (ロールに許可されていること) の集合体です。あなたのニーズに合わせて、ロールのケイパビリティを変更、付与、削除することができます。

# ユーザの表示と編集

元記事を表示

現在の日付から週末、月末を計算するヘルパーを作成

#はじめに#
Laravelで自作アプリ(タスク管理アプリ)を開発する中で、現在日付から今週末、今月末の日付を計算する必要が出てきたので、ヘルパー関数として実装してみました。

#関数を作成#
\$date_typeを引数とし、引数によって返す日付を変えています。
1 :現在の日付
2 :週末(日曜日)
3 :月末

1, 3については割合簡単に実装できましたが、2は少しややこしいことになっています。

“`helpers.php

元記事を表示

Moodle 3.9 マニュアル – デモ教員ロール

[原文](https://docs.moodle.org/39/en/Demo_teacher_role)

# デモ教員ロール

デモ教員の役割は、変更できないパスワードとプロファイルを持つデモ教員アカウントを提供するために使用することができます。

# ロールの設定

1. アクセス設定 > サイト管理 > ユーザー > 権限 > ロールの定義
2. 「新しいロールの追加」ボタンをクリックします。
3. ロールに名前(例:制限付きユーザ)、短い名前、説明を与えます。
4. このロールが割り当てられるコンテキストタイプについては、システムにチェックを入れてください。
5. 「高度な表示」ボタンをクリックすると、4つの異なるパーミッションタイプが表示されます。
6. changeownpasswordとeditownprofileをフィルタリングし、[moodle/user:changeownpassword:(翻訳準備中)](https://docs.moodle.org/39/en/Capabilities/moodle/user:changeownpassword)と[moodl

元記事を表示

Moodle 3.9 マニュアル – カテゴリ:セキュリティ

[原文](https://docs.moodle.org/39/en/Category:Security)

# カテゴリ:セキュリティ

Moodleのセキュリティに関するページのインデックス。

カテゴリ「セキュリティ」のページ
全57ページのうち、以下のページがこのカテゴリのものです。

A
admin/environment/custom check/php check register globals
Antivirus plugins
Available update notifications
B
Backup of user data
C
Capabilities/report/security:view
H
Hacked site recovery
HTTP security
HTTPS conversion tool
I
IP blocker
P
Password salting
Privacy
Q
Quiz security
R
Reducing spam in Moodle
report/security/report security check config

元記事を表示

Moodle サイトを管理する

[原文](https://docs.moodle.org/39/en/Managing_a_Moodle_site)

[管理者:(翻訳準備中)](https://docs.moodle.org/39/en/Administrator)のロールを持つユーザは、Moodleサイトがインストールされると、いくつかのタスクは、[マネージャー:(翻訳準備中)](https://docs.moodle.org/39/en/Manager)のような役割を割り当てて他の人に委任することができますが、通常はそのサイトを管理します。以下のリンクはあなたのMoodleサイトを管理する方法についての詳細な情報を提供します。

**サイト管理者の役割を初めてお使いですか?** [**新しい管理者のためのガイド**:(翻訳準備中)](https://docs.moodle.org/39/en/Guide_for_new_administrators)を参照してください。

ユーザとコース

[認証](https://qiita.com/intrajp/items/e0d194c4fb4f54caaca6) –

元記事を表示

composer require時に起きたメモリー制限エラーとその解決策

# はじめに
画像投稿機能を実装する際に、AWSのS3に画像を保存するため
`eague/flysystem-aws-s3-v3`をインストールしようとした際にこちらのエラーが出ました。

# エラー文
“`
Fatal error: Allowed memory size of 1610612736 bytes exhausted (tried to allocate 4096 bytes) in phar://C:/ProgramData/ComposerSetup/bin/composer.phar/src/Compose
r/DependencyResolver/RuleSetGenerator.php on line 129
“`

***メモリーが使い果たされて足りない***とのこと。

# 解決策
インストール時にメモリーを一時的に解放してあげることで解決できる。
まず、現在割り当てられているメモリーを下記コマンドで確認してみる

“`
$ php -r “echo ini_get(‘memory_limit’).PHP_EOL;”
“`

結果、`512M`であ

元記事を表示

Moodle 3.9 マニュアル – フロントページの設定

[原文](https://docs.moodle.org/39/en/Front_page_settings)

# フロントページの設定

サイトのフロントページは、コースページに似ています。フロントページの設定は、サイト管理画面の「フロントページの設定」で確認できます。

目次

[1 フルサイト名](#1-フルサイト名)
[2 サイトの略称](#2-サイトの略称)
[3 フロントページの概要](#3-フロントページの概要)
[4 ログイン時のフロントページとフロントページの項目](#4-ログイン時のフロントページとフロントページの項目)
[5 カテゴリの最大深度](#5-カテゴリの最大深度)
[6 最大コース数](#6-最大コース数)
[7 トピックセクションを含める](#7-トピックセクションを含める)
[8 表示するニュースアイテム](#8-表示するニュースアイテム)
[9 ページごとのコメント](#9-ページごとのコメント)
[10 デフォルトのフロントページのロール](#10-デフォルトのフロントページのロール)
[11 フロントページのロール](#11-フロントページの

元記事を表示

OTHERカテゴリの最新記事