[フレーム]
1 - 25 件 / 25件
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
0 time_nanosleep <internal>:-1 1 PhpProfiler\Lib\Loop\LoopMiddleware\NanoSleepMiddleware::invoke /home/sji/work/php-profiler/src/Lib/Loop/LoopMiddleware/NanoSleepMiddleware.php:33 2 PhpProfiler\Lib\Loop\LoopMiddleware\KeyboardCancelMiddleware::invoke /home/sji/work/php-profiler/src/Lib/Loop/LoopMiddleware/KeyboardCancelMiddleware.php:39 3 PhpProfiler\Lib\Loop\LoopMiddleware\RetryOnExceptionMiddlew
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? PHPは長きにわたり同期的、すなわち、あらゆる処理を上から順に実行していくというスタイルを取ってきました。 しかしたとえば、複数のURLからデータを取ってきて結果をまとめたいといった場合、時間のかかるHTTPリクエストは同時に投げたいですよね。 この用途にはGuzzleというライブラリが存在し、これを使えば同時にリクエストを投げられます。 しかし、ではHTTPアクセスとDBアクセスを同時にやりたい場合は? 時間のかかる計算を裏でやりたい場合は? などと考え始めると、こういった個別のライブラリでは対処しきれません。 ということで汎用的な非
PHP カンファレンス 2020 の発表資料 本番で使ったものにスタイルの修正 / リンクの追加など若干の手直しを入れています 本番でうまくデモが動かなかったので、後から録画を幾つか上げています https://twitter.com/sji_ch/status/1337774274606555141 https://twitter.com/sji_ch/status/1337690042165149697 https://twitter.com/sji_ch/status/1337693697907933186
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
株式会社インフィニットループは今年も The PHP Foundation に寄付をしました こんにちは、仙台支社のいがらしです。インフィニットループは前回、前々回に引き続き、今年も会社として、The PHP Foundation に寄付をしました。 TL;DR この記事では以下について述べています。 The PHP Foundation は PHP そのものの開発を支援する団体で、多くの成果をあげてきました 言語の継続性と更なる発展には私たちに限らず、多くの企業からの支援が必要です PHP の存続と発展のため、みなさんの会社でもぜひ寄付を検討してみてください 勝率を上げる賭け方がある 現代人はとても忙しく、世にはありとあらゆる種類の情報があふれており、限られた時間の中で読める文章の量は限られています。 今、冒頭の 3 行まとめを乗り越えてこの記事を読み進めているあなたは、きっと PHP
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
Reli を使った PHP 7.x/8.x サービスの計測 こんにちは。やまゆです。 サービスをリリースするにあたり、事前のシナリオテスト・負荷試験はなくてはならない項目です。 そこで主に API ごとの成功率、レイテンシ(リクエストしてからレスポンスが返ってくるまでの時間)、レスポンスサイズなどを計測し、想定されるユーザー数でも快適に遊べることを保証できるように改善を加えていきます。 改善の際、重くない部分をチューニングしてもほとんど効果が出ないので、「この API のどの部分(関数)に時間がかかっているのか?」を知ることが重要です。 それらを実際に動作している環境で計測し、可視化することを「プロファイリング」と呼ぶことがあります。 これは、ターゲットとする機能の実行時間について、「このメソッドに何秒かかった」や「全体の x % がこのメソッドで消費されている」などを確認するための仕組み
不定期刊行 PHP ニュース 2023年2月10日号 インフィニットループ仙台支社のプログラマー、いがらしです。 PHP 界隈の気になったことをまとめ、不定期に宮城県仙台市からお送りします。前回出したのは昨年 11 月 29 日でした。 ※(注記) なお、画像のPHP ロゴは作者の Colin Viebrock さんによってリリースされ、CC BY-SA 4.0 でライセンスされているものです。 php-src / internals PHP 8.2 Released! PHP 8.2 がリリース現在は 8.2.2 まで出ている All PHP 7.x versions are now EOL PHP 7.4 のサポートが終了 PHP RFC: Readonly amendments PHP 8.2 で入った readonly class の修正提案の投票が終了非 readonly で継承可能にす
今年度も PHP Foundation に寄付をしました こんにちは、仙台支社のいがらしです。インフィニットループは今年度も会社として、The PHP Foundation に前年度と同額の寄付をしました。アイコンのテンションがやたらとアゲアゲになっているのは、実際に支払いの手続きをした弊社のえらい人の犯行みたいです。いいぞもっとやれ。 TL;DR この記事では以下について述べています。 The PHP Foundation は PHP そのものの開発を支援する団体です 弊社を含め、日本でも何社もの企業が支援を行っています PHP の存続と発展のため、みなさんの会社でもぜひ寄付を検討してみてください 今回の寄付について 前回寄付時からの繰り返しとなりますが、弊社インフィニットループはかねてより PHP を業務で使用してきており、PHP の言語としての発展と継続にその利益をある程度依存してい
帰ってきた PHP ニュース 2022年11月29日号 インフィニットループ仙台支社のプログラマー、いがらしです。 PHP 界隈の気になったことをまとめ、かつてはだいたい月一くらいで宮城県仙台市からお送りしておりました。 うかうかしている間に前回から 3 〜 4 年くらい経った気がしますが、皆さまいかがお過ごしでしょうか。 少し間があいたのはあまり気にしないことにして、PHP 界隈の最近気になったことをまとめます。 ※(注記) なお、画像のPHP ロゴは作者の Colin Viebrock さんによってリリースされ、CC BY-SA 4.0 でライセンスされているものです。 php-src PHP 8.2.0RC6 available for testing https://externals.io/message/118992PHP 8.2.0 RC6 がリリースされた今年は当初予定より追加で
この記事は GRIPHONE Advent Calendar 2020 11日目の記事です。 サーバーサイドエンジニアのtackです。 最近リリースされたPHP8が爆速ということで、PHP7からPHP8にするとどれぐらい実行速度が早くなるのか、また、移行はどれぐらい大変なのかをStudio MGCMより提供されているマジカミを使って試してみようと思います。 サーバー環境 現在使われているサーバー環境は以下の様になっています。 PHP7系CodeIgniter3MySQLRedis これをPHP8.0にアップデートして、パフォーマンスを比較していきます。 PHP 8.0.0 (cli) (built: Nov 24 2020 17:04:03) ( NTS gcc x86_64 ) Copyright (c) The PHP Group Zend Engine v4.0.0-dev, Cop
PHP 8.1 was released on November 25, 2021. It's currently the latest PHP version. In this post, we'll go through all features, performance improvements, changes and deprecations one by one. # New features As with every release, PHP 8.1 adds some nice new features. Keep in mind that this list will grow over the year. # Enums RFC Enums will be added in PHP 8.1! If you're unsure what they can be used
その他の下位互換性のない変更 match が予約語になりました。 mixed が予約語になりました。 よって、クラスやインターフェイス、 トレイトの名前として使えなくなっています。 名前空間の中であっても同様です。 アサーションに失敗すると、デフォルトで例外をスローするようになりました。 古い振る舞いを望む場合、php.ini で assert.exception=0 と設定できます。 クラス名と同じ名前のメソッドは、コンストラクタと解釈されなくなりました。 __construct() メソッドを代わりに使って下さい。 static でないメソッドを、staticメソッドとしてコールできる機能が削除されました。 static でないメソッドをクラス名を使ってチェックした場合、 is_callable() は失敗します。 (オブジェクトのインスタンスを使ってチェックしなければいけません) (
trait は当初 2008 年に PHP の言語開発者コミュニティへ提案され、長い議論期間を経て 2012 年リリースの PHP 5.4 で導入された機能です。 それから 10 年がたち、trait は「ちょっと試しに使ってみよう」というものから、各開発現場において使われる中で少しずつその立場を変えてきました。 さて、実際どのように変わったのでしょうか? 先日、今年に出る PHP 8.2 へ向けて言語機能追加の RFC を提出しました。PHP の trait で定数を定義できるようにするというものです。 静かな議論期間を経ての RFC の投票開始後、PHP の開発者向けメーリングリストから最初に得られたのは驚くべきリアクションで、要約すると次のようになります。 「trait は言語にとってまったく不要なものであり、使われるべきでないものを改善すべきではない」 続々と RFC に No の
こんにちは、コンサル部@大阪オフィスのTodaです。 11月26日にPHPのメジャーバージョン「8.0」がリリースされました。 メジャーバージョンアップということで言語仕様の見直しやコードの実行時間を短縮するため頻繁に利用されるコードをコンパイルして実行時間を短縮できる機能(JIT)など実装されているようです。 まずは試してみたいということでサクッと導入をしてみたいと思います。 前提条件 AmazonLinux2のAMIを利用したEC2インスタンスを新規起動して利用します。 テストのためセキュリティに関する設定なしで進めます。 目標 WebサーバとPHP8を導入してPHPinfoをブラウザ画面に表示する。 事前確認 11月28日時点では、amazon-linux-extrasにはPHP8はないためPHP8が利用できるYumリポジトリを設定して対応いたします。 $ sudo amazon-l
はじめに ここ数年TypeScriptを使うことが多かったのですが、今度案件でLaravel(PHP8)を使うことになりました。 いつもの調子で書いているとバグを生みそうだと感じたので、間違えそうな箇所を中心にそれぞれの言語の差異をまとめてみました。 wiki的な使い方ができればと思いますので、誤りや追加すべき事項がありましたらご指摘ください。 目次 データ型の比較 型宣言の比較 変数の比較 演算子の比較 関数の比較 クラスの比較 データ型の比較 Bool型の判定 // 差異がない判定 console.log(!!("")); // false console.log(!!(0)); // false console.log(!!(null)); // false console.log(!!(1)); // true console.log(!!(-2)); // true consol
お絵かき掲示板POTI-board改二は、PHP5.5からPHP8.xで動作するPHPスクリプトをめざして開発をすすめています。 PHP8は2020年11月にリリースされました。 PHP8でもPOTI-board改二は動作しますか? 重大な問題が2点みつかりました。 その2点の問題を修正した、PHP8対応版を2021年1月2日に公開しました。 PHP8対応版へのアップデートを私達はPHP8でも動くように注意深くお絵かき掲示板の開発をすすめてきました。 しかし...。 1つ目の問題。 お絵かきした画像が投稿できなくなる問題がみつかりました。 お絵かき掲示板の動画保存機能が動作している時には発生しないエラーだったため発見が遅れました。 画像から続きを描いたり、アニメーション記録のチェックを外して描くと「画像がありません」というエラーになります。 2つ目の問題。 投稿ボタンを押したあとのHTMLファ
息の長いサービスの PHP8バージョンアップで見えた 課題と解決法 / Problems and solutions found when upgrading long-term services to PHP8
class A{ public static int $hoge = 1; // 普通のクラス変数 public function foo(){ static $foo = 1; // ← これ return $foo++; } } $a = new A(); $a->foo(); // 1 $a->foo(); // 2 $a->foo(); // 3 関数・メソッド内でstaticを付けて変数定義すると、その変数値はプログラムが終了するまでずっと保持されます。 イメージとしては、関数ローカルのクラス変数みたいなかんじでしょうか。 そしてこの静的変数、クラス変数と並べてみると動作がほんのり微妙に異なっているんですよね。 class A { public static int $hoge = 1; public function foo() { static $foo = 1; retur
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く