[フレーム]
1 - 40 件 / 104件
タグ検索の該当結果が少ないため、タイトル検索結果を表示しています。
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
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アクセスを同時にやりたい場合は? 時間のかかる計算を裏でやりたい場合は? などと考え始めると、こういった個別のライブラリでは対処しきれません。 ということで汎用的な非
PHP8.2 / PHP8.1 / PHP8.0 / PHP7.4 2021年11月26日にリリースされました 2021年07月20日、PHP8.1がフィーチャーフリーズしました。 言語機能に関わるような機能の追加・変更が締め切られたということです。 今後はデバッグを繰り返しながら完成度を高めていき、2021年11月25日にPHP8.1.0がリリースされる予定です。 というわけでPHP8.1で実装されるRFCを見てみましょう。 RFC Fibers 賛成50反対14で受理。 Fiberです。 PHPで非同期コードを書けるようになります。 $fiber = new Fiber(function (): void { $value = Fiber::suspend('fiber'); echo "レジュームした。$value: ", $value, "\n"; }); $value = $fiber
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
PHP 8.1へのアップグレードにまつわるまとめ PHP 8.1へのアップグレードには、mbstringにまつわるマニュアルに記述されない後方互換性のない変更が含まれることがあります。そのことを周知するべく、この記事を書くことにしました。 私てきめんは、PHPカンファレンス 2022にて、「治っていくmbstring 令和時代の文字化け」というタイトルでトークしています。以下スライドも参考にしてください。 Major overhaul of mbstringについて PHP 8.1から、Major overhaul of mbstringと呼ばれる、mbstringの大規模改修の内容が反映されるようになりました。困ったことに、RFC(Request For Comments)やChangelog、マニュアルにない内容で、mbstringを多用するPHPユーザーにとてつもない困惑をもたらすこ
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
PHP Conference Japan 2022 https://fortee.jp/phpcon-2022/proposal/8f29f20e-1275-49eb-89c0-fe684e28d110
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文字以上
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
交差型は何かって一言で言うと型のANDです。 PHP8.0で型のORことUNION型が導入されましたが、これに続いてPHP8.1で交差型が導入されることになりました。 これでPHPでも型パズルマウント取れるようになりますね。 ということで以下はPure intersection typesの紹介です。 PHP RFC: Pure intersection types Introduction 交差型とは、型がひとつの制約ではなく、複数の制約を同時に満たすことを必要とする型です。 交差型は、現在のところ言語ネイティブには対応していません。 かわりにphpdocアノテーションを使用したり、型付きプロパティを濫用したりしています。 class Test { private ?Traversable $traversable = null; private ?Countable $countabl
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
PHPerKaigi2024で登壇したときの資料です。 https://fortee.jp/phperkaigi-2024/proposal/ae2ded4d-8e7e-47a0-85d1-26a8c92308ac
PHP8.5 / PHP8.4 / PHP8.3 / PHP8.2 / PHP8.1 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("電話
こんにちは、配配メール開発チームのid:takaramです。 毎年11月ごろに新しいメジャーバージョンがリリースされるPHPですが、今年2025年11月(予定)にリリースのPHP 8.5に新機能「パイプ演算子」が導入されることが決まりました🎉 リリースはまだ先ですが、8.5の目玉となるであろうこの機能を一足早く紹介していきます! ⚠️この記事の内容は、2025年6月現在開発中の仕様に基づいています。PHP 8.5リリースまでに変更になる可能性がありますのでご了承ください。 パイプ演算子の基本 パイプ演算子の活用法を考えてみる 高階関数を利用した活用例 今後の展望(Future scope) まとめ パイプ演算子の基本 新しい演算子|>が導入されます。左辺の値を引数として右辺のcallableを実行します。 <?php // この2行は同じ意味 $result = "Hello World
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
PHP カンファレンス 2020 の登壇のために PHP 8 で JSON パーサを書いてみました。 https://github.com/shin1x1/php8-toy-json-parser いくつか PHP 8 の新機能を使ったのでその雑感です。 Constructor Property Promotion Named arguments Union Types Match expression Attribute さいごに Constructor Property Promotion https://www.php.net/releases/8.0/en.php#constructor-property-promotion TypeScript のようにスッキリ書けるのが良いです。 コンストラクタ仮引数にアクセス修飾子を足すだけなので、慣れないと一瞬戸惑うかもしれません。以前 T
PHP8.3 / PHP8.2 / PHP8.1 / PHP8.0 2022年12月08日にPHP8.2.0がリリースされました。 大きな新機能については、PHP8.0以降公開されるようになったランディングページで見ることができます。 ここでは、概要だけではなくUPGRADINGに載っている変更点を全部見て回ることにします。 Backward Incompatible Changes 下位互換性のない変更点。 Date DateTime::createFromImmutable() now has a tentative return type of static DateTime::createFromImmutable()の返り値の型がstatic型になりました。 以前はDateTime型でした。 これはphpstanのバグへの対応です。 class CustomDateTimeImmu
サイボウズのGaroon(ガルーン)は今年で20周年を迎えるグループウェアです。 このセッションでは、20年にわたって開発が続いている巨大なレガシープロダクトのPHPバージョンを7.4から8.0にアップデートした際に得られた知見についてお話しします。 Garoonはさまざまな組織を支えるグループウェアであり、お客様の業務にまつわるデータをお預かりする性質上、セキュリティの確保が重要な課題です。 そのため毎年欠かさずにPHPのメジャー/マイナーアップデートを行い、常に最新のセキュリティ更新を取り込める状態を保っています。 しかしGaroonはPHP4系の時代から脈々と開発が続いているため、コードベースは巨大でありレガシーなコードが多分に含まれています。 さらにPHP本体にパッチを当てて自前でビルドしていることもあり、PHPのバージョンに対する依存度も高いです。 今年はPHP7.4からPHP8
はじめに PHPはプログラミング言語です。1995年に世に出てからこれまで多くの開発者に利用され、様々なソフトウェアを生み出してきました。 学習コストが低く手軽に実行できるトレードオフとして、バグを生み出しやすいコードになりやすかったりパフォーマンス上の懸念から大規模なアプリケーション開発に使うものではないという認識は結構あるのではないかと思っています。 しかしながら2021年現在の最新のメジャーバージョンであるPHP8では、機能面やパフォーマンス面においても大規模開発に対して十分使えるものになっていると個人的には思ってます。 今回は今PHPを使っている開発者やこれからPHPを使う予定の方、あるいは「PHPなんて興味ないけどどういう仕組みなのかは見てやろうじゃないか」と思っているような方にも、PHPの内部ってこういう感じで動いているんだっていうイメージを掴んで頂けたらと思って記事にしてみま
Cubbit @cubbit2 へーPHPも進化してきたねーと褒めようと記事を開いたらこのザマですわ...... 被告人は市中引き回しのうえ打首獄門とする 【PHP8.2】PHP8.2でジェネリクスが導入された qiita.com/rana_kualu/ite... #Qiita 2024年02月29日 02:20:32 リンク Qiita 【PHP8.2】PHP8.2でジェネリクスが導入された - Qiita PHP 8.2 新機能の概要とコード例4. ジェネリクスPHP 8.2 では、ジェネリクスのサポートが導入されました。ジェネリクスを使用すると、コードの再利用性が向上し、型安全性も確保されます。... 16 users 11
2月14日、PHPフレームワークLaravelの最新バージョンLaravel 10がリリースされた。 Laravel 10 is now released! -Laravel News Laravel 10ではPHP 8.0のサポートが終了となり、利用するにはPHP 8.1が必要で、読み取り専用プロパティなど、8.1の機能を使った開発が可能となる。またLaravel Pennantというパッケージが新たに追加された。これはフィーチャーフラグを利用できるパッケージ。フィーチャーフラグはDevOpsでよく使われる機能で、アプリケーションの機能を段階的にロールアウトしたり、新しいインターフェース設計のA/Bテストを手軽にできるようになる。 そして新たなLaravel Processサービスのプロセスレイヤーは、CLIプロセスのテストと実行をサポートする豊富な機能を提供する。このほかLaravel
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
ウェブサイトなどで利用されているオープンソースのプログラミング言語・PHPのメジャーアップデート「PHP 8.0.0」がリリースされました。コードの実行時間短縮が見込める実行時コンパイラ(JIT)や複数の型に対応できるユニオン型など、多数の新機能が実装されています。 PHP: PHP 8.0.0 Release Announcement https://www.php.net/releases/8.0/en.php ◆だいやまーくJIT PHP 8で新しく搭載された機能のひとつが、、頻繁に実行されるコードをコンパイルしておくことでプログラムの実行速度を向上させるJITです。PHP 8にはトレーシングJITと関数単位のJITの2種類のJITが組み込まれており、トレーシングJITを使った場合のパフォーマンスはJITなしの場合と比較してベンチマークでおよそ3倍、実行時間が長いアプリケーションでおよそ1.5〜
弊社で毎月開催し、PHPエンジニアの間で好評いただいているPHP TechCafe。2023年8月のイベントでは「PHP8.3の新機能」について語り合いました。弊社のメンバーが事前にまとめてきた情報にしたがって、他の参加者に意見を頂いて語り合いながら学びました。今回はその内容についてレポートします。 rakus.connpass.com PHP8.3 新機能について Marking overridden method オブジェクトを継承していることを示すattributeが追加 ※(注記)プロパティのオーバーライドは対象外 Type Class Constants class、interface、trait、およびenumの定数に型を設定できるようになった ※(注記)継承しているクラス定数の型を拡張することはできない。 mb_str_pad str_padのマルチバイト用関数が追加 Dynamic cla
30; }, handleResize() { if (window.innerWidth >= 1024) { this.mobileOpen = false; this.dropdownOpen = 'none'; } }, checkAnnouncementBanner() { const announcementBanner = document.querySelector('.announcement-banner') || document.querySelector('.announcement-banner--large'); if (announcementBanner) { this.hasAnnouncementBanner = true; } else { this.hasAnnouncementBanner = false; } } }" x-init="chec
環境 PHP 8.1.0 myclabs/php-enum 1.8.3 myclabs/php-enumを使って作った下記のサンプルコードを列挙型(Enum)に置き換えられるか試してみたいと思います。 declare(strict_types=1); use MyCLabs\Enum\Enum; class Cardsuit extends Enum { public const CLUBS = 1; public const DIAMONDS = 2; public const HEARTS = 3; public const SPADES = 4; public function label(): string { return match($this->value) { self::CLUBS => 'クラブ', self::DIAMONDS => 'ダイヤモンド', self::H
PHPが5年ぶりにメジャーバージョンアップ。JITコンパイラ採用で高速化などを実現した「PHP 8」正式版リリース Webアプリケーションの開発言語として知られる「PHP」の最新版「PHP 8」が登場しました。 「PHP 7」が登場したのは2015年12月でしたので、5年ぶりのメジャーバージョンアップ。1995年にPHPの起源となる「Personal Home Page Tools」が登場して今年で25年となります。 Look at this! PHP 8 is released. Whoop! https://t.co/fylb7Gqmjy Thanks to all the developers who have made this possible! Photo by @heiglandreas pic.twitter.com/Lli7OmxJhZ — php.net (@offic
configure README はこちら あまり検証結果ブレさせたくないので、可能な限りconfigureオプションは何も設定せずMakeしていきます。 $ ./configure ... 省略 ... configure: error: Please specify the install prefix of iconv with --with-iconv=<DIR> とりあえずiconvは求められたので指定します。 $ brew --prefix libiconv /usr/local/opt/libiconv $ ./configure --with-iconv=/usr/local/opt/libiconv ... 省略 ... +--------------------------------------------------------------------+ | License: |
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く