All-in-one Framework Stunning error messages ∙ Stress Testing ∙ Beautiful documentation ∙ Colorful console output ∙ API inspired by Ruby's Rspec and Jest ∙ Mutation Testing ∙ --profile for performance analysis ∙ Built-in --coverage reports ∙ Native --parallel support ∙ Interactive --watch mode. Productive Testing Repeat tests with different data with datasets ∙ --drift your PHPUnit test suite in s
Speaker Deck This deck requires a password Password
Getting Started Introduction A simple tutorial Language Reference Basic syntax Types Variables Constants Expressions Operators Control Structures Functions Classes and Objects Namespaces Enumerations Errors Exceptions Fibers Generators Attributes References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Predefined Attributes Context options and parameters Su
1/ What's new?The list of changes and improvements is long, check the complete changelog if you are interested in reading it all. I will highlight a few key points here. Performance improvementsWe overhauled pretty much everything from the protocol used between Composer and packagist.org to the dependency resolution, including downloading files in parallel using curl and constraint evaluation opti
Original article:https://blog.packagist.com/composer-2-0-is-now-available/ もはやPHPには欠かせないパッケージマネージャであるComposerですが、2020/10/24にComposer2.0.0がリリースされました。 2012年のリリース以来初めてのメジャーバージョンアップということで、多くの改善や新機能が盛り込まれており、そして互換のない変更点もわずかに存在します。 以下は公式でもアナウンスされている、Jordi Boggianoによる紹介記事Composer 2.0 is now available!の日本語訳です。 Composer 2.0 is now available! 1/ What's new? 何が新しくなったの? 変更点や改善点は非常に多岐にわたるので、全てを知りたい場合は変更履歴を確認して
This RFC proposes adding a new match expression that is similar to switch but with safer semantics and the ability to return values. From the Doctrine query parser: // Before switch ($this->lexer->lookahead['type']) { case Lexer::T_SELECT: $statement = $this->SelectStatement(); break; case Lexer::T_UPDATE: $statement = $this->UpdateStatement(); break; case Lexer::T_DELETE: $statement = $this->Dele
PHP 7.0のリリースから約5年が経過し、そろそろPHP 8.0のリリースも見えてきました。人によっては使い始めて5年目になるはずのPHP 7.xですが、いまだに新しい発見があったりして面白いですね。 本稿ではPHP 7.0から入った定数配列に関する性能改善について紹介します。 PHP 5時代は配列の組み立てコストが大きかった プログラミング上のテクニックとして、辞書データを連想配列としてプログラム中に記述し、これを必要に応じて使うというものがあります。たとえば次のコード例を見てみましょう。このような連想配列を持っておけば、プログラム中で国名コードをを扱う際に実在するかをチェックしたり、国名の日本語表記に変換したりといった処理ができるわけです。 <?php $country_name = [ 'jp' => '日本', 'us' => 'アメリカ合衆国', 'ru' => 'ロシア連邦'
Welcome In the world of PHP programming, a set of trends are massively being propagated by some people (in their books and on websites) as “Modern PHP” while all other approaches are frowned upon as backward, stupid, or just plain wrong. These people seem to work tirelessly at getting other people to follow their way of doing things. This website has been created in an attempt to present a pragmat
結果は順にtrue、true、falseです。 これがPHP7までの非厳密な比較(等価)演算子だったわけですが、まあおかしいよねってことで、この挙動がPHP8.0で変更になることになりました。 よもや今さら基本中の基本である比較演算子の動作を弄ってくるとは思わなかったぞ。 以下はSaner string to number comparisonsの日本語訳です。 PHP RFC: Saner string to number comparisons Introduction ==やその他の非厳密な比較演算子を用いた文字列と数値の比較は、現在は、文字列を数値にキャストし、その後整数か浮動小数の比較を行っています。 この結果、多数の不可解な結果が得られますが、中でも注目すべきは0 == "foobar"がtrueになることです。 このRFCでは、文字列が実際に数値型文字列である場合にのみ数値型
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く