The Playground let you to execute basic PHP code in real time using WebAssembly technology.
The Playground let you to execute basic PHP code in real time using WebAssembly technology.
PHP8.4 / PHP8.3 / PHP8.2 / PHP8.1 / PHP8.0 2024/08/13、PHP8.4がフィーチャーフリーズしました。 言語機能に関わるような機能の追加・変更が締め切られたということです。 今後はデバッグを繰り返しながら完成度を高めていき、2024/11/21にPHP8.4.0がリリースされる予定です。 というわけでPHP8.4で実装されるRFCを見てみましょう。 RFC Property access hooks 賛成42反対2で受理。 プロパティフックです。 class HOGE{ public string $tel{ set{ if(!ctype_digit($value)){ throw new ValueError("電話番号は数値のみ"); } if(strlen($value) < 10){ throw new ValueError("電話
この記事はPHPStan開発者のOndřej Mirtesによって2024年8月27日にPHPStan Blogに書かれた記事を翻訳したものです。 phpstan.org 最初のPHPStan 1.0リリースから3年が経ち、PHPStan 2.0が近づいてきました。新しいメジャーバージョンのアイデアのリストを精査した結果、いくつかを前倒しして1.xシリーズでリリースし、Bleeding Edge 設定トグルの背後に隠して、PHPStanユーザーにより早く楽しんでもらえるようにしました。 これは PHPStan 1.12に限ったことではなく、1.0以降に当てはまります。Bleeding Edgeを有効にすると、基本的には未来に生きることになります。次のメジャーバージョンですべてのユーザーに対して有効になる新しいルールと動作の変更を利用できます。これがアーリーアダプターへの特典です。 ここにひ
8月30日、Laravelは「Laravel Cloud」を発表した。Laravelアプリケーションを即座にデプロイできる新しいクラウドプラットフォームだ。 Laravelの創設者であり主要な開発者であるTaylor Otwell(テイラー・オットウェル)氏が、Laracon 2024のキーノートスピーチで初めてこのプラットフォームを公開した。デモンストレーションでは、プロジェクトの作成からLaravelアプリケーションの起動までがわずか25秒で完了したことが示された。 Laravel Cloudは完全に管理されたインフラストラクチャプラットフォームであり、LaravelとPHPに最適化されている。 以下に、Laravel Cloudの主な機能を示す。 即時デプロイ:Laravelアプリケーションをわずか数秒で起動・デプロイできる。 自動スケーリング:アプリケーションの需要に応じて、自動的
はじめに PHPUnitとPestのそれぞれでスナップショットテストをやってみる。 環境 PHP 8.3.10 スナップショットテストとは 指定された期待値と保存した同じ値のスナップショットを比較してコードをテストする。 何もしていないのに壊れたなど予期していない変更を早期に発見する場合に便利な方法です。 やってみる では、それぞれやってみます。 サンプルコード 今回のスナップショットテストで使うコードです。 適当なjsonを返すだけのコードです。 <?php declare(strict_types=1); function json_render(): string { $values = [ [ 'name' => 'りんご', 'price' => 150, "stock" => 10, ], [ 'name' => 'バナナ', 'price' => 200, "stock" =
IPA(Information-technology Promotion Agency, Japan:情報処理推進機構)は7月5日、「PHPの脆弱性(CVE-2024-4577)を狙う攻撃について|情報セキュリティ|IPA 独立行政法人 情報処理推進機構」において、2024年6月に公開されたPHPの脆弱性を悪用するネットワーク貫通型攻撃が確認されたとして注意を喚起した。IPAは国内の複数の組織においてWebシェルが設置されるなどの被害を確認したと説明している。 PHPの脆弱性(CVE-2024-4577)を狙う攻撃について|情報セキュリティ|IPA 独立行政法人 情報処理推進機構 ネットワーク貫通型攻撃とは ネットワーク貫通型攻撃とは、ルータやVPN(Virtual Private Network:仮想プライベートネットワーク)機器のようなインターネットに直接接続されたデバイスを侵害して、
非公式!! 資料を公開されているかたのリンクをまとめます! PHP コードの実行モデルを理解する SPLから始める「データ構造」入門 Fat Controller は悪か? ~光のFat Controller・闇のガリController~ 並行処理を学びGuzzleと仲良くなる プロジェクトマネジメントとは? 経験から学ぶ視野と視座 10社以上のCTO/技術顧問を経験して見えた、技術組織に起こる課題と対策 有効な使い方を正しく理解して実装するPHP8.3の最新機能 なぜキャッシュメモリは速いのか Laravel のセキュリティはどうなってる?突撃コードリーディング 書き込み処理をスケールさせるために必要な非同期処理の基本と考え方 リモートワーク時代の守護神:PHP開発者のためのセキュリティ強化術 作って学ぶ ★ 検索機能 WebサイトのXSS脆弱性絶対転がす ―Content Secur
JSON schema Root Package Properties name description version type keywords homepage readme time license authors support funding Package links require require-dev (root-only) conflict replace provide suggest autoload PSR-4 PSR-0 Classmap Files Exclude files from classmaps Optimizing the autoloader autoload-dev (root-only) include-path target-dir minimum-stability (root-only) prefer-stable (root-onl
オートロードとは何か phpのオートロードとは、未定義のクラスを呼び出した時に、クラスの定義を読み込む仕組みのことです。 オブジェクト指向プログラミングではクラスを定義するときにファイルを分割することが一般的です。例えば、Userクラスを定義するときに、User.phpというファイルを作成し、その中にUserクラスを定義します。 このとき、他のファイルでUserクラスを使いたい場合には、通常User.phpを読み込む必要があります。phpでは、require_onceなどといった関数を使ってファイルを読み込むことができます。 しかし、読み込むクラスが多くなると、ファイルの先頭にたくさんのrequire_onceを書く必要があり、コードが読みにくくなります。 そこで、phpでは、未定義のクラスを呼び出した時に、クラスの定義を読み込む用途で指定した処理をさせることができる仕組みが用意されていま
class HOGE{ public string $tel{ set{ if(!ctype_digit($value)){ throw new ValueError("電話番号は数値のみ"); } if(strlen($value) < 10){ throw new ValueError("電話番号は10文字以上"); } $this->tel = $value; } get{ return '電話番号は' . $this->tel; } } } $hoge = new HOGE(); $hoge->tel = '123456789012'; // OK $hoge->tel = 'abcdefghijkl'; // Uncaught ValueError: 電話番号は数値のみ $hoge->tel = '123'; // Uncaught ValueError: 電話番号は10文字以上
PHPunit10以降ではDataProvider関数はstaticが推奨になりました。 https://docs.phpunit.de/en/10.5/writing-tests-for-phpunit.html#data-providers staticなので $this を使ったテストクラスの状態を参照できなくなります。 そもそもDataProviderはテストケース実行前に呼ばれるため、setUpで作成したデータを参照できません。 class ExampleTest extends TestCase { private int $expectValue; protected function setUp(): void { parent::setUp(); echo "setUp called\n"; $this->expectValue = random_int(0, 9); }
本記事では、Docker を用いて PHP の開発環境を構築します。Docker に詳しくない方でも理解しやすいように、Docker の基礎概念と用語も解説しています。 本記事は、お使いのパソコンで Docker が利用できる状態であることを前提としてます。 まだ Docker をインストールされてない場合は、下記のリンクから Docker の公式ウェブサイトにアクセスし、使用している OS に合った Docker をインストールしてください。 Get Started with Docker - Docker Docker とは Docker は、ホストマシン上でアプリケーションやサービスを隔離された環境で実行するために使用されるツールです。 Docker を使用することで、ホストマシンの環境に影響を与えることなく、開発環境を構築したり、アプリケーションをデプロイしたりすることができます。
3月13日、Laravelが最新バージョン「Laravel 11」をリリースした。 Laravel 11は、開発者に向けた新たな機能や最適化が盛り込まれ、ますます洗練された開発体験を提供している。この新バージョンの主な特徴を紹介する。 Laravel 11のハイライト: 最小のアプリケーション構成を導入 Laravel 11では、新しいアプリケーション向けに最小のアプリケーション構成が導入された。appフォルダは劇的にシンプルになりつつも、アプリケーションのカスタマイズ性はさらに向上した。これにより、既存のLaravel開発者が慣れ親しんだ概念や知識を損なうことなく、よりわかりやすく、よりモダンな開発体験を得られるようになった。 Laravel Reverbの導入 Laravel Reverbは、Laravelエコシステムに組み込まれたWebSocketサーバーで、アプリケーションに堅牢な
Today, we're thrilled to announce the release of Laravel 11 and Laravel Reverb. As we announced at Laracon EU, Laravel 11 introduces a minimal application structure, using SQLite by default, implementing health routing, offering per-second rate limiting, supporting graceful encryption key rotation, improving queue testing, introducing new Artisan commands, adding Resend mail transport, integrating
PHP ユーザーエージェントの取得($_SERVER、HTTP_USER_AGENT、sec-ch-ua、sec-ch-ua-mobile、sec-ch-ua-platform)) 基本 ・・・詳細は他のサイトで確認すること。色々と情報(2022年2月時点)を漁った所感 セキュリティ対策の一環としてユーザーエージェントの取得を細分化するっぽい ※「フィンガープリンティング」っていう技術を悪用する人がいるっぽい(ユーザーエージェントをゴニョゴニョして何かするらしい) Chromeが頑張っているっぽい ※「2021年10月」あたりの記事で「2023年4月」に諸々完了予定・・・とか 他のブラウザも追随したり、独自でやるような感じっぽい(足並みは揃わないみたい) 「User-Agent Client Hints」というものに変わるっぽい(sec-ch-ua、sec-ch-ua-mobile、sec
背景 PHPUnit を使っていると、関数をモックにしたい場面があります。 一般には下記のように実装します。 Mockery::mock('class name')->shouldReceive('method')->withArgs($param)->andReturn($returnValue); こういった書き方では返り値が決め打ちになっています。 ほとんどの場面では、返り値は固定値で問題ないはずですが、今目の前で、動的に返り値が決まっていたほうが都合がいい場面が起こったので調べてみました。 andReturnUsingを利用する ありました。andReturnUsingという関数を使えばいいです。 書き方はコールバックを受け取り、コールバックの引数をモック化したい関数の引数と同じにします。 あとはそのコールバックの返り値を計算してreturnするだけで返り値を指定できます。 Moc
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く