- 1. Café Progate
- 1.0.1. menu.php
- 1.0.2. CentOS6.7にPHP5.4とMySQL5.5を入れると「libmysqlclient」が競合エラーになる件
- 1.0.3. 円卓処理のプログラミング
- 1.0.4. Windows環境でComposerインストール時にエラーが出た場合の対処法
- 1.0.5. PHP拡張パッケージがWEBアクセスの時に利用できない
- 1.0.6. [備忘メモ] PHP を 5 系から 7系にアップデートする in Amazon Linux
- 1.0.7. CodeIgniterでメールによるパスワード再設定機能を実装する
- 1.0.8. 接続元IPv4アドレスがAWS CloudFrontかを検証する方法
- 1.0.9. docker環境のLaravelでnpm run hotを動かしホットリロード
- 1.0.10. Laravel 7 コマンドの実行結果に実行時間、最大使用メモリ、処理件数を出力する
- 1.0.11. Laravelで認証付きAPIの実装をUnitテスト
- 1.0.12. LINE Notifyを使ってMENSAの試験に申し込む
- 1.0.13. 【ABC169(C問題)】PHPで浮動小数点数の丸め誤差を回避する
Macに最初から入っているPHPではintlモジュールが有効化されていないくて少し詰まった話
# TL;DR
– Macのローカル環境でPHPUnit走らせるぜー
– PHP Fatal error: You must enable the intl extension と怒られた
– intlモジュールはPHP5.3.0以降のPHPに同梱されているので有効化すればok
– https://www.php.net/manual/ja/intl.installation.php
– MacデフォルトのPHPではintlモジュールは有効化されていない
– “` php -m|grep intl “` で確認した
– HomebrewのPHPはintlモジュールが有効化されている状態でインストールされるとのこと。今回はこちらを使用することにした
– “` brew search php “` で確認。php@7.4があるのでそちらをインストールする
– 余談。Homebrew版PHPのバージョン切り替えは “` brew link php@7.x “`でできます# Homebrew版PHPのインストール
##
CakePHP4 の開発環境をDockerを使って構築する
## はじめに
CakePHPの勉強を始めて1日目の初学者です。
CakePHP的におかしいところがあればご指摘いただけると嬉しいです。## やること
Docker Composeを使って、php-fpm(アプリケーションサーバ)、nginx(ウェブサーバ)、MySQL(データベースサーバー)のDockerコンテナを構築してCakePHP4の環境を作成します。
今回はCakePHP4のウェルカム画面が表示されるまでをゴールとします。
## CakePHPとは
https://cakephp.org/jp
PHPのフレームワーク。
## Macの環境
“`
$ git –version
git version 2.27.0
$ docker -v
Docker version 19.03.8, build afacb8b
$ docker-compose -v
docker-compose version 1.25.5, build 8a1c60f6
“`## 実際のソースコード
– [https://github.com/ucan-lab/docker-
Virionを使ってプラグインを開発してみる
※この記事ではVirionを使ったプラグイン開発について解説しています。
Virion自体を作成する方法については解説していません。
ある程度の英語力と基礎知識がある方は、こちらを見た方が早いかもしれません。
[参考リンク](#参考リンク)# そもそもVirionとは?
主にPMMPプラグインで使用されるライブラリのフレームワークです。
PHPで使われるcomposerのPMMP版に近いです。
ライブラリをVirion(和訳するとウイルスのような意味)として考えます。
「プラグインにウイルス(ライブラリ)を注入する」といった感じです。# Virionを使用するメリット
従来はプラグインでライブラリ(例えばFormAPI)などを使用したいときに、利用者側で別途ライブラリプラグインを導入する必要がありました。
Virionをプラグインのpharに注入することで、そのような事をする必要がなくなります。
内部的に名前空間をシェーディングしますが、一般的なプラグインを作る上で気にすることはほとんどありません。
もちろん外部ライブラリを使用したプラグインを作る知識は必要ですが、Virion
PHP ksort()の結果がおかしいことがある
`ksort()`は連想配列をキーでソートする関数ですが、並び順の規則がどうこうという以前の順序の乱れが起こることがあるようです。
条件がいまひとつはっきり分かりませんが、なんとなく
– 連想配列の各キーが半角1文字
– ‘0’をキーとする要素がある
– ある程度の要素数辺りが関係ありそうな感じでしょうか。
**テストスクリプト**
~~~php:test.php
mt_rand()をパスワード生成に利用しないようにって言ったよね?
# はじまり
あるところでmt_rand()を利用してパスワードを生成しているスクリプトを見つけたので、なぜmt_rand()を利用してはいけないのか具体的に検証してみた。# mt_rand()を利用した脆弱なパスワード生成コード
ここではMoodleに存在していた、[CVE-2015-5267](https://jvndb.jvn.jp/ja/contents/2015/JVNDB-2015-006932.html)として報告された[脆弱なパスワード(トークン)生成コード](https://github.com/moodle/moodle/blob/MOODLE_25_STABLE/lib/moodlelib.php#L9397-L9407)を使って、問題を検証する。記号が含まれていないとかどうでもいい。
“`php
function random_string ($length=15) {
$pool = ‘ABCDEFGHIJKLMNOPQRSTUVWXYZ’;
$pool .= ‘abcdefghijklmnopqrstuvwxyz’;
$p
HTMLのformで値を渡す
# HTMLのformで値を渡す
PHPでHTMLのformタグを使って値を渡す方法。
入力側で入れた数値をもとに三角形の面積を出す簡単なプログラムを作り、
それをもとに備忘録とします。
可読性を上げるためヘッダーとフッターは分割して部分テンプレート化し、
require文で呼び出してます。まず入力側。
“`php:container_input.php
“`入力した底辺と高さの値を、Webサーバを介して出力側のcontainer_output.phpに
リクエス
index.php
Café Progate