PHPのフレームワーク「Phalcon」のバージョン確認方法をメモ。
サーバーで以下のコマンド実行で確認できます。
php -r "echo Phalcon\Version::get();"
PHPのフレームワーク「Phalcon」のバージョン確認方法をメモ。
サーバーで以下のコマンド実行で確認できます。
php -r "echo Phalcon\Version::get();"
PHPのフレームワーク「Phalcon」で画像のバリデーションをしようとしたところエラーが発生したのでメモ。
エラーメッセージ
FastCGI sent in stderr: "PHP message: PHP Warning: strtr(): The second argument is not an array in {filepath}
Phalconのバグのようです。
2017年9月頃に修正が終わっているようなので、それ以降の3.2.x系のphalconだと大丈夫みたいです。
https://github.com/phalcon/cphalcon/issues/12947
今回は2017年9月以前のPhalcon3.2.2を使用していたため、エラーが発生。
コードは以下のようにしていました。
Formクラス
・・・ use Phalcon\Forms\Form; use Phalcon\Forms\Element\File; use Phalcon\Validation\Validator\File as FileValidator; class xxxx extends Form { $imageFile = new File('image_file'); $imageFile->setLabel('画像'); $imageFile->addValidators(array( new FileValidator(array( 'allowEmpty' => true, 'maxSize' => '2M', 'messageSize' => ':field exceeds the max filesize (:max)', 'allowedTypes' => array('image/jpeg', 'image/png'), 'messageType' => 'Allowed file types are :types', 'maxResolution' => '800x600', 'messageMaxResolution' => 'Max resolution of :field is :max' )) )); $this->add($imageFile); }
allowEmpty=trueで空を許可したので、画像を入力しなかった場合はエラーになりません。
画像を入力したときのみエラーになります。
allowEmpty=falseの場合は、画像未入力でもエラーになります。
Phalcon\Validation\Validator\File は使えないので、カスタムバリデーション等で対応。
いったん、バージョンアップするまでこんな感じでカスタムバリデーションを作成して暫定対応しました。
複数画像対応とか制約とか足りない部分もありますが、ベースとしてはこんな感じ。
カスタムバリデーション
namespace App\xxx\Validation\Validator; use Phalcon\Validation; use Phalcon\Validation\Message; use Phalcon\Validation\Validator; /** * Fileのバリデーション * * Phalcon\Validation\Validator\Fileがバグでうまく動作しないのでカスタムで作成(バグ:phalcon3.2.xの最新で改善するよう) */ class File extends Validator { /** * バリデーションの実行 * * use App\xxx\Validation\Validator\File as FileValidator; * * new FileValidator( * [ * "maxSize" => 3072, // キロバイトで指定 * "messageSize" => "field exceeds the max filesize ", * "allowedTypes" => [ * "image/jpeg", * "image/png", * ], * "messageType" => "Allowed file types are types", * ] * ) * * @param Validation $validator * @param string $attribute * @return boolean */ public function validate(Validation $validator, $attribute) { $request = $validator->getDI()->get('request'); if (!$request->hasFiles(true)) return true; $file = $this->getTargetFile($attribute, $request->getUploadedFiles(true)); if (!$file) return true; $maxSize = $this->getOption('maxSize'); if (!is_null($maxSize)) { if ($file->getSize() > $maxSize * 1024) { $message = new Message($this->getOption('messageSize'), $attribute, 'maxSizeFile'); $validator->appendMessage($message); return false; } } $allowedTypes = $this->getOption('allowedTypes'); if (!is_null($allowedTypes)) { if (!in_array($file->getRealType(), $allowedTypes)) { $message = new Message($this->getOption('messageType'), $attribute, 'allowedTypesFile'); $validator->appendMessage($message); return false; } } return true; } /** * リクエストからバリデーション対象ファイルを取得 * * @param array $attribute key * @param array $files $request->getUploadedFiles() * @return Phalcon\Http\Request\File | null */ public function getTargetFile($attribute, $files) { foreach ($files as $file) { if ($attribute === $file->getKey()) { return $file; } } return null; } }
在宅勤務やリモートワークで家で仕事をする人も多くなってきたのではないでしょうか?
家で仕事をする時間が長くなり、デスク周りを快適にしたい。
そんな方に在宅勤務やリモートワークで使えるゲーミングマウスをご紹介。
在宅ワークだと周りを気にする必要がないので、七色に光るゲーミングマウスも気にせず使えます。気分がアップすること間違いなし!
ゲーミングマウスは性能も価格も高いイメージがあるかもしれませんが、5000円以内のゲーミングマウスも結構あります。
そこまで性能が高くなくても十分使えるゲーミングマウスも多いです。
パソコン周りを快適にし、効率の良く、そして仕事がはかどる環境を作ってみてはいかがでしょうか。
在宅勤務、リモートワークにおすすめの5,000円以内のゲーミングマウスをご紹介します。
5,000円以内のゲーミングマウスは、40種類以上あるのですが、その中でもおすすめの5つをご紹介していきます。
選ぶ基準としては、
なぜこの基準にしたかご説明していきます。
教えたいと学びたいをつなぐまなびのマーケット「ストアカ」についてご紹介します。
教えたい(先生)側をメインに記載していきます。
ストアカは教えたい人と学びたい人をリアルにつなぐCtoCのまなびのマーケットで、日本最大級のスキルシェアコミュニティです。
誰でも自分のスキルを教えたり、他の人の教室に気軽に参加できます。
ビジネススキルから趣味の習い事まで全国で170ジャンル以上があります。
学びたい(生徒)側は、ストアカに掲載されている講座から受けたい講座を探して参加します。
教えたい(先生)側は、ストアカに講座を掲載することができます。
スマホで買える太陽光発電所「CHANGE(チェンジ)」は、再生可能エネルギー普及に大きく貢献するオーナーの皆様への感謝を込めた新制度『キロワッターズ』を2020年2月に設立しました。
「キロワッターズ設立記念キャンペーン」を2月に行っていましたが、3月も同キャンペーンが開催されます。
3月の「キロワッターズ設立記念キャンペーン」がどのような内容なのかご紹介します。
その前に太陽光発電所「CHANGE」についてもっと知りたい方はこちらをご覧ください。
キャンペーン期間 | 2020年3月1日~31日 |
---|---|
キャンペーン内容 | 最大200万円相当のワットを還元 ソラベジ プレゼント |
対象者 | キャンペーン期間中にCHANGE(チェンジ)サイト内にて太陽光発電所を購入 キャンペーン終了時点で規定のキロワッターズランクに達している |