MAXIMUMが投稿した記事

Drupal10で標準組み込みになっているBigPipeという考え方の枠組みについて

MAXIMUM に投稿

タグ

1.背景

DrupalはPHPのBigPipe技術を使ってHTMLページを生成しているようです。※似たようなものにAjaxがあります。
今回はそこに焦点を当ててみようかと思います。

2.よくある一括送信タイプの場合

先ずはWordPress等のよくあるブログ作成の場合どうなっているかを見ていきます。下記手順になります。
 ユーザがページにアクセス
→PHPが上から順番にプログラムを実行し、ページの全HTMLをメモリ上に完成
→完成したHTMLを一括でブラウザに送信

このやり方だと、ページ内に1箇所でも重いデータがあると処理が終わるまで、ユーザーは待たされることになります。

PHPでのクラスやメソッドの使い方 ※Javaとも比較

MAXIMUM に投稿

タグ

1.オブジェクトを作成する

クラスを使う前に先ずはオブジェクトを作成します。
メモリには何も保存されていないため、このようにnewする作業が前段で必要になります。
中身は関数+データになります。
$today = new DateTime();
※DateTimeはPHP標準クラスのため宣言不要

流れとしてはこうなります。
DateTimeクラス

DateTimeオブジェクト生成

【PHP8】正規表現で文字列を検索するpreg_match関数

MAXIMUM に投稿

タグ

1.はじめに

例えば、実際の業務で正規表現を使って色々なパターンの検索が必要になることはないだろうか。
今回は仮に電話番号の正規表現が必要なものとして例を出して行きます。

2.正規表現とは

そもそも正規表現が何かからですが、正規とはルール化された文字列パターンのことを指し、この表現を使うことで全てそのまま合致するもの以外も検索対象に含められます。
例: 数字の場合 [0-9] 英語の場合 [A-Z] ひらがな漢字混合の場合 ^[ぁ-ん一-龠]+$

【PHP8】演算子周りの書き方

MAXIMUM に投稿

タグ

1. はじめに

PHP8を学習するに当たって、最初にややこしく感じるのは演算子周りの書き方じゃないでしょうか?
今回はそんな演算子周りについての書き方を纏めてみました。

2. 代数演算子

例えば下記のようなソースがあったとして、どういう風に出力されそうですか?
答えとしては1123になります。
++を書く位置によって足されるタイミングが変わるということで、ややこしいですね…

$counter = 0;
$counter++;
echo $counter;
echo $counter++; //表示してから増やす
echo $counter;
echo ++$counter; //増やしてから表示する

各高級言語が機械語に変換されるまでの道筋を纏めてみた

MAXIMUM に投稿

タグ

1. はじめに

我々が普段使用しているコンピュータは2進数(ブール代数)を採用しており、半導体の状態が導体か絶縁体かの区別しかありません。
これを01のみで表現する機械語と言いますが、人間が読み書きすることは困難を極めるため、より自然言語に近い高級言語が考案されました。
今回はC Java PHPという代表的な高級言語がいかにして機械言語に変換されていくかにフォーカスを当ててみたいと思います。

【Drupal10】コア機能で実現したものをカスタムモジュール化してみた

MAXIMUM に投稿

タグ

1. 見栄えについて

以前に標準機能で実装していたイベント管理ページをカスタムモジュールにて再実装してみました。
すると、なんとなく見た目が綺麗に整った感じがします。(右窓がカスタム)
これは何故かというと、使っている描画の仕組みが違うからです。
標準機能は、Drupal汎用部品なのに対し、カスタムはそれ専用です。
なんで実装量が増えるというデメリットはあるものの、汎用的な表示にならない為、綺麗な画面を作ることが可能なのです。

【Drupal 10】カスタムテーマ開発においてのファイル構成

MAXIMUM に投稿

タグ

1. はじめに

今回はカスタムテーマに関するアクイアジャパンのウェビナーをベースに、どのファイルが・どこに配置され・どのような役割を持つのかというファイル構成に焦点を当てて体系的に解説します。

Drupal Schema APIでテーブルに対してCRUDのCを操作をしてみた

MAXIMUM に投稿

タグ

ウェビナーにてDrupalカスタムモジュールの基礎からPHPUnit作成まで学びました。
https://www.youtube.com/watch?v=c3GCK5D4WSE&list=PLVkpj3GMKNm2n_u-gOCBhDtqXTDxwhqjM

そこで今回は特に印象に残ったCRUD操作について掘り下げて行こうかと思います。
ここではDrupal Schema APIというDBテーブル構造をPHPの配列として定義・管理する仕組みを使います。

【Drupal 10】コンテクスチュアルフィルターで記名・匿名を切り替える動的Viewsの実装

MAXIMUM に投稿

タグ

1.はじめに
イベント管理する際に、誰が投票したかを認証ユーザに見せるかどうかを場合によって任意で使い分けたいシーンが多いと思われます。
なので、今回はViewsというシステム内部のデータロード処理そのものを条件分岐させる設定をしていきます。


2.実装方法