[フレーム]
1 - 34 件 / 34件
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
こんにちは。 私は結構Laravelを使用してシステム開発をすることが多いのですが、例えば「UserController::class」とか「Item::class」のように、クラス名の後にclass がつくことがあります。 何となく使っているけど、これは結局なんだろう?ということで調べてみました。 前提 App\Http\Controllers\UserControllerというクラスを定義している。 UserController::classの正体は? # UserControllerをインポートして use App\Http\Controllers\UserController # UserControllerのインスタンスを作って $controller = new UserConrroller() # ::classを出してみる echo $controller::class 出
さてさて、「プログラミング言語」と一口に言っても世の中にはPHP以外にもPyhonやJavaなどたくさんのものが存在しています。 そして、そんな他の言語を使ったことがある人なら、(きっと)思うこと。 それは・・・・・・ あっちの言語だったらできたのにな...😅 です。 結構前ですが、私はAndroidアプリを開発していたのですが、そのとき「これ便利だな」と感じていたのが今回テーマの Enum(いーなむ) です。 Enumとは、簡単にいうと「先にグループのメンバーを決めておく」仕組みです。 例えば、十二支で見てみましょう。 子 丑 寅 卯 辰 巳 午 未 申 酉 戌 亥 もちろんですが、この中には「パンダ」や「カモノハシ」は入ることはできません。もうグループ・メンバーが決定しているからです。 では、なぜグループ化するのかというと「予期せぬ値を扱わないようにできる」というメリットがあるからですね
PHPの最新版「8.0.0」が正式リリースされました。 PHP 8.0 is a major update of the PHP language. It contains many new features and optimizations including named arguments, union types, attributes, constructor property promotion, match expression, nullsafe operator, JIT, and improvements in the type system, error handling, and consistency. https://www.php.net/releases/8.0/en.phpJITによりPHP7に比べ高速化されているPHP8.0.0は実行時のコンパイラJIT
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
Laravel の開発環境構築には https://laravel.build/example-app を使いましょう curl -s "https://laravel.build/example-app" | bash cd example-app ./vendor/bin/sail up -d これだけです。 Laravel11 + php8.4 の環境もすぐに用意できます。 なお、冒頭のコマンドは実行に数分かかります。 またコマンド終了直前に管理者パスワードを求められるます。 Please provide your password so we can make some final adjustments to your application's permissions 以下蛇足です。 curl -s "https://laravel.build/example-app" | b
Symfony5.3でEntityを make:entity 使って生成したらannotationで生成されてしまいました。 せっかくphp8使っているのに...😇 <?php namespace App\Entity; use App\Repository\HogeRepository; use Doctrine\DBAL\Types\Types; use Doctrine\ORM\Mapping as ORM; /** * @ORM\Entity(repositoryClass=HogeRepository::class) */ class Hoge { /** * @ORM\Id * @ORM\GeneratedValue * @ORM\Column(type="integer") */ private ?int $id; public function getId(): ?int {
2021年の11月にPHP8.1がリリースされました。 PHP8がリリースされたのは2020年の11月のことなので、WordPressで運用しているサイトも、そろそろPHP8への移行を考えても良い頃になります。しかも現在多く使われているPHP7.4は、2022年11月28日でサポートが終了してしまう予定となっているので、余計にPHP8を検証する必要が。。。 ・Supported Versions(PHP 公式サイト) https://www.php.net/supported-versions.php 共用サーバーのエックスサーバーもPHP 8.1に対応したということなので、試しにWordPress 6.0.1(2022年7月現在最新バージョン)で運用しているサイトのPHPを7.4.28 から PHP 8.1にアップグレードしてみました。 このサイトで重大なエラーが発生しました PHP 8
お客さま各位 平素よりさくらインターネットに格別のご愛顧を賜り、誠にありがとうございます。 「さくらのレンタルサーバ」「さくらのマネージドサーバ」において、2021年7月8日よりPHP8の提供を開始いたしました。 詳細は下記をご参照ください。 さくらインターネットでは、今後もよりよいサービスの提供が行なえますよう、精一杯努めてまいります。引き続き変わらぬご愛顧を賜りますようお願い申し上げます。 「さくらのレンタルサーバ」「さくらのマネージドサーバ」におけるPHP8の提供について 概要 PHPの最新バージョンであるPHP8は、PHP7.4と比較してWordPressなどのPHPアプリケーションの処理速度が高速化しており、お客さまの環境やPHPアプリケーションによっては、パフォーマンスの向上が期待できます。 PHP7.4とPHP8の変更点については以下ウェブサイトをご確認ください。その他のバー
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く