SE_BOKUのまとめノート的ブログ

SE_BOKUが知ってること・勉強したこと・考えたことetc

PG:WEB・PHP

PHP送信メールがMicrosoftの「受信拒否リスト(ブラックリスト)」に登録された(´;ω;`)

目次 PHP送信メールがMicrosoftの「受信拒否リスト」に登録された(´;ω;`)録 アプリケーションサーバーから送信したメールだけ!が届かない 迷惑メールフォルダにもはいっていない Envelope-Fromにありえないメールアドレスが・・ ログを送ってもらうと「5.7…

HTMLのテーブルでチェック行の情報だけ処理するサンプル/PHP・JavaScript

目次 HTMLのテーブルでチェック行の情報だけ処理するサンプル/PHP・JavaScript サンプルの概要 ソース全文です ポイント1:JavaScriptでチェックボックスの選択状態取得 ポイント2:PHPでのチェックボックスのついた行の処理 まとめ HTMLのテーブルでチェ…

WSL2:Ubuntu20.04LTSのPHP8.1用XDebugの入手とインストール手順

目次 WSL2のUbuntu上のPHPをWIndows11のVsCodeでリモートデバッグ XDegugの入手とインストール方法を確認 手順1:Download xdebug-3.1.6.tgz 手順2:nstall the pre-requisites for compiling 手順3:Unpack the downloaded file 手順4:Run: cd xdebug-…

PHPの「Warning: Trying to access array offset on value of type null」メッセージ

目次 PHPの「Warning: Trying to access array offset on value of type null」メッセージ PHP7.4からスルーされなくなったバグ 相手の型によって微妙にメッセージが変わる 修正は配列としてアクセスする前にチェックすること PHPの「Warning: Trying to acc…

クラスレスCSS(simple.css)を@importして拡張する

最近お気に入りのクラスレスCSSのsimple.cssを、@importして拡張する方法です。

フレームワークに依存しないPHP テンプレートエンジン Smarty

目次 フレームワークに依存しないPHP テンプレートエンジン Smarty インストール Smartyを使う本当の最低限 変数・配列・連想配列の値をHTML側に渡す 配列をうけてHTML側でループ処理 とっつきやすくて奥が深いのがSmarty フレームワークに依存しないPHP テ…

PHPでよく見かけたcontinueの使い方間違い

PHPでよく見かける「間違いやすいパターン」にcontinueの使い方があります。

ブレークポイントでとまらない原因と対策/PHP7から8へ移行/VsCode・XDebug

VSCode(Visual Studio Code)でPHPを開発している方が対象です。PHP7からPHP8にバージョンアップしたら、VSCodeのデバッグでブレークポイントで止まってくれなくなる原因と対策です。

Windowsに「nginx」と「PHP8」をダウンロードし、PHPをCGI経由で動かす

PHP8の動作検証のため、Windows上に取り急ぎPHPプログラムの検証環境をつくることにしたので、その時の手順を記録しておきます。

PDOのcommit()・rollback()が例外をスローする/PHP7とPHP8の非互換

PDOを使ったPHP7.動いていたシステムを、PHP8にバージョンアップしたら、登録処理がエラーになったのを調査したときの記録です。

PHP7のPDOを使ってMariaDB(MySQL)の暗黙的なコミットの動きを確かめる

MariaDB(MySQL)の暗黙的なコミットは、言葉だけでは、わかりづらい点があるので、PHPを使って、動きを確認してみます。

PHPでネストした複雑なJSONデータをデコードして値を取得する

目次 PHPでネストした複雑なJSONデータをデコードして値を取得する 複雑なJSONデータの例 1段階目のデコード 1段階目のデコード:Frontブロックの値を取得 1段階目のデコード:Secondブロックの値を取得 2回目のデコード PHPでネストした複雑なJSONデータを…

PHPで「Yahoo!のテキスト解析/ルビ振りAPI」を使うサンプル

Yahoo!デベロッパーネットワークの、ルビ振りAPIのサンプルコードが、PythonしかなかったのでPHPで作ってみました。

PHPとHTMLで作る/Webサーバーからのファイルダウンロード処理サンプル

打合せ用のサンプルなので、ごく簡単なものではありますが。

クラスレス(No-Class)CSSフレームワークをいくつか試す

クラスレスCSSの個人的なお試しです。

rowspanが他の列にも影響する謎動作?「vertical-align: baseline;」指定と「textarea」の罠について/HTML

HTMLのrowspanを指定した列にはさまれたrowspanを指定していない列の要素が、両端に影響されて、レイアウトが崩れるようになった!!という問題を調べた顛末です。

HTMLは正しく、画像ファイルもあるのに、IEでのみブラウザに画像が表示されない

それでしか動かないシステムとかがあって、まだ、企業で生き残っている「IE(Internet Explorer)」にまつわる奇妙な問い合わせの話です。

はじめてLaravel6.0:チェックボックス・ラジオボタン項目/入力画面

入力画面でよく使う部品である、チェックボックス・ラジオボタンを、Laravel6.0のVIEWで使う方法です。

はじめてLaravel6.0:単一SELECT(プルダウン)とマルチSELECT項目/入力画面

今回は、入力画面でよく使う部品である、SELECTについて整理しときます。

はじめてLaravel6.0:Eloquent ORM(MariaDB・MySQL使用)のカラム定義を整理する

今回は、 Laravel6.0のマイグレーションで利用できるカラム定義について、ちょっとだけ掘り下げて整理してみます。

PHPの日付時刻ライブラリCarbon/超便利だけど和暦表示だけ注意したほうがいい理由

Larvelでもよく使う「日付・時刻ライブラリ」CarbonをWindows環境で試しにさわってみた時に、和暦表示とかがうまくいかなかったりしたので、そのへんをメモがわりに書いておきます。

はじめてLaravel6.0:bladeテンプレート内で日付入力に「vuejs-datepicker」を使うサンプル/入力画面

Laravel6.0のViewに日付入力を追加します。vue.jsのコンポーネント「vuejs-datepicker」を使ってみます。

PHPのmb*系正規表現メソッドで、よく利用するケース(最長一致・最短一致とか)のサンプル

PHPでUTF-8を前提にすると文字列を扱うのは「mb*」系一択です。なんですが、PHP以外の言語を使っている時間の方が長いので、正規表現系のメソッドを使おうとしたらど忘れていた・・ってのが多いです。なので、よく使うものだけメモしておきました・・って感…

はじめてLaravel6.0:Bladeテンプレート内でVue.jsコンポーネントを動かすサンプル

今回は、Laravel6.0でVue.jsのコンポーネントを使用するやり方を確認します。

はじめてLaravel6.0:標準バリデーション&カスタムバリデーション利用サンプル/入力画面

Laravel6.0で、入力画面にバリデーションを組み込みます。ついでに、Laravel組み込み以外に、カスタムバリデーションも作ります。

はじめてLaravel6.0:画面作成手順とDBマイグレーション・テキストボックスとボタン/入力画面

Laravel6.0で入力画面を作成する基本中の基本として、テーブルと1:1の入力画面を作成する手順を整理します。DBテーブル構築は「マイグレーション」、DB操作は「Eloquent」モデルを用いて実装します。

はじめてLaravel6.0:サービスクラスとDI注入整理・サービスクラス実装手順サンプル

今回はサービスクラスを作成します。サービスプロバイダを介して、コントローラクラス内でサービスクラスをDI(依存性注入)して利用するやり方(Laravelのお作法)を確認します。

はじめてLaravel6.0:ControllerクラスからViewのbladeテンプレートへの変数データ受け渡しサンプル

Laravel6.0のControllerクラスから、Viewのbladeテンプレートへの変数データの渡し方とBladeテンプレートでの各種情報の表示方法などを軽く勉強してみます。

はじめてLaravel6.0:Bladeの基本的な使い方とロケール(日本語化)変更・背景色変更等サンプル

Bladeテンプレート構文の基本的な使い方・ロケール設定・項目名やメッセージなどの日本語化あたりを整理していきます。題材に、Laravel6.0のコマンドで生成した認証機能の各画面のソースを使います。

はじめてLaravel6.0:組み込みの認証機能を利用するサンプル

Laravel6.0を覚える次のステップとして、プリセットで用意されているコマンド一発で生成できる「認証機能」を使えるようにしてみます